Khi bạn cài đặt hoặc cập nhật trình điều khiển thiết bị trong Windows, các phiên bản cũ hơn của trình điều khiển vẫn còn trên ổ đĩa hệ thống. Điều này cho phép người dùng quay trở lại phiên bản trình điều khiển trước đó nếu trình điều khiển mới không ổn định. Tuy nhiên, Windows không tự động xóa các phiên bản trình điều khiển cũ và vô dụng, vì vậy theo thời gian, dung lượng bị chiếm dụng bởi trình điều khiển trên ổ đĩa hệ thống trở nên khá lớn. Trong bài viết này, chúng ta sẽ xem xét một số cách để loại bỏ các phiên bản trình điều khiển lỗi thời và cũ (bản sao) trong Windows bằng cách sử dụng các công cụ tích hợp sẵn và của bên thứ ba.

Windows lưu trữ tất cả các tệp trình điều khiển trong kho trình điều khiển (Driver Store) nằm trong %WINDIR%System32DriverStoreFileRepository.

Bạn có thể lấy kích thước thư mục lưu trữ trình điều khiển bằng PowerShell ( “{0:N2} GB” -f ((gci –force $Env:windirSystem32DriverStoreFileRepository –Recurse -ErrorAction SilentlyContinue| measure Length -s).sum / 1Gb) ) hoặc các công cụ đồ họa. Trên máy tính xách tay Windows tại nhà của tôi, thư mục FileRepository chiếm khoảng 11 GB dung lượng đĩa và chứa hơn 5.000 tệp. Có hơn 20 phiên bản khác nhau của trình điều khiển đồ họa video NVIDIA được lưu trữ trong thư mục này.

Important!

  • Không bao giờ xóa bất kỳ tệp nào khỏi DriverStore theo cách thủ công;
  • Bạn nên tạo điểm khôi phục hệ thống trước khi làm sạch trình điều khiển thiết bị (Checkpoint-Computer -Description “BeforeDriversDelete”) hoặc sao lưu hình ảnh hệ thống Windows của bạn;
  • Sau khi dọn dẹp kho trình điều khiển, bạn sẽ phải tải xuống và cài đặt trình điều khiển khi bạn kết nối các thiết bị mới.

Làm thế nào để Tìm và Loại bỏ Trình điều khiển Cũ trong Windows với PowerShell?

Hãy xem cách tìm và gỡ bỏ các phiên bản trình điều khiển cũ trong Windows. Bạn có thể hiển thị danh sách đầy đủ các trình điều khiển đã cài đặt bằng PowerShell và WMI (CIM) lớp Win32_PnPSignedDriver:

Get-WmiObject Win32_PnPSignedDriver| select DeviceName, DeviceClass,Manufacturer, DriverVersion, DriverDate,InfName|Out-GridView

Trong ví dụ của tôi, tôi nhận được bảng Out-GridView với danh sách các trình điều khiển trong kho lưu trữ Windows ở định dạng: tên thiết bị, lớp thiết bị, nhà sản xuất, phiên bản trình điều khiển, ngày cài đặt, tên tệp thông tin trình điều khiển (oemXXX.inf).

Bạn có thể nhận danh sách trình điều khiển của bên thứ ba được cài đặt trên Windows bằng lệnh ghép ngắn Get-WindowsDriver:

Get-WindowsDriver –Online| select Driver, ClassName, BootCritical, ProviderName, Date, Version, OriginalFileName|Out-GridView

Bạn có thể xóa bất kỳ trình điều khiển nào đã cài đặt bằng công cụ pnputil CLI:

pnputil.exe /remove-device oemxxx.inf

Note. Trong một số trường hợp, chỉ xóa trình điều khiển với /lực lượng (-f) công tắc:
pnputil /remove-device oemxxx.inf /force

Tìm trong bảng các trình điều khiển có nhiều phiên bản và xóa tất cả các phiên bản cũ hơn của trình điều khiển (ngoại trừ phiên bản mới nhất) bằng cách sử dụng pnputil.exe.

Đặc biệt cẩn thận với các trình điều khiển quan trọng đối với quá trình khởi động Windows (BootCritical=True).

Bạn cũng có thể xuất danh sách trình điều khiển đã cài đặt sang tệp văn bản rồi nhập vào Excel:

dism /online /get-drivers /format:table > c:tmpdrivers.txt

Xóa tất cả dữ liệu không cần thiết trong bảng và chỉ để lại các cột sau: tệp trình điều khiển trong hệ thống (oemXXX.inf), tên của tệp INF nguồn, loại thiết bị, nhà sản xuất, ngày cài đặt và phiên bản trình điều khiển. Sắp xếp bảng này theo cột B (chứa tên của tệp INF gốc) và cột F (ngày cài đặt trình điều khiển). Trong số các trình điều khiển có cùng tên, hãy đánh dấu để loại bỏ tất cả các phiên bản trình điều khiển ngoại trừ phiên bản cuối cùng. Trong trường hợp của tôi, bạn có thể thấy rằng hầu hết các trình điều khiển cũ được tham chiếu đến bộ điều hợp video NVIDIA.

Để thuận tiện hơn, hãy tạo một cột bổ sung bằng lệnh gỡ cài đặt từng trình điều khiển bằng công thức đơn giản: =CONCATENATE(“pnputil.exe -d “;A21)

phân tích danh sách trình điều khiển cũ trong excel

Sao chép và chạy các lệnh pnputil trong dấu nhắc lệnh hoặc tệp BAT.

gói trình điều khiển pnputil đã được xóa thành công

pnputil.exe –d oem9.inf
Microsoft PnP Utility
Driver package deleted successfully

Trong trường hợp của tôi, tôi đã xóa khoảng 40 phiên bản trình điều khiển cũ trong Windows và xóa khoảng 8 GB dung lượng (chủ yếu là do xóa trình điều khiển cạc video NVIDIA).

Bạn có thể dùng RemoveOldDuplicateDrivers.ps1 Tập lệnh PowerShell để tự động tìm trình điều khiển thiết bị đã cài đặt nhiều phiên bản trình điều khiển (bản sao). (https://github.com/maxbakhub/winposh/blob/main/WindowsDesktopManagement/RemoveOldDuplicateDrivers.ps1 ).

tìm trình điều khiển không sử dụng và trùng lặp với tập lệnh powershell

Tập lệnh sẽ hiển thị danh sách các phiên bản trình điều khiển cũ có thể bị gỡ bỏ do các phiên bản mới hơn được cài đặt. Các dòng có hành động xóa tự động của trình điều khiển được tìm thấy được nhận xét trong tập lệnh theo mặc định.

Xóa trình điều khiển cũ trong Windows bằng Công cụ dọn dẹp ổ đĩa

Trong các phiên bản Windows 10 và 11 hiện tại, bạn có thể sử dụng cleanmgr.exe (công cụ Dọn Đĩa) tích hợp sẵn để dọn dẹp thư mục Driverstore Filerepository.

  1. Chạy Dọn dẹp Đĩa: Win+R -> cleanmgr;
  2. Chọn ổ đĩa hệ thống;ổ đĩa dọn dẹp c
  3. Nhấp chuột Clean up system files; Dọn dẹp các tệp hệ thống
  4. Kiểm tra Device driver packages trong danh sách;Gói trình điều khiển thiết bị dọn dẹp - Windows 10
  5. Bấm OK;
  6. Tác vụ dọn dẹp này sẽ xóa tất cả các phiên bản trước của trình điều khiển được cài đặt thông qua Windows Update hoặc theo cách thủ công. Chỉ phiên bản mới nhất cho mỗi trình điều khiển sẽ vẫn còn trong Windows DriverStore. Tuy nhiên, bạn nên biết rằng Roll back driver trong tab Thuộc tính trình điều khiển của Trình quản lý thiết bị sẽ không hoạt động. không thể khôi phục trình điều khiển thiết bị trong trình quản lý thiết bị windows

    Tác vụ cleanmgr chỉ loại bỏ các phiên bản trình điều khiển trùng lặp. Trình điều khiển thiết bị không sử dụng nên được gỡ bỏ theo cách thủ công.

Xóa trình điều khiển không sử dụng với DevManView

Bạn có thể sử dụng một công cụ nhỏ miễn phí DevManView (bởi NirSoft) để xem và quản lý danh sách các trình điều khiển đã cài đặt trong Windows Driver Store.

DevManView là một giải pháp thay thế tuyệt vời cho phần đính vào Windows Device Manager MMC tiêu chuẩn và cho phép bạn trình bày danh sách các trình điều khiển được cài đặt trên máy tính của mình dưới dạng danh sách phẳng (bảng).

  1. Tải xuống và chạy DevManView dụng cụ;
  2. Bật các mục sau trong menu Tùy chọn: Mark Connected DevicesShow Non-Plug and Play Drivers;
  3. Sắp xếp bảng theo Connected. Điều này sẽ cho phép bạn xem thiết bị nào hiện đang được kết nối và thiết bị nào chưa được kết nối;
  4. Chúng tôi khuyên bạn nên tắt các trình điều khiển thiết bị đã chọn trước (Disable Selected Devices -> F6) và chỉ sau khi khởi động lại máy tính, hãy xóa trình điều khiển bằng cách sử dụng Uninstall Selected Devices.Công cụ devmanview cho phép loại bỏ các trình điều khiển không sử dụng trong windows