Sau khi cài đặt lại/cài mới Windows, người dùng cần cài đặt các phiên bản driver mới nhất cho các thiết bị trên máy tính. Người dùng phải tự tìm, tải xuống và cài đặt các driver cần thiết. Tuy nhiên, có một cách dễ dàng hơn để cài đặt driver thiết bị trên Windows 10 và 8.1. Bạn có thể sao lưu (xuất) tất cả driver đã cài đặt trước khi cài đặt lại Windows và sử dụng bản sao lưu đó để cài đặt nhanh tất cả driver trên bản Windows sạch.
Trong bài viết này, chúng tôi sẽ chỉ cho bạn các cách cơ bản để sao lưu và khôi phục tất cả driver đã cài đặt trong Windows bằng công cụ tích hợp (DISM, pnputil.exe hoặc cmdlet PowerShell Export-WindowsDriver).
Nội dung:
- PowerShell: Sao lưu Driver bằng Cmdlet Export-WindowsDriver
- Sao lưu Driver trên Windows 10 bằng DISM
- Xuất Driver thiết bị đã cài đặt bằng PNPUtil
- Cách Khôi phục Driver thiết bị trên Windows 10?
PowerShell: Sao lưu Driver bằng Cmdlet Export-WindowsDriver
Trên Windows 10 và Windows Server 2019/2016, bạn có thể sử dụng cmdlet Export-WindowsDriver PowerShell để xuất tất cả driver của bên thứ ba (non-Microsoft) đã cài đặt trên thiết bị trực tiếp từ Driver Store. Cmdlet này cho phép bạn đơn giản hóa và tăng tốc đáng kể quá trình cài đặt lại Windows. Trước đây, để tạo bản sao lưu driver đã cài đặt, bạn phải dùng ứng dụng bên thứ ba (như DoubleDriver, DriverMax, v.v.).
Để xuất tất cả driver bên thứ ba đã cài đặt trực tiếp từ image Windows 10 online hiện tại, hãy mở console PowerShell với quyền administrator và chạy lệnh sau:
Export-WindowsDriver –Online -Destination c:\export-drivers
Nếu bạn cần trích xuất driver từ image Windows offline đã mount, lệnh sẽ như sau:
Export-WindowsDriver -Path c:\win_image -Destination c:\export-drivers
Sau khi chạy cmdlet, màn hình hiển thị thông tin về tất cả driver bên thứ ba đã xuất. Bạn sẽ nhận được bản sao lưu tất cả driver Windows từ thư mục C:\Windows\System32\DriverStore\FileRepository\. Mỗi driver và tất cả file liên quan được lưu trong thư mục riêng, được đặt tên theo tên file INF của driver.

Mỗi thư mục chứa tất cả file cần thiết để cài đặt driver (không chỉ file *.inf, mà còn các file *.sys, *.dll, *.exe và các loại file khác). Cmdlet Export-WindowsDriver xây dựng danh sách file cần thiết để cài đặt driver như được chỉ định trong phần CopyFiles của file inf driver.

Để hiển thị danh sách driver đã lưu dưới dạng bảng thuận tiện với lớp, nhà cung cấp và phiên bản driver, hãy xuất driver bằng hai lệnh:
$BackupDrv = Export-WindowsDriver -Online -Destination c:\export-drivers
Sau đó hiển thị kết quả dưới dạng bảng:
$BackupDrv | Select-Object ClassName, ProviderName, Date, Version | Sort-Object ClassName
Như bạn thấy, bảng kết quả hiển thị lớp driver, nhà sản xuất, phiên bản và ngày.

Bạn có thể lưu thông tin về driver đã xuất vào file CSV:
$BackupDrv| Select-Object ClassName, ProviderName, Date, Version |Export-Csv c:\ps\backup_drivers_list.txt
Bạn có thể liệt kê driver cho một lớp thiết bị cụ thể bằng thuộc tính ClassName. Ví dụ, để chỉ liệt kê driver máy in, chạy lệnh sau:
$BackupDrv | where { $_.classname -like "printer" }
Để hiển thị danh sách driver của một nhà cung cấp cụ thể, sử dụng lệnh:
$BackupDrv | Where{ $_.ProviderName -Match "NVIDIA"}

Bạn có thể đặt tên thư mục driver theo mẫu máy tính và lưu bản sao lưu driver vào thư mục chia sẻ mạng nơi bạn lưu driver cho tất cả mẫu máy tính. Trong trường hợp này, sử dụng lệnh:
Export-WindowsDriver -Destination "\\mun-fs01\drivers\desktop\$((Get-WmiObject -Class win32_computersystem).Model)" -Online

Như bạn thấy, một thư mục đã được tạo với tên mẫu máy tính và tất cả driver được xuất vào đó.
[/alert]
Sao lưu Driver trên Windows 10 bằng DISM
Bạn cũng có thể sử dụng DISM.exe để sao lưu driver và nhập chúng vào image Windows. Để xuất tất cả driver vào thư mục C:\export-drivers, hãy mở command prompt nâng cao và chạy lệnh:
dism /online /export-driver /destination:C:\export-drivers
Exporting 1 of 24 – oem0.inf: The driver package successfully exported.

Như bạn thấy trong ví dụ của chúng tôi, công cụ DISM đã xuất thành công 24 driver vào thư mục được chỉ định.
Xuất Driver thiết bị đã cài đặt bằng PNPUtil
Bạn có thể quản lý driver thiết bị trên máy tính bằng công cụ tích hợp PNPUtil.exe. Công cụ này thường được dùng để thêm hoặc xóa driver trong Windows (trước đây chúng tôi đã trình bày cách xóa driver thiết bị cũ và không sử dụng khỏi Windows Driver Store để tiết kiệm dung lượng ổ cứng). PNPUtil cũng có thể dùng để xuất driver từ kho Windows.
Mở command prompt nâng cao và chạy lệnh:
pnputil.exe /export-driver * c:\export-drivers

Driver từ thư mục kết quả có thể được triển khai đến thiết bị khác thủ công bằng PowerShell, PNPUtil, DISM (Cách slipstream driver vào image Windows), hoặc tự động với MDT, SCCM, v.v.
Với pnputil, bạn chỉ có thể xuất một driver thiết bị cụ thể. Để làm điều này, bạn cần lấy tên file INF của nó.
Lấy danh sách đầy đủ các driver đã cài đặt:
pnputil.exe /enum-drivers
Hoặc bạn có thể dùng PowerShell để lọc danh sách driver. Tôi chỉ cần xuất driver card mạng Realtek:
Get-WindowsDriver -Online | where { ($_.ProviderName -like "Realtek") –and ($_.ClassName -like "Net")}
Sao chép tên file inf (oem5.inf) và chạy lệnh sau để xuất file driver:
mkdir c:\drivers\realtek
pnputil.exe /export-driver oem5.inf c:\drivers\realtek
Kết quả, bạn đã xuất file inf card mạng (rt640x64.inf) với tất cả file cần thiết.

Cách Khôi phục Driver thiết bị trên Windows 10?
Bạn có thể sử dụng thư mục chứa bản sao lưu driver thiết bị để cài đặt chúng trên bản Windows sạch (hoặc sau khi cài đặt lại Windows).
Để cài đặt một driver cụ thể, nhấp chuột phải vào file INF và chọn mục menu "Install".

Bạn cũng có thể cập nhật driver thiết bị cụ thể qua Device Manager. Mở console Device Manager (devmgmt.msc), chọn thiết bị mà driver bạn muốn thay thế, nhấp "Update Driver" -> "Browse my computer for driver software". Chỉ định đường dẫn đến thư mục với bản sao lưu driver. Để tự động quét tất cả thư mục con tìm file inf, chọn tùy chọn "Include subfolders".

Tuy nhiên, có cách dễ dàng hơn để cài đặt (nhập) tất cả driver từ thư mục được chỉ định cùng một lúc. Để làm điều này, sử dụng script PowerShell sau:
$drvinffiles = Get-ChildItem -Path "C:\export-drivers\" -Filter "*.inf" -Recurse -File
foreach($drvinffile in $drvinffiles){
$drvinffile.FullName
pnputil.exe -i -a "$drvinffile.FullName"
}
Script PowerShell này lần lượt quét tất cả thư mục trong thư mục được chỉ định, tìm tất cả file inf và cài đặt driver vào Driver Store bằng công cụ PNPUtil.
Pnputil trên Windows 10 cho phép cài đặt tất cả driver từ thư mục được chỉ định (kể cả thư mục con) bằng một dòng lệnh đơn giản:pnputil.exe /add-driver C:\export-drivers\*.inf /subdirs /install
Bạn cũng có thể nhập tất cả driver từ thư mục bản sao lưu vào image Windows offline bằng tham số Add-Driver của công cụ DISM (trong ví dụ này, chúng tôi cho phép cài đặt driver không ký):
DISM /image:c:\win_image /Add-Driver /Driver:C:\export-drivers /Recurse /ForceUnsigned
Hãy chắc chắn sao lưu driver đã cài đặt trước khi cài đặt lại Windows.