자세히 보기

Ed Tittel
By Ed Tittel

SSD 다이어트에 특효! 윈도우 10 드라이버 정리법

운영체제 설치 후 시간이 지나면서 각종 드라이버 파일 쓰레기들이 비대해지는 현상은 윈도우 10에서도 예외가 아니다. 그러나 드라이버스토어 익스플로러(DriverStore Explorer)와 몇몇 간단한 절차를 이용하면 사용되지 않고 있는 드라이버 다수를 발견해 조치할 수 있다. 용량이 제한적인 SSD를 활용하는 경우 특히 요긴하다.

윈도우 시스템에서는 새 장치 드라이버가 오래된 드라이버를 지속적으로 대체한다. 별다른 관리를 하지 않는 시스템일지라도 윈도우 업데이트(Windows Update)가 연간 평균 10여 개의 드라이버를 업데이트 또는 교체하는 것으로 알려져 있다. 

정기적으로 드라이버를 관리하고 싶어하는 고급 사용자들은 직접 드라이버를 관리하기도 한다. 인텔 드라이버 업데이트(Intel Driver Update) 유틸리티, 엔비디아의 지포스 익스피리언스(GeForce Experience) 같은 도구나 e서포트(eSupport)의 드라이버에이전트(DriverAgent), 슬림웨어 유틸리티(Slimware Utilities)의 드라이버 업데이트(Driver Update) 같은 전용 드라이버 관리 도구로 윈도우(7, 8, 10)의 드라이버를 확인하고 업데이트하곤 한다.

참고로 위의 도구 중 인텔과 엔비디아의 유틸리티들은 자신들이 제조한 장치에 초점을 맞추고 있는 반면, e서포트와 슬림웨어 유틸리티 같은 범용 드라이버 업데이트 툴은 시스템 전반을 검색해 업데이트가 필요한 장치를 알려주는 도구들이다.

윈도우 드라이버(Windows Driver) 설치 원리
윈도우 드라이버가 설치되는 과정은 꽤 흥미롭다. 보이지 않게 일어나는 일이 많다. 여기에서는 PnP(Plug and Play) 장치 드라이버가 설치되는 과정만 소개할 예정이다. PnP 장치란 윈도우가 이용할 장치 드라이버를 찾도록 스스로를 알려주는 장치이다. 딱 맞는 드라이버를 찾지 못하면, 가장 비슷한 최신 드라이버를 연결시켜준다.

참고로 본 기사에서는 이와 관련해 마크 루시노비치(Mark Russinovich)와 데이빗 솔로몬(David Solomon)이 공동 저술한 ‘윈도우 내부(Windows Internals)’라는 책을 참고했다.

1. 버스 드라이버는 DIID(Device Instance Identifier)를 이용한 탐색으로 발견한 장치를 PnP 관리도구에 알려준다.

2. PnP 관리도구는 이에 해당하는 드라이버가 있는지 레지스트리를 찾는다. 드라이버를 발견하지 못한 경우, 사용자 모드 PnP 관리도구에 DIID를 사용하는 장치를 알려준다.

3. 사용자 모드 PnP 관리도구는 사용자의 입력이나 개입이 필요 없는 자동 설치를 시도한다. 사용자가 입력을 해야 하는 대화 상자가 표시되는 설치도구(Installer)가 있다. 이런 설치도구의 경우, PnP 관리도구는 로그인 한 사용자에게 관리자 권한을 요구하는 작업을 처리하려 하드웨어 설치 마법사(Hardware Installation Wizard)를 실행시킨다. 사용자에게 관리자 권한이 없다면, 관리자 권한을 가진 사용자가 로그인할 때까지 작업이 중단된다.

4. 하드웨어 설치 마법사는 Setup과 CfgMgr(Configuration Manager) API 기능을 이용, 인식한 장치와 호환되는 드라이버와 연결된 INF 파일을 찾는다. 이를 위해 마이크로소프트의 장치 데이터베이스에서 파일을 검색하거나, 사용자의 명령에 따라 CD나 DVD 등 로컬 파일 시스템의 파일에 액세스한다.

5. 2단계로 설치가 진행된다. (1) 써드파티 드라이버 설치도구가 드라이버 패키지를 드라이버 저장소(Driver Store)로 불러오고, (2) OS가 Drvinst.exe(%SystemRoot%\System32\의 실행 파일)를 이용해 드라이버를 설치한다. 이 과정에 .inf와 .cat 파일이 DIID와 연결된 드라이버 저장소에 배치된다. oemXXX.inf 형태인데, XXX는 1~3자리의 수이다.

여기에 유념할 부분이 있다. 문서화된 프로세스에는 윈도우 드라이버 저장소(%SystemRoot%\System32\DriverStore 디렉토리)에 위치한 기존 드라이버 버전 제거에 대한 정보가 없다는 점이다. 이에 드라이버 저장소를 조사, 오래된 드라이버, 쓸모 없는 드라이브를 찾아 없애 디스크 공간을 확보하는 내용을 살펴본다.

경고! : 드라이버 저장소를 정리하기 전에 고려해야 할 ‘문제점’ 하나가 있다. 최신 드라이버만 남기고 드라이버를 모두 삭제할 경우, 장치 관리자(Device Manager)의 관련 장치 속성 창에 있는 드라이버 롤백 기능을 이용할 수 없다. 최신 드라이버가 불안정해도 기존 드라이버로 롤백 할 수 없다는 의미다.

이를 위한 해결책 중 하나는 가장 최신 드라이버 1개가 아닌 2개를 유지하는 방법이다. 그러나 나 같은 경우, 자주 업데이트되는 장치 드라이버, 베타 드라이버를 제외하고는 이용하지 않는 방법이다. 장치에 드라이버가 1개 밖에 없다면, 드라이버 롤백 버튼이 회색으로 표시된다. 이용할 수 없는 상태를 의미한다(그림 1 참조).

그림 1. 드라이버스토어에 한 버전의 드라이버만 있다면, 롤백 버튼은 활성화되지 않는다.

윈도우 10에서 장치 드라이버 파악하기
비스타 이후의 윈도우에는 윈도우 드라이버 저장소를 조사해 관리할 때 유용한 도구 하나가 존재한다. 마이크로소프트의 무료 오픈소스 소프트웨어 겸 소스 코드 저장소인 코드플렉스(CodePlex)에서 배포하는 드라이버스토어 익스플로러(RAPR.exe)라는 도구다. 미리 말하면, 2012년 12월 30일 배포된 5.0 버전이 최신 버전이다. 3년 뒤에 나온 윈도 10에서도 제대로 동작한다.

그림2. 깨끗하게 정리된 서피스 프로 3 드라이버 스토어. 단 33개의 드라이버만 확인할 수 있다.

드라이버 저장소 작업을 하려면 파일 이름을 오른쪽 클릭, 관리자 권한으로 RAPR.exe를 실행시켜야 한다. 이제 그림 2의 드라이버 저장소를 조사해야 한다 (Driver Store Explorer는 PC 장치가 아닌 장치 드라이버를 보여준다. 서피스 프로 3에서 실행시켰을 때의 화면이다.).

확인 결과 112개의 드라이버 가운데 중복된 인텔 드라이버가 30개에 달했다. 화면 위의 컬럼 명칭을 클릭하면 항목이 재정렬된다.

필자의 경우 삭제를 할 때 먼저 Driver Class를 클릭해 동일한 드라이버가 여러 개 있는지 찾는다. 삭제하는 방법은 간단하다. (그림 2)왼쪽에 있는 체크 상자에 표시를 한 후, 오른 쪽의 Delete Package 버튼을 클릭하면 된다.

윈도우에서 사용하고 있는 드라이버는 삭제되지 않는다. 이를 삭제하려면 프로그램을 닫은 후, Force Deletion 버튼을 클릭해야 한다. 개인적으로 딱 한 번 강제 삭제를 했다. 드라이버에 문제가 있어 기존 버전으로 교체해야 한다는 이야기를 들었을 때였다.

그림 3은 드라이버를 삭제하기 전과 후를 보여준다.

그래픽 어댑터 드라이버가 통상 차지하는 디스크 용량이 200~400 MB이다. 또 많은 장치가 2~4 MB 이상을 차지한다. 불필요한 드라이버를 없애면 용량을 늘릴 수 있다는 의미이다.

드라이버 정리 전(위)과 드라이버 정리 후(아래) 화면

드라이버 저장소 정리가 필요한 시기
시스템 최적화와 정리에도 YMMV(Your Mileage May Vary, 운전 습관과 환경에 따라 연비가 다름)가 적용된다. 시스템에 따라 다를 수밖에 없다는 의미다. 이를 염두에 두고 드라이버 저장소 디렉토리를 살펴보자.

필자는 1 GB가 넘을 때 RAPR을 실행시킨다. 독자들도 2~3 GB가 넘는다면 RAPR을 조사하는 것이 좋다. 4 GB가 넘는 사례를 경험한 적이 있다. 또 10 GB 가까이 되는 경우도 있다.

특히 문제가 심각한 드라이버는 인텔 칩셋 업데이트 유틸리티(INF Update Utility로 불리는 다양한 인텔 칩셋 장치 소프트웨어 패키지)와 엔비디아 드라이버이다. 인텔의 경우 드라이버 저장소에 수십 개의 동일한 드라이버가 존재하는 문제가 많다.

주의할 부분 : PC에 장치 인스턴스가 여러 개일 경우, 각 드라이버 패키지(oemXXX.inf) 사본 하나씩을 보관해야 한다. 불필요한 중복 드라이버라고 생각해 무조건 삭제했을 때 문제가 발생하는 경우가 있기 때문이다. 그러나 동일한 드라이버가 많거나, 동일한 장치에 여러 버전의 드라이버가 있다면 정리가 필요하다.

엔비디아 디스플레이 드라이버는 통상 버전이나 사본 1개의 크기가 400 MB 이상이다. 오래된 드라이버는 말 그대로 용량을 낭비시킨다. 원한다면 2개 버전을 보관할 수 있다. 그러나 그 이상은 남겨두지 않는다. 1~2년 동안 사용한 OS에서 10여 개가 넘는 엔비디아 디스플레이 드라이버를 발견한 적도 있다.

한편 이와 관련해 실수로 정말 필요한 파일을 삭제할 때를 대비해 복원 지점을 만드는 두는 것이 도움이 될 수 있다. 이렇게 하면 지나치게 공격적으로 정리를 하는 바람에 시스템이 부팅되지 않거나 다른 문제가 발생한 경우 복구와 복원을 할 수 있다. 아주 유용하다.

* Ed Tittel은 다수의 윈도우 서적을 집필한 연구가이자 컨설턴트다. dl-ciokorea@foundryco.com

Ed Tittel

Ed Tittel has been working in and around IT for over 30 years. Though he’s been working with and writing about Windows since the early 1980s, he has been a Windows Insider MVP since 2018 and earned MVP (Windows) in 2024. The author of more than 100 computing books, Ed is perhaps best known for his Exam Cram series of certification prep books and his half-dozen or so …For Dummies titles (including HTML For Dummies, now in a 14th edition). These days, Ed writes regularly for Computerworld, Tom's Hardware, and AskWoody.com. Since 2009, Ed has also opined and testified as an expert witness in over 60 patent suits, mostly on web development and markup language topics. To learn more about Ed, visit his website at edtittel.com, where you'll also find his daily Windows blog.

이 저자의 추가 콘텐츠