Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows Server

วิธีสำรอง (ส่งออก) และกู้คืนไดรเวอร์อุปกรณ์ใน Windows 10

หลังจากติดตั้ง Windows ใหม่หรือติดตั้งแบบสะอาด (clean install) ผู้ใช้ต้องติดตั้งเวอร์ชันไดรเวอร์ล่าสุดสำหรับอุปกรณ์ที่ติดตั้งอยู่บนคอมพิวเตอร์ ผู้ใช้ต้องค้นหา ดาวน์โหลด และติดตั้งไดรเวอร์ที่จำเป็นด้วยตนเอง อย่างไรก็ตาม มีวิธีที่ง่ายกว่าในการติดตั้งไดรเวอร์อุปกรณ์บน Windows 10 และ 8.1 คุณสามารถสำรอง (ส่งออก) ไดรเวอร์ที่ติดตั้งไว้ทั้งหมดก่อนติดตั้ง Windows ใหม่ และใช้สำรองดังกล่าวเพื่อติดตั้งไดรเวอร์ทั้งหมดบน Windows ที่ติดตั้งใหม่ได้อย่างรวดเร็ว

ในบทความนี้ เราจะแสดงวิธีพื้นฐานในการสำรองและกู้คืนไดรเวอร์ที่ติดตั้งใน Windows ทั้งหมดโดยใช้เครื่องมือในตัว (DISM, pnputil.exe, หรือคำสั่ง PowerShell Export-WindowsDriver)

เนื้อหา

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 ใหม่