Po zainstalowaniu lub zaktualizowaniu sterowników urządzeń w systemie Windows starsze wersje sterowników są nadal przechowywane w systemie. Dzięki temu użytkownik może cofnąć się do poprzedniej wersji sterownika, jeśli nowy sterownik jest niestabilny (przydatna możliwość, jak w przypadku cofania sterownika Wi-Fi). Jednak system Windows nie czyści i nie usuwa automatycznie starych wersji sterowników, więc z biegiem czasu rozmiar przestrzeni dyskowej zajmowanej przez sterowniki staje się dość duży. W tym artykule omówimy, jak usunąć stare wersje sterowników (duplikaty) za pomocą zintegrowanych narzędzi systemowych (bez żadnego oprogramowania firm trzecich).
Windows przechowuje wszystkie pliki sterowników w swoim repozytorium sterowników (Driver Store) znajdującym się w %WINDIR%System32DriverStoreFileRepository. W moim przypadku na domowym laptopie z systemem Windows 7 (zainstalowanym prawie 8 lat temu) folder FileRepository zajmuje około 11 GB i zawiera ponad 5 000 plików. To naprawdę dużo! W szczególności przechowywanych jest tu ponad 20 wersji sterowników firmy Nvidia.
- Nigdy nie usuwaj ręcznie żadnych plików z DriverStore.
- Przed wyczyszczeniem folderu Driver Store zdecydowanie zaleca się utworzenie punktu przywracania systemu (
Checkpoint-Computer -Description "BeforeDriversDelete"
) lub kopii zapasowej obrazu systemu. - Po wyczyszczeniu magazynu może być konieczne ręczne pobranie i zainstalowanie sterowników w przypadku podłączenia nowego urządzenia.
How to Find and Delete Old Driver Versions in Windows 7
Zobaczmy, jak znaleźć i usunąć przestarzałe sterowniki w systemie Windows 7. (W systemach Windows 8 i Windows 10 stosowane są łatwiejsze sposoby usuwania starych sterowników, które opisano poniżej).
Znajdź listę wszystkich sterowników innych firm dostępnych w systemie i wyeksportuj je do pliku tekstowego. W tym celu należy uruchomić następujące polecenie w wierszu poleceń z uprawnieniami administratora:
dism /online /get-drivers /format:table > c:\tmp\drivers.txt
Importujemy ten plik tekstowy do Excela i usuwamy wszystkie nieparzyste dane w taki sposób, aby pozostała tylko tabela zawierająca listę sterowników w repozytorium. Tabela powinna zawierać numer sterownika w systemie (oemXXX.inf), nazwę oryginalnego pliku INF, klasę urządzenia, producenta, datę instalacji i wersję sterownika.
Sortuj tę tabelę według kolumny B (zawierającej nazwę oryginalnego pliku INF) i kolumny F (data instalacji sterownika). Wśród sterowników o tej samej nazwie zaznacz do usunięcia wszystkie wersje sterowników oprócz ostatniej. W moim przypadku możesz zobaczyć, że większość starych sterowników odnosi się do karty graficznej NVIDIA.
Aby usunąć sterownik, możesz użyć polecenia pnputil:
pnputil.exe -d oemxxx.inf
pnputil -f -d oemxxx.inf
Aby było wygodniej, utworzymy w pustej kolumnie polecenia do usunięcia każdego sterownika za pomocą wzoru: =CONCATENATE("pnputil.exe -d ";A21)
Kopiujemy i uruchamiamy te polecenia w wierszu poleceń lub pliku BAT.
pnputil.exe –d oem9.inf
Microsoft PnP Utility
Driver package deleted successfully
W ten sposób usunąłem około 40 starych wersji sterowników i zwolniłem około 8 GB miejsca (głównie dzięki usunięciu sterowników NVIDIA).
How to Delete Old Drivers in Windows 10/8 Using Disk Cleanup
W Windows 10 / 8.1 istnieje wygodniejsze narzędzie do usuwania wcześniejszych wersji sterowników – znane narzędzie Disk Cleanup (cleanmgr.exe), które pozwala również na usuwanie przestarzałych aktualizacji.
- Run Disk Cleanup: Win+R -> cleanmgr
- Wybierz dysk systemowy
- Kliknij Clean up system files
- Sprawdź na liście
Uwaga. W moim systemie rozmiar przechowywanych kopii sterowników wynosi 0. W rzeczywistych systemach może być inny
- Kliknij OK
Cleanmgr usunie wszystkie stare, nieużywane wersje sterowników. Należy jednak pamiętać, że przycisk Cofnij sterownik na karcie Właściwości sterownika w Zarządzaniu urządzeniami stanie się nieaktywny.
.