"새 하드웨어 발견 마법사"무시 / 드라이버 자동 설치를위한 Windows 설정


9

내 마더 보드는 마침내 10 년이 지난 후에 죽었습니다. 그래서 저는 중고 시스템을 구입했습니다. 기존 하드 드라이브와 사운드 카드를 새 시스템에 넣고 기존 키보드와 마우스를 연결했습니다 (CPU, RAM, mobo, 비디오 카드의 나머지 구성 요소는 새 시스템에 있음).

Windows가 새 하드웨어의 드라이버를 부팅하고 설치하는 것은 어려운 일임을 미리 알고 있었지만 (특히 기본 구성 요소가 새롭기 때문에) 키보드와 마우스가 작동하지 않기 때문에 비디오 카드 작동합니다 (BIOS 화면, DOS 모드, Windows 7, XP 부팅 메뉴 등은 Windows XP 자체가 아니라 작동 함).

XP를 부팅하려고 할 때마다 (정상 또는 안전 모드에서) 감지 된 모든 새 하드웨어와 프로세서에 대한 새 하드웨어 발견 마법사 가 나타납니다. 분명히 최저 수준의 구성 요소를위한 드라이버를 설치해야합니다 위에). 불행히도 PS / 2 또는 USB 포트 용 마더 보드 드라이버가 아직 설치되어 있지 않아 키보드와 마우스가 작동하지 않기 때문에 다음을 클릭 할 수 없습니다. 직렬 마우스를 사용해 보았지만 아무 소용이 없었습니다. 다시 말하지만 DOS 등에서는 작동하지만 직렬 포트 드라이버가 설치되어 있지 않기 때문에 XP에서는 작동하지 않습니다.

"서명되지 않은 드라이버 경고"를 무시하도록 수동으로 설정하기 위해 Windows 7에서 소프트웨어 및 시스템 하이브를 마운트하려고했습니다 (내가 참조한 드라이버 서명 정책 설정 모두 사용). 그것은 작동하지 않았다; 여전히 마법사가 나타납니다.

그들은 공상적이고 독점적이거나 타사 또는 서명되지 않은 드라이버조차 아닙니다. CPU, RAM, IDE 컨트롤러 등의 드라이버처럼 Windows와 함께 제공되는 드라이버입니다. 키보드와 마우스 드라이버는 일반적인 것입니다 (그러나 내가 말했듯이, 연결된 포트의 드라이버가 아직 설치되지 않았기 때문에 관련이 없습니다).

분명히 지난 몇 년 동안 어느 시점에서 새 하드웨어가 감지 될 때 Windows에서 항상 메시지를 표시하도록 설정이 변경되었습니다. (또한 비정상 종료시 종료 이벤트 추적기를 표시하도록 구성되었으므로 데스크톱을 볼 수 있도록 종료해야했습니다.)

아, 그리고 모든 PNF 파일을 삭제하여 재생성하려고 시도했지만 도움이되지 않았습니다.

누구나 새 하드웨어에 대한 드라이버를 자동으로 설치하여 오류가 발생하면 메시지를 표시하기 전에 Windows를 재설정하는 방법을 알고 있습니까? 반대로, 자동 드라이버 설치를 끄는 방법과 마법사가 표시하는 방법을 아는 사람이 있습니까?

고마워


그렇지 않으면 대답이 나오기 때문에 분명히하기 위해 아래 대화 상자에 대해 이야기하지 않고 그 아래 대화 상자에 대해 이야기하고 있습니다.

대체 텍스트

대체 텍스트


아, 그리고 키보드와 마우스 (또는 다른 입력 장치)가 ' t 설치 / 작동 중이라면 장치 관리자 사용과 같은 작업을 정확히 어떻게 수행합니까?

답변:


10

나는 금요일에 새로운 오래된 시스템에서 Windows XP를 사용하게되었습니다! 우후! (5½ 개월 밖에 걸리지 않았습니다.)

불행히도 좌절감과 조급함이 커짐에 따라 다른 사람이 비슷한 문제를 겪을 경우 문제를 해결하는 데 필요한 특정 단계를 설명하겠습니다. 그러나 나는 내가 사용했던 작업 파일을 유지하고 내가 변경 한 내용을 알아 차렸으므로 시도해 보거나 최소한 도움이 될 몇 가지 사항을 나열 할 것입니다.

(이것은 고급 사용자를위한 고급 기능이지만, 고급 사용자조차도이를 심각하게 망칠 수 있으므로 초기 백업 단계입니다.)


문제를 요약하면 기존 Windows 설치가 포함 된 하드 드라이브가 새 시스템에 설치되고 Windows는 하드웨어 용 드라이버를 자동으로 설치하지 않으며 서명 해야하는 드라이버의 경우에도 서명되지 않은 드라이버를 설치하라는 메시지를 표시합니다 . 또한 Windows에서 키보드 나 마우스 (또는 다른 입력 장치) 용 드라이버를 설치하지 않았으므로 사용자가 대화 상자를 수락 할 수 없습니다.


다음은 tl; rd 버전입니다.

  1. 레지스트리 하이브를 백업하십시오.
  2. 가능한 모든 프로그램, 드라이버 및 서비스를 비활성화하십시오.
  3. 모든 것을 볼 수 있도록 작업 표시 줄과 같은 것을 설정하십시오 (정보를 숨기지 마십시오).
  4. .BAT 파일을 자동 실행하여 변경 및 온라인 (OS 내) 작업을 쉽게 수행 할 수있는 방법을 찾으십시오.
  5. 매크로 / 스크립팅 앱을 사용하면 키 누르기와 단추 클릭을 자동화 할 수 있으므로 직접 수행 할 수 없습니다.
  6. 모든 시스템 파일이 있는지 확인하십시오.
  7. 문제가 있고 더 이상 존재하지 않는 하드웨어를 수동으로 제거하십시오.

  1. :

    • DOS 또는 다른 OS로 부팅 (순수)하고 레지스트리 하이브의 백업 사본을 다른 위치에 만듭니다. 이것은 포함 %systemroot%\System32\CONFIG\*하고%userprofile%\NTUSER.DAT

    • SystemBootDevice시스템 드라이브가 이전과 다른 드라이브 / 파티션에있을 수 있으므로 BOOT.INI 및 [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet00 * \ Control]의 드라이브 / 파티션 설정 이 올바르게 설정되어 있는지 확인하십시오 . (r) 디스크는 0 이었지만 새 드라이브로 인해 1이되었습니다.

  2. :

    • 적절한 레지스트리 하이브를 마운트하고 불필요한 외부 자동 실행 프로그램, 특히 창을 버릴 수있는 모든 것을 비활성화하십시오. 이와 같은 문제를 해결 하려면 단순화 해야합니다 ). 자동 실행 항목을 삭제할 필요는 없습니다. 대신 Windows를 실행하고 다시 실행하려는 경우 (특히 많은 명령이있는 항목의 경우) 자동 실행 항목을 비활성화 할 수 있습니다. 행 인수) :

      • 를 들어 Run키, 당신은 단순히에 던져 수있는 #명령의 시작 부분에 문자 또는 뭔가. 그렇게하면 Windows는 유효한 파일이 아니기 때문에 실행할 수 없으며 무시합니다.

      • SYSTEM 하이브를 마운트하고 start외부 드라이버 및 서비스 (특히 더 이상 존재하지 않는 하드웨어 용)에 대해 매개 변수를 disabled (dword : 4)로 설정하십시오.

      • 명령의 시작 부분에를 추가하여… \ Control \ Session Manager에서 PageDefrag 등을 비활성화 하십시오 ( 재설정 단추를 통해 재부팅해야하는 경우 드라이브를 확인 / 고정하기를 원하기 때문에 그대로 두십시오 ).BootExecute#autocheck

      • Startup폴더 에서 바로 가기를 삭제하는 대신 다른 곳으로 이동하십시오.  

    • 설정 윈도우는 소프트웨어 및 NTUSER 레지스트리 하이브를 설치하고 설정에 관계없이 드라이버 서명의 드라이버를 설치 \Software\Microsoft\Driver Signing하고 \Software\Microsoft\Non-Driver SigningBIN에 : 00.

  3. :

    • 작업 표시 줄과 알림 영역이 표시되도록 \Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2하려면 NTUSER를 마운트 하고 9 번째 바이트를 설정하여 비트 0을 끄고 비트 1을 켜도록 편집 하여 최상위를 켜고 자동 숨기기를 끄십시오 (0x7A는 최대 정보를 표시합니다 ). 또한 PCMag의 TrayManager 와 같은 다른 작업 표시 줄 통합 / 조작 프로그램을 비활성화하십시오 (유틸리티를 판매하기 전에 가져 왔을 수도 있습니다).
  4. :

    • 소프트웨어 하이브를 마운트하고 자동 실행 항목을 추가하여 시작시 .BAT 파일을 실행하십시오 C:\t\j.BAT. 이제 직접 입력하지 않고도 Windows에서 쉽게 작업 할 수 있습니다. 물론 다른 OS로 재부팅하고 배치 파일을 수정하고 Windows를 다시 부팅하여 변경해야하지만 Windows에서 다른 작업을 수행하는 방법이없는 것이 좋습니다. ;-)(단지 삭제하는 대신 내용을 주석 처리 할 수 ​​있습니다.) 배치 파일의 끝에 명령을 추가하여 Windows를 재부팅하십시오 (예 :) shutdown -t 10 -r. 잊지 마십시오. 그렇지 않으면 재설정 버튼을 눌러야합니다!

    • 배치 파일 (예 j.bat:)에서 .REG 파일 가져 오기와 같은 특정 작업을 수행 합니다 (일괄 파일을 사용하는 것처럼 다른 OS에서 오프라인으로 편집 할 수 있음). 배치 파일에서 장치 관리자를 실행하고 창을 최대화하여 ( Nircmd 와 같은 도구로 ) 하드웨어의 현재 상태를 볼 수있는 기회를 제공하십시오. QRe 와 같은 명령 줄 도구 를 사용하여 해상도를 최대 비디오 드라이버 (이 시점에서는 일반 VGA 어댑터 일 수 있음)로 설정하십시오 (예 : 1024x768). .DLL 파일을 다시 등록하여 수정할 수도 있습니다. 일부 문제, 특히 Windows Update와 관련된 문제

    • 당신은 일시 정지 스크립트를 위해 주어진 시간 (초 단위의) 동안 일시 중지 할 수있는 명령 줄 도구 얻고 싶은 것 있도록 배치 파일, 신속하고 미친 듯이 실행하지 않으 실행을 - 아니, pause명령이 더 좋은 보낸 사람입니다 계속하려면 키를 눌러야합니다. (수년 전에 작성한 프로그램을 사용했지만 인터넷에는 많은 프로그램이 있거나 일반적인 핵을 사용합니다 .)

  5. :

    • HotkeyMaster , WinMacro , MacroMaker , AutoHotkey , AutoIt 등 의 매크로 레코더 / 스크립팅 앱을 다운로드하십시오 ! 등을 입력하고 필요한 키보드 또는 마우스 동작을 수행하도록 구성합니다 (이렇게하면 실제로 사용 가능한 입력 장치없이 Windows에서 작업을 "할 수"있습니다). 제목 및 / 또는 클래스 및 / 또는 특정 마우스 클릭 또는 키 누름을 제어하고 특정 창 또는 대화 상자를 감지하도록 구성하려고합니다. 예를 들어 드라이버 확인 대화 상자를 자동으로 감지하여 Next또는Continue버튼. (Windows가 하드웨어를 감지하고 드라이버를 묻는 메시지가 표시 될 때까지 실행되도록 매크로 응용 프로그램을 .BAT 파일 대신 시작시 실행되도록 매크로 앱을 설정해야합니다. 배치 파일 start이 종료되지 않으므로 배치 파일이 차단되지 않도록 명령을 사용하여 배치 파일)
  6. :

    • 필요한 모든 시스템 파일이 제자리에 있는지 확인하십시오. 배치 파일을 통해 실행하십시오 sfc /scannow. Windows에 CD / DVD 드라이버가 설치되어 있다고 가정하면 드라이브에 Windows 디스크가 있어야합니다. 오프라인 상태에서 누락 된 파일을 수동으로 복사 할 수도 있습니다. 예를 들어, 마지막 XP 백업에서 존재하는 파일을 덮어 쓰지 않도록 모든 파일을 복사했습니다 . 이렇게하면 누락 된 파일이 복원됩니다 (특히 다음 디렉토리에서).

      • C : \ Windows
      • C : \ Windows \ INF
      • C : \ Windows \ 드라이버 캐시
      • C : \ Windows \ ServicePackFiles
      • C : \ Windows \ System32
      • C : \ Windows \ System32 \ dll 캐시
      • C : \ Windows \ System32 \ 드라이버

      • (또한 하드웨어가 설치되지 않은 다음 관련 디렉토리가 마지막으로 다시 작동하기 오래 전에 복원했습니다. 우연의 일치? 모르겠습니다.)

      • C : \ Windows \ 조립
      • C : \ Windows \ Microsoft.NET
      • C : \ Windows \ WinSxS
      • C : \ Windows \ 도움말
      • C : \ Windows \ System32 \ WBEM

      • (실제로 C : \ Windows \ System32 \ CatRoot *를 삭제하거나 이름을 바꾸고 싶을 수도 있습니다)

  7. :

    • C : \ Windows \ INF에서 모든 .PNF 파일을 삭제하십시오. Windows는 다음에 드라이버를 설치할 때 기존 .INF 파일에서 파일을 다시 빌드합니다 (이 시점에서는 여전히 부팅 할 때마다). 이것은 최신 파일 복사본을 가져 와서 사용하기 위해 페이지가 올바르게 표시되지 않을 때 브라우저 캐시를 지우는 것과 유사합니다.

    • 마지막 수단으로 얻을 수 및 Microsoft 도구를 사용하여 DEVCONWindows가 처음부터 하드웨어를 설치하려고 할 수 있도록 특정 장치를 제거 할 수 있습니다. 그러나 먼저 배치 파일을 통해 명령을 실행하여 DEVCON findall * > C:\t\devcon.log모든 하드웨어 및 해당 ID 목록을 덤프해야합니다. 이렇게하면 제거 할 하드웨어에 대한 적절한 사용자 정의 목록을 컴파일 할 수 있습니다. 제거해야 할 장치에는 다음이 포함됩니다.

      • "* ACPI *"
      • "USB \ ROOT_HUB *"
      • "SERENUM \ MOUSE *"
      • " VEN_8086 "
      • "HID *"
      • "* TUNMP *"
      • "PCI \ VEN_1102 *"
      • "PCI \ VEN_1033 *"
      • "PCI \ VEN_1011 *"
      • "PCI \ VEN_1186 *"
      • "PCI \ VEN_11AB *"
      • "PCI \ VEN_1274 *"
      • "PCI \ VEN_5333 *"

      • (이것은 프로세서, 포트, 버스, 입력 장치, 네트워크 카드, 하드 드라이브 및 광 드라이브와 같은 메인, 마더 보드 관련 장치입니다.)


보시다시피, 시스템 드라이브를 새 시스템 (마더 보드 읽기)에 넣고 다시 설치하지 않으려는 경우 Windows를 다시 실행 하는 것은 어려움이 아닙니다 . 입력 방법이 없으면 매우 어렵지만 불가능 하지는 않습니다 . 그것은 시간, 노력, 인내, 도구, 세부 사항에 관심과주의를 많이 걸리지 만 입니다 가능하고, 보상 (시간이 지남에 만든 사용자 지정 얼마나 많은 수천 - 아는 사람 잃고, 따라서 전체를 다시 설치를 미루고 및 ) 가치가 있습니다.

다행스럽게도 마침내 설치하고 다시 설치할 준비가되지 않았기 때문에 마침내 작동하게되었습니다. 이제 Outlook Express를 다시 사용할 수있을뿐 아니라 계정에 쌓여있는 5,000 개 정도의 전자 메일을 다운로드하여 제거 할 수있을뿐 아니라 설치된 이전 VS2003 사본에서 프로그래밍을 다시 수행 할 수 있습니다. (저는 Windows 7에 익숙하지 않았습니다. 실제로 잠시 동안 XP에서 이상한 느낌이 들었지만 1 년 동안 기숙사로 이사 한 후 다시 집으로 돌아가는 느낌이 들었습니다. 집에서 침실.)


1

여기에서 답변을 공유하겠습니다. 스크립트는 MSFN 사이트에 올바르게 표시됩니다 : http://www.msfn.org/board/topic/49514-disable-found-new-hardware-wizard/?do=findComment&comment=1132792

AutoIt3 스크립트 https://www.autoitscript.com/site/autoit/downloads/ 를 만들었습니다. 모든 새 하드웨어 마법사 창에서 서명되지 않은 드라이버를 허용하고, WinXP CD 프롬프트를 취소하고 여러 옵션을 건너 뜁니다 (인터넷에 연결 등) 마우스와 키보드를 감지하고 설치합니다. 컴파일 된 자동 스크립트 EXE는 "시작"( "시작 메뉴"내) 폴더로 복사되어 자동으로 실행되어야합니다. 스크립트 문자열은 로컬 윈도우 언어에 맞게 조정해야합니다. 아마 Alt-LETTER 조합도있을 것입니다. 내 샘플은 SPANISH WinXP에서 작동합니다. 마우스 및 키보드 기능을 수행 한 후에 스크립트를 삭제하거나 다른 폴더로 이동해야합니다.

$asistente= "Asistente para hardware nuevo encontrado" ;"Found New Hardware Wizard"
$instalacion= "Instalación de hardware"
$archivos= "Archivos necesarios"
$cambio= "Cambio de configuración del sistema"

while 1
sleep(200)

if WinExists( $cambio) then
   WinActivate( $cambio)
   sleep(200)
   Send("!n")        ; (press Alt-n)
endif

if WinExists( $instalacion) then
   WinActivate( $instalacion)
   sleep(200)
   $text=WinGetText( $instalacion)
   if StringInStr( $text, "El software que está instalando para este hardware") then ;"The software..."
     Send("!c")
    endIf
;  MsgBox($MB_OK, "Autoit Status", $text & stringinstr( $text, "está"), 2 )  ;  sleep(2000)
endif

if WinExists($archivos) then
   WinActivate($archivos)
   sleep(200)
   $text=WinGetText( $archivos)
   if StringInStr( $text, "Se necesita el archivo") then
       ControlClick( "Archivos necesarios", "", "[ID:2]" )
    endIf
endif

if WinExists( $asistente) then
   WinActivate( $asistente)
   sleep( 200)
   $text=WinGetText( $asistente)

   if StringInStr( $text, "Desea que Windows se conecte a Windows Update") then ;"Can Windows connect to Windows Update to search for software?"
;     ControlCommand( $asistente, "", "[ID:8104]", "Check", "")
     sleep(150)
;     ControlClick( $asistente, "", "[ID:12324]")
     Send("!n")
     sleep(100)
     Send("!t")
     sleep(250)
   endif

   $text=WinGetText( $asistente)
   if StringInStr( $text, "Este asistente le ayudará a instalar software para:") then ;"This wizard"
     sleep(150)
     Send("!t")
     sleep(250)
   endif

   $text=WinGetText( $asistente)
   if StringInStr( $text, "No se puede instalar este hardware") then ;"Cannot Install this Hardware"
     ControlCommand( $asistente, "", "[ID:1030]", "UnCheck", "")
     sleep(200)
     ;ControlClick( $asistente, "", "[ID:12325]")
      Send("{ENTER}")
     sleep(200)
   endif

   $text=WinGetText( $asistente)
   if StringInStr( $text, "desea que haga el asistente?") then ;"What do you want the wizard to do?"
   ControlCommand( $asistente, "", "[ID:1049]", "Check", "")
   sleep(200)
   ControlClick( $asistente, "", "[ID:12324]")
   sleep(200)
   endif

   $text=WinGetText( $asistente)
   if StringInStr( $text, "Se recomienda que se conecte a Internet para que el asistente") then
   ControlCommand( $asistente, "", "[ID:1065]", "Check", "")
   sleep(200)
   ControlClick( $asistente, "", "[ID:12324]")
   sleep(200)
   endif

   $text=WinGetText( $asistente)
   if StringInStr( $text, "Finalizar para cerrar") then ;"Click Finish to close the wizard."
   ControlClick( $asistente, "", "[ID:12325]")
   sleep(250)
   endif
endif

wend 

올바른 형식을 지정하지 않고 답변을 복사하여 붙여 넣지 말고 서식을 수정하는 것이 매우 쉬워서이 답변이 여기에 좋습니다.
cascer1

죄송합니다 cascer1, 코드를 직접 만들었습니다. 결국에 IF 들여 쓰기가 빠진 것을 제외하고는 형식이 올바르게 보입니다.
isidroco

2011 년에 AutoIt (또는 내 경우에는 AutoHotkey)을 사용하기 시작했는지 기억이 나지 않습니다. 그렇지 않으면 분명히 사용했을 것입니다. 👍
Synetech

0

시스템 드라이버 경로에 일치하는 드라이버가없는 경우에만 마법사가 나타납니다. 에 따르면 TechNet의 , 당신은 HKEY_LOCAL_MACHINE \ SOFTWARE \ 마이크로 소프트 \ 윈도우 \ CurrentVersion을 \ 및 DevicePath 오프라인 오토하기 위해 귀하의 드라이버 infs를 포함하는 폴더를 추가, 수정 마법사를 진열하기 전에 그들을 검색해야합니다.

작동하지 않는 경우 모든 드라이버를 통합하여 다시 설치하는 것이 더 간단 할 수 있습니다.


유망한 것처럼 보였지만 불행히도 설정이 이미 정확합니다 ( %SystemRoot%\inf). 사실, 항목의 CurrentVersion\Setup도 (같은 좋은 DriverCachePathInstallation Sources). 난 만든했는지에있는 파일 INF, DriverCache그리고 DLLCache모든 현재 및 회계 처리하고 있습니다. Windows 드라이버를 찾아서 설치할 수 있어야합니다 (적어도 기본 구성 요소의 경우 비디오 카드 또는 Windows보다 최신 버전이더라도 드라이버가없는 경우에도). 포트 또는 입력 장치의 드라이버를 감지하고 설치하기 위해
Synetech

주문을 확인하지 않으셨습니까? 이것을 읽으십시오 . 비슷한 문제가 발생한 것 같습니다. 하이브를 마운트하고 DevicePath 항목을 다시 정렬하여 문제를 해결하고 Windows에서 키보드와 마우스를 먼저 찾도록 할 수 있다고 생각합니다. (3 년 후의 의견;))
Jet

0

이 문제를 위해 시작할 때 Teamviewer를 추가하고 누락 된 하드웨어 (/ w 키보드 및 마우스)를 설치했습니다.


2
필요하기 전에 이전에 설치했거나 키보드와 마우스를 사용하여 설치할 수 있어야합니다. 어느 쪽이든, 원격 액세스 할 수 있는 좋은 아이디어 일 수 있지만,이 같은 상황에서 도움이되지 않습니다.
Synetech

@Synetech, 스크립트 작업을 통해 자동으로 설치할 수 없습니까?
Pacerier
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.