หลังจากติดตั้ง Windows ใหม่หรือติดตั้งแบบสะอาด (clean install) ผู้ใช้ต้องติดตั้งเวอร์ชันไดรเวอร์ล่าสุดสำหรับอุปกรณ์ที่ติดตั้งอยู่บนคอมพิวเตอร์ ผู้ใช้ต้องค้นหา ดาวน์โหลด และติดตั้งไดรเวอร์ที่จำเป็นด้วยตนเอง อย่างไรก็ตาม มีวิธีที่ง่ายกว่าในการติดตั้งไดรเวอร์อุปกรณ์บน Windows 10 และ 8.1 คุณสามารถสำรอง (ส่งออก) ไดรเวอร์ที่ติดตั้งไว้ทั้งหมดก่อนติดตั้ง Windows ใหม่ และใช้สำรองดังกล่าวเพื่อติดตั้งไดรเวอร์ทั้งหมดบน Windows ที่ติดตั้งใหม่ได้อย่างรวดเร็ว
ในบทความนี้ เราจะแสดงวิธีพื้นฐานในการสำรองและกู้คืนไดรเวอร์ที่ติดตั้งใน Windows ทั้งหมดโดยใช้เครื่องมือในตัว (DISM, pnputil.exe, หรือคำสั่ง PowerShell Export-WindowsDriver)
เนื้อหา
- PowerShell: สำรองไดรเวอร์ด้วยคำสั่ง Export-WindowsDriver
- สำรองไดรเวอร์ใน Windows 10 ด้วย DISM
- ส่งออกไดรเวอร์อุปกรณ์ที่ติดตั้งแล้วด้วย PNPUtil
- วิธีกู้คืนไดรเวอร์อุปกรณ์ใน Windows 10
PowerShell: สำรองไดรเวอร์ด้วยคำสั่ง Export-WindowsDriver
บน Windows 10 และ Windows Server 2019/2016 คุณสามารถใช้คำสั่ง PowerShell Export-WindowsDriver เพื่อส่งออกไดรเวอร์ของบุคคลที่สาม (non-Microsoft) ที่ติดตั้งอยู่บนอุปกรณ์โดยตรงจาก Driver Store คำสั่งนี้ช่วยให้กระบวนการติดตั้ง Windows ใหม่เป็นเรื่องง่ายและรวดเร็วขึ้นอย่างมาก ก่อนหน้านี้ เพื่อสร้างสำเนาสำรองของไดรเวอร์ที่ติดตั้งบนคอมพิวเตอร์ คุณต้องใช้แอปของบุคคลที่สาม (เช่น DoubleDriver, DriverMax, ฯลฯ)
เพื่อส่งออกไดรเวอร์ของบุคคลที่สามที่ติดตั้งทั้งหมดโดยตรงจากอิมเมจ Windows 10 ออนไลน์ปัจจุบัน ให้เปิดคอนโซล PowerShell ในฐานะผู้ดูแลระบบ และรันคำสั่งต่อไปนี้:
Export-WindowsDriver –Online -Destination c:\export-drivers
หมายเหตุ ไฟล์ไดรเวอร์จะถูกบันทึกไว้ในไดเรกทอรี c:\export-drivers ซึ่งต้องสร้างไว้ล่วงหน้า
หากคุณต้องการแยกไดรเวอร์จากอิมเมจ Windows ออฟไลน์ที่ผูกไว้ คำสั่งควรมีลักษณะดังนี้:
Export-WindowsDriver -Path c:\win_image -Destination c:\export-drivers
หลังจากรันคำสั่ง cmdlet จะแสดงข้อมูลเกี่ยวกับไดรเวอร์ของบุคคลที่สามที่ส่งออกทั้งหมด คุณจะได้สำเนาสำรองของไดรเวอร์ Windows ทั้งหมดจากไดเรกทอรี C:\Windows\System32\DriverStore\FileRepository\ ไดรเวอร์แต่ละตัวและไฟล์ที่เกี่ยวข้องทั้งหมดจะถูกบันทึกในไดเรกทอรีของตัวเอง ซึ่งตั้งชื่อตามชื่อไฟล์ INF ของไดรเวอร์
แต่ละไดเรกทอรีประกอบด้วยไฟล์ทั้งหมดที่จำเป็นสำหรับการติดตั้งไดรเวอร์ (ไม่ใช่แค่ไฟล์ *.inf แต่รวมถึง *.sys, *.dll, *.exe และประเภทไฟล์อื่นๆ) คำสั่ง Export-WindowsDriver จะสร้างรายการไฟล์ที่จำเป็นสำหรับการติดตั้งไดรเวอร์ตามที่ระบุในส่วน CopyFiles ของไฟล์ inf ของไดรเวอร์
เพื่อแสดงรายการไดรเวอร์ที่บันทึกในรูปแบบที่สะดวกพร้อมกับคลาส ผู้จัดจำหน่าย และเวอร์ชันไดรเวอร์ เรามาส่งออกไดรเวอร์ด้วยสองคำสั่ง:
$BackupDrv = Export-WindowsDriver -Online -Destination c:\export-drivers
หลังจากนั้น ให้แสดงผลลัพธ์ในตาราง:
$BackupDrv | Select-Object ClassName, ProviderName, Date, Version | Sort-Object ClassName
ตามที่คุณเห็น ตารางผลลัพธ์แสดงคลาสไดรเวอร์ ผู้ผลิต เวอร์ชัน และวันที่
คุณสามารถบันทึกข้อมูลเกี่ยวกับไดรเวอร์ที่ส่งออกลงในไฟล์ CSV ได้:
$BackupDrv| Select-Object ClassName, ProviderName, Date, Version |Export-Csv c:\ps\backup_drivers_list.txt
คุณสามารถแสดงรายการไดรเวอร์สำหรับคลาสอุปกรณ์เฉพาะโดยใช้แอตทริบิวต์ ClassName ตัวอย่างเช่น เพื่อแสดงเฉพาะไดรเวอร์เครื่องพิมพ์ ให้รันคำสั่งต่อไปนี้:
$BackupDrv | where { $_.classname -like "printer" }
เพื่อแสดงรายการไดรเวอร์สำหรับผู้จัดจำหน่ายเฉพาะ ให้ใช้คำสั่ง:
$BackupDrv | Where{ $_.ProviderName -Match "NVIDIA"}
คุณสามารถตั้งชื่อไดเรกทอรีไดรเวอร์ตามรุ่นคอมพิวเตอร์ของคุณ และบันทึกสำรองไดรเวอร์ไปยังโฟลเดอร์เครือข่ายที่แชร์ซึ่งคุณเก็บไดรเวอร์สำหรับรุ่นคอมพิวเตอร์ทั้งหมด ในกรณีนี้ ให้ใช้คำสั่ง:
Export-WindowsDriver -Destination "\\mun-fs01\drivers\desktop\$((Get-WmiObject -Class win32_computersystem).Model)" -Online
ตามที่คุณเห็น ไดเรกทอรีได้ถูกสร้างขึ้นด้วยชื่อรุ่นคอมพิวเตอร์ และไดรเวอร์ทั้งหมดถูกส่งออกในไดเรกทอรีนั้น
สำรองไดรเวอร์ใน Windows 10 ด้วย DISM
คุณยังสามารถใช้ DISM.exe เพื่อสำรองไดรเวอร์และนำเข้าลงในอิมเมจ Windows ได้ เพื่อส่งออกไดรเวอร์ทั้งหมดไปยังไดเรกทอรี C:\export-drivers ให้เปิดคำสั่งพร้อมท์ด้วยสิทธิ์ผู้ดูแลระบบ และรันคำสั่ง:
dism /online /export-driver /destination:C:\export-drivers
Exporting 1 of 24 – oem0.inf: The driver package successfully exported.
ตามที่คุณเห็นในตัวอย่างของเรา เครื่องมือ DISM ส่งออกไดรเวอร์ 24 ตัวไปยังไดเรกทอรีที่ระบุสำเร็จ
ส่งออกไดรเวอร์อุปกรณ์ที่ติดตั้งแล้วด้วย PNPUtil
คุณสามารถจัดการไดรเวอร์อุปกรณ์บนคอมพิวเตอร์ของคุณโดยใช้เครื่องมือในตัว PNPUtil.exe เครื่องมือนี้มักใช้เพื่อเพิ่มหรือลบไดรเวอร์ใน Windows (เราเคยแสดงวิธีลบไดรเวอร์เก่าและที่ไม่ได้ใช้ออกจาก Windows Driver Store เพื่อประหยัดพื้นที่ดิสก์) PNPUtil ยังสามารถใช้ส่งออกไดรเวอร์จากที่เก็บของ Windows ได้
เปิดคำสั่งพร้อมท์ด้วยสิทธิ์ผู้ดูแลระบบ และรันคำสั่ง:
pnputil.exe /export-driver * c:\export-drivers
ไดรเวอร์จากไดเรกทอรีที่ได้สามารถปรับใช้ไปยังอุปกรณ์อื่นๆ ได้ด้วยตนเองโดยใช้ PowerShell, PNPUtil, DISM (วิธี slipstream ไดรเวอร์ลงในอิมเมจ Windows) หรือโดยอัตโนมัติด้วย MDT, SCCM ฯลฯ
ด้วย pnputil คุณสามารถส่งออกไดรเวอร์อุปกรณ์เฉพาะตัวได้ เพื่อทำเช่นนี้ คุณต้องได้ชื่อไฟล์ INF ของมัน
รับรายการไดรเวอร์ที่ติดตั้งทั้งหมด:
pnputil.exe /enum-drivers
หรือคุณสามารถใช้ PowerShell เพื่อกรองรายการไดรเวอร์ ฉันต้องการส่งออกเฉพาะไดรเวอร์ NIC ของ Realtek:
Get-WindowsDriver -Online | where { ($_.ProviderName -like "Realtek") –and ($_.ClassName -like "Net")}
คัดลอกชื่อไฟล์ inf (oem5.inf) และรันคำสั่งต่อไปนี้เพื่อส่งออกไฟล์ไดรเวอร์:
mkdir c:\drivers\realtek
pnputil.exe /export-driver oem5.inf c:\drivers\realtek
ผลลัพธ์คือ คุณส่งออกไฟล์ NIC inf (rt640x64.inf) พร้อมกับไฟล์ที่จำเป็นทั้งหมด
วิธีกู้คืนไดรเวอร์อุปกรณ์ใน Windows 10
คุณสามารถใช้ไดเรกทอรีที่มีสำเนาสำรองของไดรเวอร์อุปกรณ์เพื่อติดตั้งบนการติดตั้ง Windows ใหม่ (หรือหลังจากติดตั้ง Windows ใหม่)
เพื่อติดตั้งไดรเวอร์เฉพาะ ให้คลิกขวาที่ไฟล์ INF และเลือกเมนู "Install"
คุณยังสามารถอัปเดตไดรเวอร์อุปกรณ์เฉพาะผ่าน Device Manager ได้ เปิดคอนโซล Device Manager (devmgmt.msc) เลือกอุปกรณ์ที่ต้องการเปลี่ยนไดรเวอร์ คลิก "Update Driver" → "Browse my computer for driver software" ระบุพาธไปยังไดเรกทอรีที่มีสำรองไดรเวอร์ เพื่อสแกนไฟล์ inf ทั้งหมดในโฟลเดอร์ย่อยโดยอัตโนมัติ ให้เลือกตัวเลือก "Include subfolders"
อย่างไรก็ตาม มีวิธีที่ง่ายกว่าในการติดตั้ง (นำเข้า) ไดรเวอร์ทั้งหมดจากไดเรกทอรีที่ระบุพร้อมกัน เพื่อทำเช่นนี้ ให้ใช้สคริปต์ PowerShell ต่อไปนี้:
$drvinffiles = Get-ChildItem -Path "C:\export-drivers\" -Filter "*.inf" -Recurse -File
foreach($drvinffile in $drvinffiles){
$drvinffile.FullName
pnputil.exe -i -a "$drvinffile.FullName"
}
สคริปต์ PowerShell นี้จะสแกนโฟลเดอร์ทั้งหมดในไดเรกทอรีที่ระบุตามลำดับ ค้นหาไฟล์ inf ทั้งหมด และติดตั้งไดรเวอร์ใน Driver Store โดยใช้เครื่องมือ PNPUtil
Pnputil บน Windows 10 อนุญาตให้คุณติดตั้งไดรเวอร์ทั้งหมดจากโฟลเดอร์ที่ระบุ (รวมถึงโฟลเดอร์ย่อย) โดยใช้คำสั่ง one-liner เรียบง่าย:
pnputil.exe /add-driver C:\export-drivers\*.inf /subdirs /install
คุณยังสามารถนำเข้าไดรเวอร์ทั้งหมดจากไดเรกทอรีสำรองไปยังอิมเมจ Windows ออฟไลน์โดยใช้พารามิเตอร์ Add-Driver ของเครื่องมือ DISM (ในตัวอย่างนี้ เราอนุญาตให้ติดตั้งไดรเวอร์ที่ไม่ได้ลงนาม):
DISM /image:c:\win_image /Add-Driver /Driver:C:\export-drivers /Recurse /ForceUnsigned
คุณสามารถ slipstream ไดรเวอร์ด้วย DISM ได้เฉพาะในอิมเมจ Windows ออฟไลน์ (ดูตัวอย่าง วิธีเพิ่มไดรเวอร์ USB 3.0 ลงในสื่อการติดตั้ง Windows 7)
อย่าลืมสำรองไดรเวอร์ที่ติดตั้งไว้ก่อนติดตั้ง Windows ใหม่