작업용 장비의 그래픽 드라이버가 오래됐다는 이야기가 있었다. Windows Update 의 선택적 드라이버 목록을 화면에서 클릭하는 대신 직접 조회했다.
$s = New-Object -ComObject Microsoft.Update.Session
$s.CreateUpdateSearcher().Search("IsInstalled=0 and Type=Driver")
0건이었다. 목록에 없으니 이미 최신인 것으로 보고 넘어갈 뻔했다.
Table of contents
Open Table of contents
목록에 없다는 뜻
설치된 판을 확인하니 25.20.100.6577 로 수년 전 것이었다. 최신이 있는데 안 뜨는 것이 아니라 아예 제공을 안 하는 것이었고 목록에 없다는 것이 최신이라는 뜻은 아니었다.
이 기기는 벤더 노트북이라 벤더가 자기 드라이버를 검증해 배포하고 Windows Update 경로에는 안 올린다. 최신화 경로는 벤더의 드라이버 도구이거나 칩 제조사가 배포하는 범용판이었다. 그러면 그 경로만 보고 있는 한 영원히 최신이 안 된다. 배포 경로가 어디인지를 모르면 목록이 비어 있는 것을 잘못 읽는다.
벤더 도구로 받아야 했다
제조사 도구를 설치해서 확인하니 그 안에 최신 드라이버가 있었다. 그 도구를 거쳐야만 받을 수 있는 구조였다.
직접 설치하려면 UAC 승격이 필요하고 실패했을 때 되돌릴 수 있어야 했다. Windows Update 로 들어오는 설치는 복원 지점이 자동으로 잡히지만 제조사 도구로 직접 설치하는 것은 그렇지 않아서 System Restore 지점을 손으로 먼저 만들어 두었다. 복원 지점이 담는 것에 시스템 드라이버가 들어 있고 드라이버는 잘못 설치하면 화면이 안 나올 수 있어서 되돌릴 준비가 특히 중요했다.
운영체제에 없는 기능
같은 도구를 살펴보다 충전 상한을 설정하는 기능이 있는 것을 봤다. Windows 자체에는 그런 기능이 없었다.
즉 제조사가 자기 하드웨어를 위해 추가로 제공하는 기능이었다. 그러면 그 설정 앱이 깔려 있어야 그 기능을 쓸 수 있다는 뜻이다. 운영체제에 없는 것을 찾을 때 제조사 쪽을 봐야 하는 이유가 여기 있었다.
기종에 따라 다른 것
다른 장비에도 같은 설정을 하려고 앱을 열어 봤더니 그 항목이 아예 없었다. 기종에 따라 하드웨어가 지원하지 않으면 기능 자체가 안 나온다.
문서에는 이 제품군에서 지원한다고만 적혀 있어서 세부 기종별 차이는 알 수 없었다. 결국 앱을 열어 봐야 확정되는 것이었다. 지원 여부를 문서로 판단하려다 실제 화면으로 확인하는 쪽으로 바꿨다.
검증 — 명확한 조회로 확정하기
판 번호를 확인할 때도 표시가 애매한 설정 화면 대신 조회 명령을 썼다.
명령으로 조회하면 정확한 판 번호가 한 줄로 나오고 그것을 기록에 남길 수도 있다. 애매한 화면 대신 명확한 조회를 쓰는 것이 이 종류 확인의 기본이었다. 설치 뒤에도 같은 명령으로 실제로 바뀌었는지 확인했다.
정리
- 목록에 없다고 최신이라는 뜻이 아니다
- 제조사가
Windows Update에 안 올리고 자기 도구로만 배포하기도 한다 - 배포 경로를 모르면 빈 목록을 잘못 읽는다
- 직접 설치에는
UAC승격과System Restore지점이 필요하다 Windows에 없는 기능을 제조사가 제공하기도 한다- 기종에 따라 기능 자체가 없을 수 있다
- 지원 여부는 문서가 아니라 실제 화면으로 확정된다
- 애매한 화면 대신 명확한 조회를 쓴다