Windows 7에서 버그가 있는 드라이버를 식별하는 방법. Driver Verifier를 사용하여 블루 스크린 문제를 해결합니다. 서명되지 않은 드라이버 확인 중

드라이버는 꼭 필요한 프로그램입니다. 운영 체제연결된 하드웨어 장치와 상호 작용하기 위한 다양한 소프트웨어 응용 프로그램이 있습니다. 사운드, 비디오 카드, 프린터, 스캐너와 같은 하드웨어 구성 요소가 모두 제대로 작동하려면 호환되는 드라이버가 필요합니다.

모든 장치 드라이버는 특정 운영 체제용으로 설계되었습니다. 예를 들어 Windows XP 드라이버는 Windows Vista 드라이버와 다르기 때문에 장치 드라이버를 설치하고 업데이트할 때 올바르지 않거나 호환되지 않는 드라이버를 설치하면 장치뿐만 아니라 시스템도 손상시킬 수 있으므로 각별한 주의가 필요합니다.

드라이버 오류의 일반적인 원인

드라이버 오류의 몇 가지 일반적인 원인은 다음과 같습니다.

  • 컴퓨터에 제대로 연결되지 않은 하드웨어 장치를 사용하려고 합니다.
  • 시스템에 있는 두 개 이상의 드라이버가 서로 호환되지 않습니다.
  • 시스템과 호환되지 않는 드라이버가 설치되었습니다.
  • PC에 불필요하거나 오래된 드라이버가 있습니다.

드라이버 오류를 수정하는 단계
드라이버 오류를 식별하는 첫 번째 단계는 장치가 시스템에 제대로 연결되어 있는지 확인하는 것입니다. 많은 장치에서 연결 오류가 발생하므로 장치가 시스템에 올바르게 연결되어 있는지 확인하십시오. 다음으로 드라이버에 문제가 없는지 확인해야 합니다. 컴퓨터와 함께 제공된 장치 관리자 유틸리티를 사용하여 이 작업을 수행할 수 있습니다. 윈도우 시스템. 직접 실행하여 장치 관리자를 열 수 있습니다. 개발 관리 msc ~에서 명령줄 시작>완료그것. 장치 관리자를 열면 시스템에 연결된 모든 장치 목록이 표시됩니다. 결함이 있는 파일은 노란색 삼각형으로 표시되므로 쉽게 식별할 수 있습니다. 느낌표내부에. 장치를 마우스 오른쪽 버튼으로 클릭하여 속성 대화 상자를 엽니다. 속성 대화 상자에서 섹션을 확인하십시오. 장치 상태탭에 흔하다. 드라이버는 속성 창의 드라이버 탭에 표시됩니다. 여기에서 다음 작업 중 하나를 완료하세요.

  • 드라이버 업데이트 확인 및 설치: 오래된 드라이버드라이버 오류와 관련된 주요 원인 중 하나입니다. 이 문제를 해결하려면 버튼을 클릭하십시오. 드라이버 업데이트.하드웨어 업데이트 마법사가 열립니다. 마법사를 사용하여 드라이버를 업데이트할 수 있습니다. 업데이트 마법사에서 설치할 위치를 지정하라는 메시지가 표시되므로 먼저 드라이버 업데이트를 다운로드하여 하드 드라이브의 편리한 위치에 저장한 다음 업데이트 프로세스를 시작하는 것이 좋습니다. 업데이트.
  • 드라이버 롤백:새 업데이트를 설치한 직후에 오류 메시지가 표시되기 시작하면 새 업데이트에 버그가 있을 가능성이 높습니다. 이 문제를 해결하려면 버튼을 클릭하세요. 드라이버 롤백당신에게 돌아가기 위해 이전 버전드라이버.
  • 드라이버 제거:현재 드라이버에 문제가 있는 경우(파일이 없거나 손상된 경우) 가장 좋은 방법은 클릭하는 것입니다. 삭제현재 드라이버를 제거한 다음 드라이버를 다시 설치하십시오.

현재 수행 중인 작업이 무엇인지 확실하지 않고 위의 수정 사항이 다소 어렵다면 신뢰할 수 있는 드라이버 검색 도구를 선택하는 것이 좋습니다. 드라이버 검색 도구는 모든 장치 드라이버를 검사하고 최신 상태가 아닌지 확인하도록 설계되었습니다. 새 업데이트가 있을 때마다 드라이버 스캐너는 컴퓨터에 가장 적합한 업데이트를 자동으로 다운로드하여 설치합니다.

Windows Vista/7에 포함된 시스템 유틸리티 사용 드라이버 검증자 Manager를 사용하면 시스템에 설치된 드라이버에 대한 종합적인 진단을 수행하고 컴퓨터 및 연결된 장비의 안정적인 작동을 방해하는 문제 구성 요소를 찾을 수 있습니다.

언급된 도구를 실행하려면 관리자 권한으로 Windows에 로그인한 다음 "시작 -> 실행" 메뉴의 주소 표시줄에 verifier.exe 명령을 입력하고 확인을 클릭해야 합니다. 결과적으로 드라이버 확인 관리자 창이 열리고 여기서 머리를 긁적이고 유틸리티 실행에 적합한 옵션을 결정해야 합니다. 모든 드라이버에 대해 예외 없이 선택적 테스트와 전체 테스트를 모두 수행할 수 있습니다.

프로그램 작동 모드를 설정하고 "마침" 버튼을 누른 후 컴퓨터를 다시 시작하고 운영 체제가 로드될 때까지 기다려야 합니다. 결함이 있는 드라이버가 감지되면 Windows는 소위 "죽음의 블루 스크린"(BSOD - Blue Screen Of Death)에 빠지고 고려해야 할 문제가 있는 구성 요소에 대한 정보가 포함된 심각한 오류를 보고합니다.

다음 단계는 결함이 있는 드라이버 파일을 삭제하는 것입니다. 이렇게 하려면 컴퓨터를 시작할 때 F8 키를 누른 채 안전 모드에서 시스템을 시작한 다음 표준으로 시작해야 합니다. Windows 사용결함이 있는 구성 요소를 제거합니다. 그런 다음 콘솔을 다시 열고 verifier.exe /reset 명령을 입력하여 Driver Verifier Manager 응용 프로그램을 비활성화해야 합니다. 컴퓨터가 성공적으로 부팅되면 마지막 명령을 입력해야 하며 이는 문제가 있는 드라이버가 없음을 나타냅니다.

추가 참조 정보 이 문제 Microsoft 지원 사이트에서 "드라이버 검증 프로그램을 사용하여 Windows 드라이버 문제 식별(고급)" 문서를 참조하십시오.

문제를 일으킬 가능성이 없는 시스템 드라이버를 나타냅니다(예: win32k.sys). 이 경우 덤프에 대한 진지한 분석이 필요하며 이 분야에 대한 매우 깊은 지식과 경험이 필요합니다. 그러나 운영 체제에 내장된 드라이버 검사기를 사용하여 드라이버를 직접 확인할 수 있습니다. 검증자.exe. Microsoft 기술 자료 문서 Driver Verifier를 사용하여 Windows 드라이버 문제 해결에 자세히 설명되어 있지만 여기에 제시된 자료는 상당히 고급 기술 수준으로 제공됩니다. 아래는 간단한 설명운전자를 확인하기 위해 취해야 할 조치.

이 페이지에서

드라이버 확인 프로그램 시작하기

메뉴에 시작실행하다(또는 시작찾다) 입력하다 검증인 Enter 키를 누릅니다. 드라이버 검사기가 시작됩니다. 아이템을 선택하세요 비표준 매개변수 생성(프로그램 코드용)그리고 버튼을 누르세요 더 나아가.

다음에서 개별 옵션을 선택하세요. 전체 목록 그리고 버튼을 누르세요 더 나아가.

다음 단계에서는 다음을 제외한 모든 확인란을 선택하세요. 자원 부족 시뮬레이션그리고 버튼을 누르세요 더 나아가.

다음 단계에서 다음을 선택하세요. 서명되지 않은 드라이버 자동 선택그리고 버튼을 누르세요 더 나아가. 서명되지 않은 드라이버가 발견되지 않으면 으로 이동하세요.

서명되지 않은 드라이버

서명되지 않은 드라이버가 감지되면 해당 드라이버 목록이 표시됩니다.

드라이버는 장치와 응용 프로그램 모두에 속할 수 있습니다. Driver Verifier 창을 닫거나 더 나아가지금.

업데이트된 드라이버 검색

업데이트된 드라이버가 있는지 확인해야 합니다.

  1. 나열된 응용 프로그램 드라이버가 있으면 제조업체 웹 사이트를 방문하여 응용 프로그램이 업데이트되었는지 확인하세요. 업데이트된 버전이 없으면 앱을 제거해 보세요. (나중에 언제든지 다시 설치할 수 있습니다.) 심각한 오류가 멈추면 그게 원인이었습니다.
  2. 목록에 장치 드라이버가 있고 Windows Vista를 실행 중인 경우 센터를 이용하세요. 윈도우 업데이트새로운 운전자를 검색합니다. 많은 장치 제조업체가 Microsoft와 협력하여 Windows Update를 통해 드라이버를 다운로드할 수 있도록 하기 때문에 이 방법은 Windows Vista에 적합합니다. 제어판에서 다음을 선택합니다. 윈도우 업데이트장치 드라이버 업데이트를 확인하세요. 드라이버를 찾으면 설치합니다.
  3. Windows 업데이트에서 새 드라이버를 제공하지 않는 경우 장치 제조업체의 웹 사이트를 방문하세요. 아마도 거기에서 새로운 드라이버를 사용할 수 있을 것입니다. 드라이버를 찾는 데 문제가 있는 경우 OSzone.net의 드라이버, 펌웨어 및 설명서 찾기 포럼을 방문하십시오.

애플리케이션이나 드라이버를 업데이트한 후 드라이버 확인 프로그램 창을 닫습니다. 버튼을 누르면 취소(하지만 더 나아가) . 컴퓨터를 다시 시작하고 운영 체제를 계속 사용하십시오. 심각한 오류가 더 이상 발생하지 않으면 드라이버를 업데이트하여 문제를 해결한 것입니다.

드라이버 제거

새 드라이버를 찾을 수 없으면 드라이버를 제거해 보십시오.

주목!드라이버를 제거하면 장치가 작동하지 않게 됩니다. 재부팅 후 가장 좋은 경우 운영 체제는 자체 드라이버 저장소에서 적절한 드라이버를 설치합니다. 특정 드라이버를 제거할지 확실하지 않으면 제거하지 마십시오.

장치 관리자에서( 시작검색/실행devmgmt.msc좋아요) 장치를 찾아 마우스 오른쪽 버튼으로 클릭하고 다음 중에서 선택합니다. 상황에 맞는 메뉴속성. 그런 다음 탭으로 이동하십시오. 운전사그리고 버튼을 누르세요 삭제.

서명되지 않은 드라이버 확인 중

주목!서명되지 않은 드라이버를 확인한 후 시스템이 부팅되지 않을 수 있습니다(이런 상황에서 조치하는 방법은 아래에 설명되어 있습니다).

드라이버를 제거하지 않거나 서명되지 않은 드라이버를 확인하려면 드라이버 확인 도구 창에서 더 나아가. 물리 디스크를 선택하라는 메시지가 표시됩니다.

준비가 된을 탭한 다음 컴퓨터를 다시 시작하십시오. 재부팅 후 오류와 함께 블루 스크린이 표시되면 문제가 있는 드라이버가 식별되었으며 해당 이름이 오류 메시지에 포함됩니다. 안전 모드로 들어가서 다음을 입력하여 모든 드라이버 확인 옵션을 재설정하십시오. 시작검색/실행verifier.exe /reset.

시스템이 일반 모드로 부팅되면 서명되지 않은 드라이버 검사가 성공적으로 완료된 것입니다. 이는 문제의 원인이 아닙니다. 다음을 실행하여 테스트된 드라이버 목록을 볼 수 있습니다. 검증인.exe .

서명되지 않은 드라이버는 치명적인 오류의 원인이 아니므로 다른 드라이버를 확인해야 합니다.

사용자 정의 드라이버 확인

서명되지 않은 드라이버가 발견되지 않거나 이를 확인해도 문제가 드러나지 않으면 사용자 정의 드라이버 검사를 수행해야 합니다. 이 경우 아래 표시된 창에서 다음을 선택하십시오. 목록에서 드라이버 이름을 선택하세요..

다음 단계에서는 검색할 드라이버를 선택하라는 메시지가 표시됩니다. 모든 드라이버를 한 번에 선택하지 마세요., 이를 확인하는 데는 많은 시간과 시스템 리소스가 소요되기 때문입니다.

따라서 검증은 여러 단계에 걸쳐 수행되어야 할 수도 있습니다. 드라이버를 선택하는 단계별 순서는 다음과 같습니다.

  1. 최근 업데이트된 드라이버 또는 일반적으로 문제를 일으키는 드라이버(드라이버 바이러스 백신 프로그램, 방화벽, 가상 디스크).
  2. Microsoft에서 제공하지 않는 드라이버입니다.
  3. 한 번에 10~15명의 운전자로 구성된 그룹입니다.

운영 체제가 설치된 드라이브를 선택하고 다음을 클릭합니다. 준비가 된을 탭한 다음 컴퓨터를 다시 시작하십시오.

주목!드라이버를 확인한 후에도 시스템이 부팅되지 않을 수 있습니다(이러한 상황에서 조치하는 방법은 아래에 설명되어 있습니다).

재부팅 후 오류와 함께 블루 스크린이 표시되면 문제가 있는 드라이버가 식별되었으며 해당 이름이 오류 메시지에 포함됩니다. 컴퓨터를 다시 시작하고 로그인하세요. 안전 모드눌러서 F8로드하는 동안. 로그인 후 다음을 입력하여 모든 드라이버 확인 설정을 재설정하세요. 시작검색/실행verifier.exe /reset.

시스템이 일반 모드로 부팅되면 선택한 드라이버 검사가 성공적으로 완료된 것입니다. 이는 문제의 원인이 아닙니다. 다음을 실행하여 테스트된 드라이버 목록을 볼 수 있습니다. 검증인.exe첫 번째 단계에서 항목을 선택하고 현재 검증된 드라이버에 대한 정보 표시.

이제 다음 드라이버 그룹을 선택하고 다시 확인해보세요.

모든 드라이버를 확인했습니다. 다음은 무엇입니까?

모든 드라이버에 대한 검사가 성공적으로 이루어졌다면 여러분의 인내와 끈기에 경의를 표해야겠습니다. 대부분의 경우 드라이버는 시스템에서 발생하는 심각한 오류의 원인이 아닙니다. 컴퓨터의 하드웨어에 문제가 있을 수 있습니다(예: 하드 드라이브 결함 또는 랜덤 액세스 메모리, 또는 전원 공급 장치가 힘이 부족하다모든 장치의 작동을 보장합니다. 드라이버를 확인하여 식별할 수 없는 다른 하드웨어 문제가 있을 수도 있습니다.

오늘 설명할 유틸리티는 Driver Verifier라고 하며 Windows XP를 포함한 모든 운영 체제에 포함되어 있습니다. 이 프로그램시스템에 큰 피해를 줄 수 있는 문제를 확인하고 식별할 수 있습니다. 가장 유명한 문제는 죽음의 블루 스크린입니다.

이러한 드라이버에 대한 데이터는 나중에 분석을 수행할 수 있도록 메모리 덤프에 기록됩니다. 따라서 유틸리티는 드라이버를 소위 스트레스 상황(테스트)에 노출시켜 메모리 부족, 다양한 잠금, IRQL, IRP 검사, DMA 등 I/O 제어와 같은 시각적 극한 조건을 생성합니다. 즉, Windows를 사용하는 일반적인 작업 중에 발생해서는 안 되는 극단적인 상황이나 자주 발생하지 않는 상황을 시뮬레이션합니다. 따라서 이 유틸리티를 사용하면 시스템 충돌을 일으킬 수 있는 드라이버를 식별할 수 있습니다.

이미 말했듯이 유틸리티는 모든 것에 내장되어 있습니다. 윈도우 버전그리고 가는 중이야 %windir%\system32. 이 유틸리티는 명령줄과 그래픽 인터페이스의 두 가지 버전으로도 사용할 수 있습니다.

따라서 드라이버 검사기 유틸리티를 실행하려면 창을 열어야 합니다. "달리다"다음 명령을 입력하십시오.

검증인

두 번째 항목을 선택하는 데 필요한 설정이 포함된 창이 열립니다. '맞춤 매개변수 만들기'또는 "맞춤 설정 만들기".

이제 내용을 정렬해야 합니다. 이렇게 하려면 표 상단에 있는 단어를 클릭하세요. 공급자. 이제 모든 드라이버를 선택할 수 있습니다. 그런데 Microsoft에서 드라이버를 선택할 필요는 없습니다.

이제 버튼을 누르시면 됩니다 마치다, 그 후에는 시스템을 재부팅하라는 메시지가 표시됩니다.

이로써 재부팅이 완료되었으며 이제 시스템이 드라이버 확인 모드로 부팅됩니다. 유틸리티는 백그라운드에서 실행되어 다양한 테스트를 수행합니다. 유틸리티가 완료될 때까지 컴퓨터에서 조용히 작업할 수 있습니다. 작업 후 정보 파일은 메모리 덤프에 저장됩니다. 이러한 파일은 일반적으로 다음 경로를 따라 위치합니다. C:\Windows\Minidump\*.dmp. 이제 Windbg나 다른 유사한 프로그램을 사용하여 분석할 수 있습니다.

며칠 내에 문제가 재발하지 않은 것으로 밝혀지면 문제는 드라이버에 전혀 문제가 없으며 다른 곳에서 원인을 찾아야 한다고 말할 수 있습니다. 그 동안에는 이미 드라이버 확인 모드를 비활성화할 수 있습니다. 이 모드는 시스템 속도를 크게 저하시키므로 자주 사용하지 않는 것이 좋습니다.

다음과 같이 유틸리티를 비활성화할 수 있습니다. 명령줄에 다음 명령을 입력합니다.

그게 다야. 이 기사가 귀하의 문제를 해결하는 데 도움이 되었기를 바랍니다.

운전자를 대상으로 한 모든 실험은 위험하며 시스템을 손상시킬 수 있음을 경고합니다. 미리 시스템을 백업한 다음 Windows에서 의심스러운 다른 드라이버를 제거하여 손가락질을 하지 않는 것이 좋습니다.

그리고 그들이 꾸짖지 않자마자 윈도우~에서 마이크로소프트, 불쌍한 것을 동시에 느리고, 결함이 있고, 심지어 불안정하다고 부릅니다. 그러나 누구도 서둘러 포기하지 않으며 일반적으로 포기할 가능성도 없습니다. 그러므로 불쌍한 개발자를 꾸짖고 무의미한 불길을 일으키기보다는 실제로 시스템이 왜 버그가 있는지 알아내는 것이 좋을 것입니다. 나는 당신에게 작은 비밀을 말할 것입니다. 죽음과 불안정한 노동의 악명 높은 화면 속에서 윈도우대부분의 경우 타사 드라이버가 책임이 있으며 운영 체제 자체는 전혀 관련이 없습니다. 이제 이러한 드라이버를 감지하고 시스템에서 제거하는 방법을 알려 드리겠습니다.

드라이버 설계 결함은 충돌부터 죽음의 블루 스크린( BSOD– 죽음의 블루 스크린) 및 컴퓨터 속도 저하 및 드라이버와 전혀 관련이 없는 일부 응용 프로그램의 이상한 동작.

블루 스크린 오브 데스(Blue Screen of Death)는 심각한 문제가 있음을 분명히 알리고 발굴할 위치에 대한 정보를 제공한다는 점에서 놀랍습니다(아이러니 없이!). 항상 그런 것은 아니지만 종종 "불법" 운전자의 이름이 사망 블루 스크린의 오른쪽 상단에 직접 표시됩니다. 하지만 거기에 없을 수도 있고, 더 나쁘게는 전혀 관련이 없는 운전자의 이름이 있을 수도 있습니다.

예를 들어, 상당히 일반적인 비디오 카드 드라이버 중 하나 매트록스 G450그래픽 하위 시스템의 기본 구조를 파괴하는 경향이 있습니다. 윈도우 2000 , 결과적으로 BSOD에 시스템 드라이버 이름이 표시됩니다. win32k.sys USER 및 GDI 함수의 중요한 부분을 구현하며 당연히 이와 관련이 없습니다. 따라서 죽음의 블루 스크린을 해석하는 것은 마술, 직관, 과학, 예술 등 모든 것의 일부입니다.

드라이버 결함 외에도 오버클럭된 프로세서, 결함이 있는 RAM 또는 비뚤어진 컨트롤러와 같은 하드웨어 오류로 인해 블루 스크린이 발생할 수도 있습니다. 하드 드라이브, PCI 카드가 슬롯에 완전히 삽입되지 않음, 커넥터 중 하나의 접촉이 느슨함, 전원 공급 장치 불량, 전해 콘덴서 부풀음 마더보드. 그리고 마지막은 찡그린다 여러가지 이유: 근처 프로세서의 과열로 인해 제조업체에서 "보고하지 않은"세라믹 커패시터 부족(그 결과 RF 구성 요소가 전해질을 통과하여 크게 가열됨), 마지막으로 주요 트랜지스터 누출로 인해 스태빌라이저 어셈블리에서. 그러므로 나무를 자르기 전에 우리가 앉아 있는 철이 제대로 작동하는지 확인해야 합니다. 어떻게 할 수 있나요?

철과의 대결

하드웨어 오류로 인해 발생하는 블루 스크린은 특정 사용자 작업과 관계없이 예측할 수 없이 자연스럽게 나타납니다. 응용 프로그램 응용 프로그램도 다양한 위치에서 심각한 오류를 생성하기 시작하며 시스템에서 발행하는 오류 코드, 주소 및 기타 정보는 모든 경우에 다릅니다! 그런데 I/O 장치의 비동기 요청을 처리하는 드라이버는 예를 들어 무선 네트워크, 거의 똑같이 행동합니다. 결함이 있는 드라이버로 인해 발생하는 블루 스크린은 일반적으로 특정 작업 세트를 수행할 때 발생하며 다소 일정한 정보를 포함합니다.

하드웨어에서 모든 의혹을 제거하려면 다른 하드웨어를 시스템에 연결하는 것으로 충분합니다. HDD, 깨끗한 상태로 설치하십시오. 윈도우그리고 잠시 동안 작업하세요. 죽음의 블루 스크린이 사라지지 않는다면 하드웨어에 문제가 있다는 의미이며 하드웨어를 교체해야 할 때라는 뜻입니다. 결함이 있는 구성 요소를 찾는 것은 별도의 논의 주제이며 다음 시간에 다루겠습니다. 하지만 지금은 소매를 걷어붙이고 이러한 교활한 드라이버를 파악해 보세요.

증명서가 없는 장작은 화실로 바로 들어갑니다.

드라이버 개발에 필요한 전체 도구 세트( DDK– 드라이버 개발 키트), Microsoft는 함께 제공되는 문서와 함께 무료로 배포합니다. 드라이버는 때때로 매우 버그가 많고 불안정합니다.

이런 혼란이 일어나지 않도록, 마이크로소프트고대에는 운전자에게 부과된 요구 사항을 준수하는지 확인하고 운전자에게 디지털 서명을 발급하는 절차가 도입되었습니다. 아니면... 발행되지 않았고 개정을 위해 보내졌습니다. 그리고 인증은 치명적인 오류와 개발 결함이 없음을 보장하지 않는 공식적인 절차일 뿐이지만 여전히 솔직하게 "선구적인" 드라이버 중 일부를 제거합니다.

이상적으로는 디지털 서명된 드라이버만 시스템에 보관해야 합니다. 그리고 디지털 서명은 보험 정책은 아니지만 그 존재는 이미 특정 수준의 개발 문화를 나타냅니다. 없는 운전자 전자 서명- 이것은 돼지를 찌르는 것보다 더 나쁘며 가능하다면 제거해야 합니다(특히 이들 중 다수는 시스템에 깊숙이 침투하여 불안정을 초래하는 루트킷이나 공격적인 방어 메커니즘에 의해 설치된 악성 프로그램이기 때문에). 간단히 말해서 선동에 빠지지 말고 간단한 질문 하나에 답해 보겠습니다. 디지털 서명 없이 운전자 목록을 만드는 방법은 무엇입니까?

유틸리티가 우리를 도와줄 것입니다 sigverif.exe, 운영 체제의 표준 제공 패키지에 포함되어 있으며 WINNT\System32 디렉터리에 있습니다. 우리는 그것을 시작하고 대화 상자를 봅니다. "고급" 버튼을 클릭하고 "검색" 탭에서 "구독 취소 알림" 위치에서 라디오 버튼을 이동하여 선택 기준을 설정합니다. 시스템 파일"(기본적으로 작동하지 않는 곳) "디지털 서명되지 않은 다른 파일 검색" 위치로 이동합니다. 그 후, "검색 옵션"에서 "다음 유형의 파일 검색" 상자를 열고 "*.sys"를 선택하고 아래에 "C:\WINNT" 검색 폴더를 지정하고 "포함"을 확인하십시오. 하위 폴더” 확인란을 선택합니다.

실제로 엄밀히 말하면, 드라이버는 sys 확장자를 가질 필요가 없으며 항상 WINNT 디렉토리, 즉 "그들의" 응용 프로그램 디렉토리에 제한되지 않으며 일부 응용 프로그램은 드라이버를 내부에 저장하기도 합니다. 실행 직후(또는 언제든지) 디스크의 현재 또는 임시 디렉터리에 파일을 저장하고, 드라이버를 메모리에 로드한 후... 즉시 디스크에서 삭제합니다! 이는 악성 바이러스뿐만 아니라 유명한 Windows 지하 연구원 Mark Russinovich의 일부 유틸리티와 같은 상당히 존경받는 프로그램에 의해서도 수행됩니다.

따라서 실험의 순수성을 위해 다음 지역에 있는 운전자 목록을 얻는 것이 나쁠 것은 없습니다. 이 순간메모리에 저장하고 디스크에 있는 드라이버와 비교합니다. 운영 체제를 재부팅하지 않고도 드라이버를 무료로 다운로드/언로드할 수 있으므로 "현재"라는 단어가 핵심입니다. Microsoft 서버에서 다운로드할 수 있는 DDK의 일부인 명령줄 유틸리티 drivers.exe를 실행하여 이 작업을 여러 번 수행하는 것이 좋습니다. 라인 명령을 사용하여 스위치 없이 실행되는 유틸리티 드라이브.exe일반적으로 시스템에 많은 드라이버가 있고 화면에 맞지 않기 때문에 모든 정보를 화면에 덤프하는 것은 좋지 않습니다. 그러나 종교를 사용하면 출력 스트림을 다음으로 리디렉션할 수 있습니다. 텍스트 파일(drivers.exe >file-name.txt), 누구나 열 수 있음 텍스트 에디터- Word나 메모장을 사용하세요. 그런 다음 남은 것은 메모장에서 허용하지 않는 수직 블록을 선택하고 드라이버 목록을 얻는 것입니다. 운영 체제 커널에서 바로!

이러한 드라이버 중 하나 이상이 C:\WINNT\ 디렉터리에 없으면 해당 드라이버의 디지털 서명이 확인되지 않습니다! 당연히 그러한 운전자는 즉시 관심을 끌며 합리적인 질문이 있습니다. 어디서 왔습니까? 먼저 디스크의 모든 디렉터리를 검색합니다. 없으면 Soft-Ice의 CreateFileW 함수에 중단점을 설정하고 전달된 인수를 살펴보세요. 조만간 우리는 버그가 있는 드라이버를 만나게 될 것이며, 그 후에는 이를 생성한 프로세스의 이름이 표시되는 Soft-Ice 화면의 오른쪽 하단 모서리만 볼 수 있습니다. 자세한 내용은 "소스 텍스트 없이 프로그램을 디버깅하는 기술"이라는 책을 참조하세요. 이 책의 전자 사본은 ftp 또는 http 서버 nezumi.org.ru와 디스크에서 찾을 수 있습니다. 그리고 우리는 계속해서 유틸리티를 괴롭히고 있습니다. sigverif.exe.

"확인", "시작"을 클릭하면 "온도계"가 화면에 나타나 진행 상황을 표시하고 하드 드라이브가 가지고 있는 모든 헤드로 바스락거리기 시작합니다. 작업이 완료되면 디지털 서명이 없는 드라이버 목록이 컴파일되어 화면에 표시됩니다.

일부 성급한 사람들은 이단 시스템을 정화하기 위해 서명되지 않은 모든 드라이버를 제거할 것을 제안합니다. 그러면 모든 문제가 사라질 것이라고 그들은 말합니다. 어떻게 할 수 있나요? 가장 거친 해결책은 FAR 또는 Explorer(물론 관리자 권한 사용)를 통해 디스크에서 해당 파일을 제거하는 것입니다. 그러나 이러한 작업의 결과는 매우 비참할 수 있으므로 탐색기에서 드라이버 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "속성"에서 제조업체 이름을 찾아 설치된 응용 프로그램/하드웨어 종류를 확인하는 것이 좋습니다. 이 드라이버를 문명화된 방법으로 제거하십시오. 사실, 여기에는 "하지만"이 하나 있습니다.

드라이버는 아래 그림에 강조 표시되어 있습니다. g400m.sys, Matrox G450 카드와 함께 제공되며 Matrox는 전혀 약한 회사는 아니지만 디지털 서명을받지 못했습니다 (Microsoft가 제공하지 않았거나 Matrox 자체가 귀찮게하고 싶지 않았습니다). 당연히 시스템에서 제거한 후에는 SVGA 모드를 잊어야 합니다. 그러나 Matrox 웹사이트로 이동하여 최신 버전의 드라이버를 다운로드할 수 있습니다(이미 디지털 서명되어 있음). 여기에서만... 서명된 버전과 서명되지 않은 버전 모두 치명적인 오류가 많이 포함되어 있습니다. 특히 특정 상황의 결과로 오버레이 모드로 전환하려고 하면 드라이버가 이미 해제된 메모리를 해제하려고 하기 때문에 시스템이 BSOD로 충돌합니다.

따라서 디지털 서명의 유무 자체는 아무런 의미가 없으며 서명된 드라이버만 사용하더라도 안정성이 보장되지 않습니다.

여기에서 기사의 두 번째 부분, 즉 전투에 가까운 조건에서 드라이버를 테스트하는 부분으로 넘어갑니다.

우리는 장작을 실제 테스트합니다.

DDK에는 훌륭한 유틸리티가 포함되어 있습니다. 운전사 검증자, 이는 운전자에게 가장 가혹한 조건을 조성하며, 실패 확률이 최대이고, 결함이 있는 운전자의 이름이 가장 정확하게 결정되는 극단적인 자살에 가까운 상태입니다(개발 결함으로 인해 피해를 입지 않더라도, 그러나 다른 사람의 운전자의 데이터 구조를 파괴합니다).

다음 사항에 유의하는 것이 중요합니다. 운전사 검증자- 이것은 의약품이 아니며 진단 도구일 뿐입니다. 여전히 실패로부터 사용자를 보호하지는 못하지만(반대로 강도를 몇 배로 증가시킵니다) 충분한 신뢰성을 가지고 "부적절한" 운전자를 식별하는 데 도움이 될 것입니다.

그래서 verifier.exe를 실행하면 창이 나타납니다. 운전사 검증자 관리자, 설정 탭으로 이동하여 라디오 버튼을 모든 드라이버 확인 위치로 이동한 후 다음 확인 유형을 설정하는 "선호 설정" 버튼을 누릅니다.

  • 특별한 수영장– 테스트 중인 드라이버에는 할당을 위한 특수 메모리 영역이 할당됩니다. 이는 매우 빠르게 작동하지는 않지만 자체 데이터와 다른 사람의 데이터에 대한 대부분의 파괴 유형을 감지할 수 있습니다.
  • IRQL확인 중. IRQL은 인터럽트 요청 수준입니다. 드라이버 개발자가 저지르는 가장 일반적인 실수는 페이징 관리자가 작동하지 않는 IRQL 수준에서 메모리에 액세스하려고 시도하는 것입니다. 그리고 필요한 페이지가 갑자기 디스크에서 제거되는 것으로 밝혀지면 시스템은 "IRQL_LESS_OR_EQULAR"라는 문구와 함께 블루 스크린으로 전환됩니다. 이 모드를 강제로 적용하면 드라이버 페이지가 디스크에 플러시되어 설계 결함이 항상 100% 나타납니다.
  • 낮은 자원 시뮬레이션시스템 리소스가 심각하게 부족한 경우 드라이버가 어떻게 작동하는지 확인하기 위해 설치하는 것이 유용하지만 꼭 그렇게 할 필요는 없지만 풀 추적 확인란을 그대로 두는 것이 좋습니다(메모리의 올바른 처리 모니터링). 수영장). 입/출력 오류(I/O 확인)는 모든 오류 중에서 중요하지 않은 부분을 차지하므로 일반적으로 이 확인란의 위치는 전혀 중요하지 않습니다.

설정 선택을 마친 후 "적용" 버튼을 클릭하고 제안된 대로 재부팅합니다.

부팅이 시작되자마자 커널이 평소보다 더 많은 검사를 수행하기 때문에 시스템 속도가 눈에 띄게 느려집니다. 오류가 감지되면 드라이버 이름과 개발자에게는 유용하지만 우리에게는 쓸모가 없는 기타 정보와 함께 죽음의 블루 스크린이 깜박입니다. 우리가 할 수 있는 일은 드라이버를 최대한 업데이트하는 것 뿐입니다. 최신 버전또는 이를 사용하는 프로그램(하드웨어)의 사용을 거부합니다. 실제로 젖은 나무에 불을 붙일 수 있는 옵션이 조금 더 있지만 이에 대해서는 나중에 자세히 설명합니다.

verifier.exe를 실행하면 언제든지 확인 상태를 확인할 수 있습니다. 드라이버 상태 탭에는 현재 상황에 대한 설명과 함께 감지된 모든 드라이버의 상태가 나열됩니다. 로드됨 상태는 이 드라이버가 적어도 한 번 로드되고 테스트되었음을 ​​의미합니다(그러나 완전히는 아닐 수도 있습니다. 즉, 드라이버의 모든 부분이 테스트되지 않았을 수도 있음). 언로드 상태는 드라이버가 이를 사용하거나 자체 요청에 따라 시스템/프로그램에 의해 로드, 확인(부분적으로 가능) 및 언로드되었음을 의미합니다. 후자는 특히 제거를 수행하지 않고 확장 카드를 슬롯에서 야만적으로 잡아당겨 제거한 장비에서 남은 드라이버의 경우에 일반적입니다. 살아남은 드라이버는 버스를 스캔하여 "해당" 하드웨어를 찾으려고 시도하지만 검색에 실패하고 메모리에서 자체 언로드되어 시스템 부팅 속도가 느려지고(때로는 매우 크게) 다른 드라이버와 충돌합니다. 도덕: 모든 규칙에 따라 장비를 시스템에서 제거해야 합니다! 그러나 모든 Unloaded 상태가 비정상적인 상황을 나타내는 것은 아니며, 이러한 상태의 드라이버를 삭제하기 전에 이것이 어떤 순록인지, 어디서 왔는지 먼저 파악해야 합니다.

Never Loaded 상태는 이 드라이버가 아직 로드되지 않았음을 나타냅니다. 즉, 확인되지 않았음을 의미하므로 실행하기 전에 기다려야 합니다. 다양한 프로그램그것과 연관될 수도 있습니다. 그러나 일부 드라이버(특히 잘못 제거된 드라이버)는 로드되지 않아 검사되지 않습니다.

하드 체크 모드에서 일정 시간(몇 시간에서 며칠까지) 시스템을 작업한 후 이전에 겪었던 결함이 있는 거의 모든 드라이버를 식별하고 해당 드라이버의 이름을 종이에 적습니다.

동일한 검증기를 사용하여 시스템을 일반 모드(즉, 성능을 소모하는 추가 검사 없이)로 되돌릴 수 있습니다. 설정 탭으로 돌아가서 라디오 버튼을 선택한 드라이버 확인 위치로 이동하고(드라이버를 선택하지 않아야 함) "모두 재설정"을 클릭한 다음 "적용"을 클릭하고 재부팅합니다. 모두! 이제 시스템은 정상 속도로 작동하지만 점검은 수행되지 않습니다.

젖은 장작을 어떻게 해야 할까요?

하지만 결함이 있는 운전자로 무엇을 할 수 있습니까? 디버거를 손에 쥘 줄 아는 해커라면 여유 시간이 충분하면 디버거를 분해해서(다행히 드라이버의 크기가 작은 경우가 많다) 오류를 찾아 고칠 수 있는 방법을 찾아내지만.. .시간이 너무 많이 걸립니다.

드라이버(이를 사용하는 하드웨어/프로그램과 함께)를 버리는 것도 선택 사항이 아닙니다. 죽음의 블루 스크린이 책임이 있다는 것이 알려지면 사운드 카드 20달러에 달하는 익숙하지 않은 중국 제조업체의 제품인 경우, 이를 더 가치 있는 제품으로 교체하려는 매우 강한 동기가 있습니다. 그러나 이것은 엄밀히 말하면 이미 모든 사람에게 분명하며 추가 설명이 필요하지 않습니다.

그러나 단일 프로세서 환경에서 개발(및 테스트)된 드라이버가 듀얼 프로세서 시스템에 설치되었기 때문에 엄청난 수의 충돌과 블루 스크린이 발생한다는 사실을 모든 사람이 아는 것은 아닙니다. 여기서 "듀얼 프로세서"란 두 개의 스톤이 있는 실제 플랫폼과 하이퍼스레딩/멀티 코어 프로세서를 모두 의미합니다. 다음과 같은 사실이 알려져 있습니다(그리고 수많은 테스트를 통해 확인되었습니다). 가정용 컴퓨터두 개의 프로세서는 절대적으로 쓸모가 없습니다. 왜냐하면 대부분의 응용 프로그램에서는 실제로 성능 향상이 없기 때문입니다.

따라서 시스템이 불안정하고 어떤 이유로든 결함이 있는 드라이버를 제거할 수 없는 경우 다음을 시도해 볼 수 있습니다. BIOS 설정, "가상 이중 프로세서" 시스템을 단일 프로세서 시스템으로 전환합니다. boot.ini 파일을 열면 비슷한 효과를 얻을 수 있습니다(컴퓨터의 경우 윈도우 NT/2000/XP시스템이 설치된 논리 드라이브의 루트 디렉터리에 있음) /ONECPU 스위치를 추가한 다음 오류가 사라지길 바라며 재부팅합니다.

목록 1

일반적인 boot.ini 파일의 예


시간 초과=30

멀티(0)디스크(0)rdisk(0)파티션(1)\WINNT="Windows 2000 Pro" /fastDetect /SOS

목록 2

우리는 사용 가능한 모든 프로세서 중에서 단 하나의 프로세서만 사용하도록 시스템을 구성합니다.


시간 초과=30
기본값=다중(0)디스크(0)rdisk(0)파티션(1)\WINNT
멀티(0)디스크(0)rdisk(0)파티션(1)\WINNT="Windows 2000 Pro" /fastDetect /SOS /ONECPU

하지만 윈도우 추억 boot.ini 파일이 없으며 다음을 사용하여 (일시적으로) 부팅 설정을 구성하는 것이 가능하지만 특수 유틸리티, Microsoft는 이 허점을 완전히 포기하여 BIOS 설정만 남게 할 계획입니다. 그러나 추억, 그러면 드라이버 개발자가 이를 전환할 때쯤이면 아마도 멀티프로세서 시스템을 구입하고(다른 제품은 판매용으로 남지 않기 때문에) 멀티프로세서 환경에서 자신의 창작물을 테스트할 것입니다.

또 다른 미묘한 점. 위에서 드라이버 개발자가 범하는 가장 일반적인 실수는 페이징 관리자가 작동하지 않는 IRQL 수준에서 선점형 메모리에 액세스하고, 요청한 페이지가 메모리에 없으면 충돌이 발생한다고 말한 것을 기억하십니까? 여기서 확실한 해결책은 실질적으로 어떤 페이지도 디스크로 제거되지 않는 볼륨으로 RAM을 늘리는 것입니다. 현재 메모리 가격으로 거의 모든 사람이 새 메모리 스틱 두 개를 구입할 여유가 있습니다. 그러나 문제에 대한 더 접근하기 쉽고 더 우아한 해결책이 있습니다. 매개변수인 경우 비활성화PagingExecutive, 다음 레지스트리 지점에 위치 HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\MemoryManagement, 1과 같다(기본값은 0), 핵 구성요소는 선점되지 않습니다. 따라서 "레지스트리 편집기"를 실행하고 이 소중한 매개 변수를 변경한 다음 재부팅합니다(변경 사항은 재부팅 후에만 적용됩니다). 이것이 실패 문제를 해결하는 데 도움이 되기를 바랍니다.




맨 위