Обхід “Знайденого нового майстра обладнання” / Налаштування Windows на автоматичне встановлення драйверів


9

Моя материнська нарешті загинула після кращої частини десятиліття, тому я купив використану систему. Я поставив свій старий жорсткий диск та звукову карту в нову систему та підключив стару клавіатуру та мишу (решта компонентів - процесор, оперативна пам'ять, mobo, відеокарта - з нової системи).

Я заздалегідь знав, що викликати завантаження та встановлення драйверів для нового апаратного забезпечення буде завданням Windows (тим більше, що основоположні компоненти є новими), але я зовсім не в змозі навіть спробувати пройти роботу з встановлення драйверів для таких речей, як відеокарта , так як клавіатура і миша не буде працювати (вони роблять роботу, на екрані BIOS, в режимі DOS, в Windows 7, в меню завантаження ХР і т.д., але тільки не в самій Windows XP).

Щоразу, коли я намагаюся завантажувати XP (у звичайному або безпечному режимі), я отримую купу повітряних кульок, які вискакують для всіх нових виявлених апаратних засобів, і Майстра нового робочого обладнання для процесора (очевидно, він повинен встановлювати драйвери для компонентів найнижчого рівня вгору). На жаль, я не можу натиснути Далі, оскільки клавіатура та миша ще не працюватимуть, оскільки драйвери материнської плати (для портів PS / 2 або USB) ще не встановлені. Я навіть спробував послідовну мишу, але безрезультатно - знову ж таки, вона працює в DOS, 7 і т. Д., Але не в XP, оскільки на ній не встановлений драйвер послідовного порту.

Я спробував встановити вулики SOFTWARE і SYSTEM під Windows 7, щоб вручну встановити "неподписане драйвер попередження" ігнорувати (використовуючи обидва налаштування політики підписання драйверів, на які я знайшов посилання). Це не спрацювало; Я все ще отримую майстра.

Вони навіть не фантазійні, фірмові, сторонні або непідписані драйвери. Це драйвери, які постачаються з Windows - як правило, драйвери для процесора, оперативної пам’яті, контролера IDE тощо. І драйвери клавіатури та миші для цього є загальними (але, як я вже сказав, вони не мають значення, оскільки драйвери для портів, до яких вони підключені, ще не встановлені).

Очевидно, що в якийсь момент за останні кілька років налаштування змінилися, щоб Windows завжди підказувала мене, коли виявляє нове обладнання. (Також було налаштовано показувати трекер подій Shutdown Event при ненормальних відключеннях, тому мені довелося вимкнути це, щоб я міг навіть бачити робочий стіл.)

О, і я спробував видалити всі файли PNF, щоб вони відновились, але це теж не допомогло.

Хтось знає, як я можу скинути Windows, принаймні, спробувати автоматично встановити драйвери для нового обладнання, перш ніж запропонувати мені, якщо воно не вдасться? І навпаки, хтось знає, як саме вимикається автоматична установка драйвера (і підкаже майстер)?

Дуже дякую.


Просто, щоб бути зрозумілим, оскільки це, ймовірно, вийде у відповідях інакше, я НЕ кажу про діалогове вікно нижче, я кажу про те, що нижче цього.

alt текст

alt текст


О, і відмовлятися від будь-яких пропозицій такого типу, перш ніж вони відбудуться , використовуючи Диспетчер пристроїв для відключення, видалення, ремонту тощо будь-яких пристроїв, не виникає сумніву, тому що якщо клавіатура та миша (або будь-який інший пристрій введення) не є ' t встановлено / працює, то як саме я б виконував такі дії, як використання диспетчера пристроїв?

Відповіді:


10

Зрештою, у п’ятницю Windows XP працював над моєю новою старою системою! Woohoo! (На це пішло лише півтора місяці.)

Я б зазначив конкретні кроки, необхідні для її усунення у випадку, якщо хтось інший зіткнеться з подібною проблемою, хоча, на жаль, через зростаюче розчарування та нетерплячість я в кінцевому підсумку скористався дещо випаленим земним підходом і зробив кілька кроків одночасно. Однак я зберігав робочі файли, які я використав, і викрив внесені вами зміни, тому я перелічу кілька речей, щоб спробувати це, або, принаймні, повинно допомогти.

(Очевидно, що це розширений матеріал для просунутих користувачів; хоча навіть просунуті користувачі можуть зіпсувати це досить погано, отже, початковий крок резервного копіювання.)


Для повторного вирішення проблеми жорсткий диск, що містить існуючу установку Windows, вводиться в нову систему, і Windows не встановлює автоматично драйвери для обладнання та спонукає користувача встановити драйвери без підпису, навіть для драйверів, які повинні бути підписані. Крім того, користувач не може прийняти діалогове вікно, оскільки Windows не встановила драйвери для клавіатури чи миші (або інших пристроїв введення).


Ось версія tl; rd:

  1. Зробіть резервну копію вуликів реєстру.
  2. Вимкніть будь-яку програму, драйвер та послугу, яку ви можете.
  3. Встановіть такі речі (як панель завдань), щоб ви могли бачити все (не приховуйте жодної інформації).
  4. Попросіть автоматичний запуск файлу .BAT, щоб мати простий спосіб вносити зміни та виконувати онлайн-завдання (в ОС).
  5. Використовуйте додаток для макро / сценаріїв для автоматизації натискання клавіш і натискання кнопок, оскільки ви не можете зробити це самостійно.
  6. Переконайтесь, що присутні всі системні файли.
  7. Вручну видаліть проблемне та вже не присутнє обладнання.

  1. :

    • Завантажтесь у (чисту) DOS або іншу ОС та зробіть резервну копію реєстру в інших місцях. Сюди входить %systemroot%\System32\CONFIG\*і%userprofile%\NTUSER.DAT

    • Переконайтесь, що параметри диска / розділу в BOOT.INI і SystemBootDeviceв [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet00 * \ Control] встановлені правильно, оскільки ваш системний диск тепер може бути на іншому диску / розділі (в моєму випадку (r) диск був 0, але тепер був 1 через новий диск).

  2. :

    • Встановіть відповідні вулики реєстру та відключіть будь-які сторонні програми автоматичного запуску, особливо все, що підкидає вікна та речі, які затьмарюють ваш погляд, оскільки ви не зможете їх мінімізувати або натискати на інші вікна / діалогові вікна вперед (ви повинно спроститись для усунення такої проблеми). Не потрібно видаляти записи з автоматичним запуском, ви можете замінити їх замість них, щоб вони все ще були там, коли ви запускаєте Windows і хочете повторно їх запустити (особливо для записів, які мають купу команд -лінійні аргументи):

      • Для Runклавіш #на початку команди можна просто кинути символ або щось. Таким чином, Windows не зможе запустити його, оскільки він не є дійсним файлом і проігнорує його.

      • Встановіть вулик SYSTEM та встановіть startпараметр відключений (dword: 4) для сторонніх драйверів та служб (особливо для апаратних засобів, яких більше немає).

      • Відключити PageDefrag і т.д. в BootExecuteв ... \ Control \ Session Manager, додавши #до початку команди (хоча відпустку в autocheckпоодинці , так як ви хочете , щоб диски перевірив / зафіксується , якщо ви в кінцевому підсумку, перезавантаження з допомогою кнопки скидання).

      • Замість того, щоб видаляти ярлики в Startupпапках, просто перемістіть їх кудись інше.  

    • Набір для Windows для установки драйверів , незалежно від водія-підпису шляхом установки програмного забезпечення , і NTUSER вулики реєстру і налаштування \Software\Microsoft\Driver Signingі \Software\Microsoft\Non-Driver Signingв BIN: 00.

  3. :

    • Ви захочете побачити панель завдань та область сповіщень, тому увімкніть верхню частину та вимкніть автоматичне приховання, встановивши NTUSER і відредагувавши, \Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2щоб встановити 9-й байт, щоб біт 0 був вимкнений, а біт 1 включений (0x7A покаже максимальну інформацію ). Крім того, відключіть будь-які інші програми консолідації / маніпуляції на панелі завдань, такі як TrayManager PCMag (можливо, ви отримали її до того, як почали продавати свої утиліти).
  4. :

    • Встановіть вулик ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ та додайте запис при автоматичному виконанні, щоб запустити файл C:\t\j.BAT. Тепер ви можете легко змусити Windows робити речі, не маючи прямого введення. Звичайно, потрібно перезавантажити іншу ОС, змінити пакетний файл і знову завантажити Windows, щоб внести зміни, але це краще, ніж не мати можливості нічого робити в Windows. ;-)(Ви можете коментувати речі, а не просто видаляти їх.) Додайте команду в кінці пакетного файлу, щоб перезавантажити Windows, наприклад shutdown -t 10 -r. Не забувайте, що інакше вам доведеться натиснути кнопку скидання!

    • У своєму пакетному файлі (наприклад j.bat) виконайте певні дії, такі як імпорт будь-яких .REG-файлів (які ви можете редагувати в автономному режимі, в іншій ОС так само, як можна зі своїм пакетним файлом). Запропонуйте пакетному файлу запустити Диспетчер пристроїв і максимально збільшити вікно (за допомогою інструменту, такого як Nircmd ), щоб дати собі можливість переглянути поточний стан обладнання. (Спробуйте скористатися інструментом командного рядка, таким як QRes, щоб встановити роздільну здатність до максимального вашого драйвера відео - який може бути загальним адаптером VGA на даний момент - наприклад, 1024x768.) Ви також можете перереєструвати .DLL-файли, щоб виправити деякі проблеми, особливо пов'язані з оновленням Windows.

    • Ви не хочете, щоб пакетний файл запускався швидко і божевільно, тому вам потрібно буде отримати інструмент командного рядка, який може призупиняти задану кількість секунд, щоб призупинити виконання сценарію - ні, pauseкоманда не корисна, оскільки для продовження роботи потрібне натискання клавіші. (Я використовував програму, яку я писав років тому, але в Інтернеті є чимало, або просто використовувати звичайний хакер .)

  5. :

    • Отримайте макрореєстратор / сценарій програми, такі як HotkeyMaster , WinMacro , MacroMaker , AutoHotkey , AutoIt! тощо і налаштовуйте його для виконання будь-яких дій, необхідних для клавіатури чи миші (таким чином ви можете "робити" речі в Windows, не маючи фактично доступних пристроїв введення). Ви хочете налаштувати його для виявлення певних вікон чи діалогових вікон за заголовком та / або класом та / або керуванням та відповідно виконувати певні клацання миші або натискання клавіш. Наприклад, ви можете мати автоматичне виявлення діалогів підтвердження драйверів та запускати клацання на NextабоContinueкнопки. (Обов’язково встановіть, що програма макрос запускається при запуску, а не у файлі .BAT, щоб переконатися, що вони запущені до моменту, коли Windows виявить апаратне забезпечення та почне запитувати драйвери; по черзі, чи запускати їх на початку пакетний файл, використовуючи startкоманду, щоб уникнути блокування пакетного файлу на них, оскільки вони не вийдуть з ладу.)
  6. :

    • Переконайтесь, що всі необхідні системні файли є на місці. Виконати (через пакетний файл) sfc /scannow. Переконайтеся, що ваш диск Windows на диску - припустимо, що в Windows навіть встановлені драйвери CD / DVD. Ви також можете спробувати вручну скопіювати відсутні файли в режимі офлайн. Наприклад, я скопіював усі файли з останньої резервної копії XP, вказавши, щоб не перезаписувати наявні файли. Таким чином, будь-які відсутні файли були відновлені (особливо в таких каталогах:

      • C: \ Windows
      • C: \ Windows \ INF
      • C: \ Windows \ Кеш драйверів
      • C: \ Windows \ ServicePackFiles
      • C: \ Windows \ System32
      • C: \ Windows \ System32 \ dllcache
      • C: \ Windows \ System32 \ Драйвери

      • (У мене також трапилося відновити наступні каталоги, не пов'язані з встановленням обладнання, не задовго до того, як він нарешті почав працювати знову. Збіг? Не знаю.)

      • C: \ Windows \ Збірка
      • C: \ Windows \ Microsoft.NET
      • C: \ Windows \ WinSxS
      • C: \ Windows \ Довідка
      • C: \ Windows \ System32 \ WBEM

      • (Ви насправді можете видалити або перейменувати C: \ Windows \ System32 \ CatRoot *)

  7. :

    • Видаліть усі .PNF файли в C: \ Windows \ INF. Windows відновить їх із існуючих .INF-файлів наступного разу, коли йому потрібно встановити драйвер (який у цей момент все ще є при кожному завантаженні). Це схоже на очищення кешу браузера, коли сторінка не відображається належним чином, щоб переконатися, що ви отримуєте та використовуєте найновішу копію файлів.

    • В крайньому випадку знайдіть і використовуйте інструмент Microsoft DEVCONдля видалення певних пристроїв, щоб Windows могла спробувати встановити обладнання з нуля. По-перше, ви захочете запустити команду (через свій пакетний файл), DEVCON findall * > C:\t\devcon.logщоб скинути список усього обладнання та відповідних ідентифікаторів. Таким чином, ви можете скласти правильний та спеціальний список того, яке обладнання ви хочете видалити. Пристрої для примітки для видалення включають наступне:

      • "* 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 (і завантажувати та очищати 5000 або близько того електронних листів, що були накопичені в моїх акаунтах), але я можу знову виконати деяке програмування в моїй встановленій копії старого хорошого VS2003. (Не те, що я не звик до Windows 7; насправді на деякий час я почував себе дивно ще в ХР, але знову відчуваю себе як вдома, як переїжджаючи в гуртожиток на рік, а потім переїжджаючи назад у свій спальня вдома.)


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 та пропускаючи кілька варіантів (підключення до Інтернету тощо) , щоб виявити та встановити мишу та клавіатуру. Скомпільований сценарій autoit EXE повинен бути скопійований у папку «Пуск» (в межах «Меню Пуск»), яка буде автоматично виконана. Рядки сценарію ОБОВ'ЯЗКОВО адаптуватися до локальної мови Windows. І, мабуть, також деякі комбінації Alt-LETTER. Мій зразок працює в іспанській 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, я зробив цей код сам, форматування для мене виглядає нормально, за винятком деяких пропущених відступів ІФ в кінці.
isidroco

Я не можу пригадати, якби я почав використовувати AutoIt (або AutoHotkey в моєму випадку) ще в 2011 році, інакше я б точно використав це. 👍
Synetech

0

Майстер з'являється лише тоді, коли жоден відповідний драйвер не перебуває у шляху до драйвера системи. Згідно з технологією , вам доведеться змінити HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ DevicePath в автономному режимі, щоб додати папки (файли), що містять дані вашого драйвера, щоб автоматично шукати їх до того, як з'явиться майстер.

Можливо, буде простіше перевстановити всі інтегровані драйвери, якщо це не працює.


Це виглядало багатообіцяюче, але, на жаль, налаштування вже правильне ( %SystemRoot%\inf). Насправді, записи CurrentVersion\Setupтакож хороші (як DriverCachePathі Installation Sources). Я навіть зробив впевнений , що файли в INF, DriverCacheі DLLCacheвсе присутні і враховані. Windows має бути в змозі знайти та встановити драйвери (принаймні для основних компонентів, навіть якщо відеокарта чи інше було б новішим, ніж Windows - це не так, щоб у неї не було драйвера. Я просто не можу отримати Windows для виявлення та встановлення драйверів для портів або пристроїв вводу.
Synetech

Можливо, ви не перевірили їх ЗАМОВЛЕННЯ? Прочитайте це . Здається, ви зіткнулися з подібною проблемою. Я вважаю, що ви могли це виправити, встановивши вулик і переупорядкувавши записи DevicePath, і змусити Windows спочатку знайти клавіатуру та мишу. (Відгук через 3 роки;))
Jet

0

Для цього питання я додав Teamviewer при запуску, і встановив відсутнє обладнання (/ з клавіатурою та мишею).


2
Для цього знадобиться або попередньо встановити її перед тим, як потребувати, або мати можливість використовувати клавіатуру та мишу, щоб мати змогу встановити її. Так чи інакше, віддалений доступ може бути хорошою ідеєю, але не допоможе у такій ситуації.
Synetech

@Synetech, Не вдалося встановити його автоматично за допомогою сценарію?
Pacerier
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.