Bypass "Installazione guidata nuovo hardware" / Impostazione di Windows per l'installazione automatica dei driver


9

La mia scheda madre alla fine è morta dopo la parte migliore di un decennio, quindi ho acquistato un sistema usato. Ho inserito il mio vecchio disco rigido e la scheda audio nel nuovo sistema e ho collegato la mia vecchia tastiera e mouse (il resto dei componenti - CPU, RAM, mobo, scheda video - provengono dal nuovo sistema).

In precedenza sapevo che sarebbe stata una sfida avviare Windows e avviare i driver per il nuovo hardware (soprattutto perché i componenti di base sono nuovi), ma non sono assolutamente in grado di tentare di completare l'installazione di driver per cose come la scheda video in quanto la tastiera e il mouse non funzionerà (che fanno il lavoro, nella schermata del BIOS, in modalità DOS, in Windows 7, nel menu di avvio di XP, ecc, non solo in Windows XP per sé).

Ogni volta che provo ad avviare XP (in modalità normale o sicura), vedo spuntare un sacco di palloncini per tutto il nuovo hardware rilevato e una nuova procedura guidata per l' hardware trovata per il processore (ovviamente deve installare i driver per i componenti di livello più basso su). Sfortunatamente non posso fare clic su Avanti poiché la tastiera e il mouse non funzionano ancora perché i driver della scheda madre (per le porte PS / 2 o USB) non sono ancora installati. Ho anche provato un mouse seriale, ma inutilmente, ancora una volta, funziona in DOS, 7, ecc., Ma non in XP perché non ha il driver della porta seriale installato.

Ho provato a montare gli hive SOFTWARE e SYSTEM su Windows 7 per impostare manualmente "avviso driver senza segno" da ignorare (utilizzando entrambe le impostazioni dei criteri di firma del driver a cui ho trovato riferimenti). Non ha funzionato; Ricevo ancora il mago.

Non sono nemmeno driver sofisticati, proprietari, di terze parti o non firmati. Sono driver forniti con Windows, come tendono ad essere quelli per CPU, RAM, controller IDE, ecc. E i driver di tastiera e mouse sono quelli generici (ma come ho detto, quelli sono irrilevanti poiché i driver per le porte a cui sono collegati non sono ancora installati).

Ovviamente a un certo punto nel corso degli ultimi anni, un'impostazione è stata cambiata per indurre Windows sempre a segnalarmi quando rileva nuovo hardware. (È stato anche configurato per mostrare lo Shutdown Event Tracker su arresti anomali, quindi ho dovuto disattivarlo in modo da poter vedere anche il desktop.)

Oh, e ho provato a cancellare tutti i file PNF in modo che si rigenerassero, ma anche quello non ha aiutato.

Qualcuno sa come posso ripristinare Windows per almeno provare a installare automaticamente i driver per il nuovo hardware prima di avvisarmi se fallisce? Al contrario, qualcuno sa come si spegne esattamente l'installazione automatica del driver (e si richiede con la procedura guidata)?

Molte grazie.


Giusto per essere chiari dal momento che probabilmente apparirà nelle risposte altrimenti, NON sto parlando della finestra di dialogo qui sotto, sto parlando di quella qui sotto.

testo alternativo

testo alternativo


Oh, e per evitare qualsiasi suggerimento del seguente tipo prima che si verifichino , utilizzando Gestione dispositivi per disabilitare, disinstallare, riparare, ecc. Qualsiasi dispositivo è fuori discussione perché se la tastiera e il mouse (o qualsiasi altro dispositivo di input) non lo sono ' t installato / funzionante, come eseguirò esattamente azioni come l'utilizzo di Gestione dispositivi?

Risposte:


10

Venerdì finalmente ho fatto funzionare Windows XP sul mio nuovo vecchio sistema! Woohoo! (Ci sono voluti solo 5 mesi e mezzo.)

Vorrei indicare i passaggi specifici necessari per risolverlo nel caso in cui qualcun altro incontri un problema simile, anche se purtroppo, a causa della crescente frustrazione e impazienza, ho finito per adottare un approccio un po 'bruciato sulla terra e ho eseguito più passaggi contemporaneamente. Tuttavia, ho mantenuto i file di lavoro che ho usato e ho eliminato le modifiche apportate, quindi elencherò diverse cose da provare che, o almeno dovrebbero aiutare.

(Ovviamente si tratta di roba avanzata per utenti esperti, anche se anche gli utenti avanzati possono sbagliare piuttosto male, quindi il passaggio di backup iniziale.)


Per ricapitolare il problema, un disco rigido contenente un'installazione esistente di Windows viene inserito in un nuovo sistema e Windows non installa automaticamente i driver per l'hardware e richiede all'utente di installare driver non firmati, anche per quelli che dovrebbero essere firmati. Inoltre, l'utente non è in grado di accettare le finestre di dialogo perché Windows non ha installato i driver per la tastiera o il mouse (o altri dispositivi di input).


Ecco la versione tl; rd:

  1. Effettuare un backup degli alveari del registro.
  2. Disabilita ogni programma, driver e servizio che puoi.
  3. Imposta le cose (come la barra delle applicazioni) in modo da poter vedere tutto (non nascondere alcuna informazione).
  4. Avere un file .BAT eseguito automaticamente per avere un modo semplice per apportare modifiche ed eseguire attività online (nel sistema operativo).
  5. Utilizza un'app di macro / scripting per automatizzare la pressione dei tasti e i clic sui pulsanti poiché non puoi farlo da solo.
  6. Assicurarsi che tutti i file di sistema siano presenti.
  7. Rimuovere manualmente l'hardware problematico e non più presente.

  1. :

    • Avviare in DOS (puro) o altro sistema operativo ed eseguire una copia di backup degli hive del registro in un'altra posizione. Questo include %systemroot%\System32\CONFIG\*e%userprofile%\NTUSER.DAT

    • Assicurarsi che le impostazioni dell'unità / della partizione in BOOT.INI e SystemBootDevicein [HKEY_LOCAL_MACHINE \ SYSTEM \ ControlSet00 * \ Control] siano configurate correttamente poiché l'unità di sistema potrebbe ora trovarsi su un'unità / partizione diversa rispetto a prima (nel mio caso, il (r) il disco era 0, ma ora era 1 a causa della nuova unità).

  2. :

    • Montare gli hive di registro appropriati e disabilitare tutti i programmi di esecuzione automatica estranei, in particolare tutto ciò che solleva finestre e cose che oscurano la vista poiché non sarai in grado di minimizzarli o fare clic sulle altre finestre / finestre di dialogo in primo piano (tu deve semplificare per risolvere un problema come questo). Non è necessario eliminare le voci di esecuzione automatica, ma è possibile disabilitarle, in modo che siano ancora lì per quando si esegue Windows e si desidera eseguirle di nuovo automaticamente (soprattutto per le voci che hanno un sacco di comandi -line argomenti):

      • Per le Runchiavi, puoi semplicemente lanciare un #personaggio o qualcosa all'inizio del comando. In questo modo, Windows non sarà in grado di eseguirlo poiché non è un file valido e lo ignorerà.

      • Montare l'hive di SISTEMA e impostare il startparametro su disabilitato (dword: 4) per tutti i driver e servizi estranei (in particolare quelli per l'hardware che non è più presente).

      • Disabilita PageDefrag , ecc. In BootExecutein ... \ Control \ Session Manager aggiungendo #a all'inizio del comando (anche se lascia perdere , autocheckpoiché vuoi che le unità vengano controllate / riparate se finisci per riavviare tramite il pulsante di ripristino).

      • Invece di eliminare eventuali collegamenti nelle Startupcartelle, spostali altrove.  

    • Impostare Windows per installare i driver indipendentemente dalla firma del driver montando l'hive e l'impostazione del registro SOFTWARE e NTUSER \Software\Microsoft\Driver Signinge \Software\Microsoft\Non-Driver Signingsu BIN: 00.

  3. :

    • Ti consigliamo di visualizzare la barra delle applicazioni e l'area di notifica, quindi attiva la parte più in alto e disattiva la funzione Nascondi automaticamente montando NTUSER e modificando \Software\Microsoft\Windows\CurrentVersion\Explorer\StuckRects2per impostare il nono byte in modo che il bit 0 sia spento e il bit 1 sia attivo (0x7A mostrerà il massimo delle informazioni ). Inoltre, disabilita qualsiasi altro programma di consolidamento / manipolazione della barra delle applicazioni come TrayManager di PCMag (forse hai capito prima che iniziassero a vendere le loro utility).
  4. :

    • Montare l'hive SOFTWARE e aggiungere una voce di esecuzione automatica per eseguire un file .BAT all'avvio (per nessun motivo, ho chiamato il mio C:\t\j.BAT). Ora puoi fare in modo che Windows faccia le cose senza avere alcun input diretto. Certo, richiede un riavvio su un altro sistema operativo, la modifica del file batch e il riavvio di Windows per apportare una modifica, ma è meglio che non avere alcun modo di fare nulla in Windows. ;-)(Puoi commentare le cose invece di cancellarle.) Aggiungi un comando alla fine del file batch per riavviare Windows, ad es shutdown -t 10 -r. Non dimenticarlo, altrimenti finirai per premere il pulsante di ripristino!

    • Nel tuo file batch (ad es. j.bat), Esegui determinate azioni come importare qualsiasi file .REG (che puoi modificare offline, in un altro sistema operativo proprio come puoi con il tuo file batch). Chiedi al file batch di eseguire Gestione dispositivi e ingrandire la finestra (con uno strumento come Nircmd ) per darti l'opportunità di visualizzare lo stato corrente dell'hardware. (Prova a utilizzare uno strumento da riga di comando come QRes per impostare la risoluzione al massimo del tuo driver video, che a questo punto potrebbe essere l'adattatore VGA generico), ad esempio 1024x768. Puoi anche registrare nuovamente i file .DLL per risolvere alcuni problemi, in particolare quelli relativi a Windows Update.

    • Non si desidera che il file batch venga eseguito in modo rapido e folle, quindi è necessario ottenere uno strumento da riga di comando in grado di mettere in pausa per un determinato numero di secondi per mettere in pausa l'esecuzione dello script — no, pausepoiché il comando non va bene richiede di premere un tasto per continuare. (Ho usato un programma che ho scritto anni fa, ma ce ne sono molti disponibili su Internet, o semplicemente uso un hack comune .)

  5. :

    • Ottieni un'app di macro-registrazione / scripting come HotkeyMaster , WinMacro , MacroMaker , AutoHotkey , AutoIt! , ecc. e configurarlo per eseguire le azioni da tastiera o mouse necessarie (in questo modo è possibile "fare" cose in Windows senza disporre effettivamente di dispositivi di input). Ti consigliamo di configurarlo per rilevare determinate finestre o finestre di dialogo per titolo e / o classe e / o controllo ed eseguire di conseguenza determinati clic del mouse o la pressione dei tasti. Ad esempio, puoi fare in modo che rilevi automaticamente le finestre di dialogo di conferma del driver e attivi un clic sul NextoContinuepulsanti. (Assicurati di impostare l'app macro per l'esecuzione all'avvio invece che nel file .BAT per assicurarti che siano in esecuzione quando Windows rileva l'hardware e inizia a richiedere i driver; in alternativa, eseguili all'inizio del file batch utilizzando il startcomando per evitare che il file batch venga bloccato su di essi poiché non verranno chiusi).
  6. :

    • Assicurarsi che siano presenti tutti i file di sistema richiesti. Esegui (tramite il file batch) sfc /scannow. Assicurati di avere il tuo disco di Windows nell'unità, supponendo che Windows abbia anche i driver CD / DVD installati. Puoi anche provare a copiare manualmente tutti i file mancanti mentre sei offline. Ad esempio, ho copiato tutti i file dal mio ultimo backup di XP, specificando di non sovrascrivere i file esistenti. In questo modo, tutti i file mancanti sono stati ripristinati (specialmente nelle seguenti directory:

      • C: \ Windows
      • C: \ Windows \ inf
      • C: \ Windows \ Driver Cache
      • C: \ Windows \ ServicePackFiles
      • C: \ Windows \ System32
      • C: \ Windows \ System32 \ Dllcache
      • C: \ Windows \ System32 \ Drivers

      • (Mi è anche capitato di ripristinare le seguenti directory correlate all'installazione non hardware non molto tempo prima che finalmente ricominciasse a funzionare. Coincidenza? Non lo so.)

      • C: \ Windows \ Assembly
      • C: \ Windows \ Microsoft.NET
      • C: \ Windows \ WinSxS
      • C: \ Windows \ Help
      • C: \ Windows \ System32 \ WBEM

      • (In realtà potresti voler eliminare o rinominare C: \ Windows \ System32 \ CatRoot *)

  7. :

    • Elimina tutti i file .PNF in C: \ Windows \ INF. Windows li ricostruirà dai file .INF esistenti la prossima volta che dovrà installare un driver (che a questo punto è ancora ad ogni avvio). Questo è simile alla cancellazione della cache del browser quando una pagina non viene visualizzata correttamente, al fine di garantire che stai ricevendo e utilizzando la copia più aggiornata dei file.

    • Come ultima risorsa, procurati e utilizza lo strumento Microsoft DEVCONper rimuovere alcuni dispositivi in ​​modo che Windows possa provare a installare l'hardware da zero. Innanzitutto, ti consigliamo di eseguire il comando (tramite il tuo file batch) DEVCON findall * > C:\t\devcon.logper scaricare un elenco di tutto il tuo hardware e i loro ID corrispondenti. In questo modo, è possibile compilare un elenco adeguato e personalizzato dell'hardware che si desidera rimuovere. I dispositivi di nota da rimuovere includono quanto segue:

      • "* 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 *"

      • (Questi sono i principali dispositivi correlati alla scheda madre come processori, porte, bus, dispositivi di input, schede di rete, dischi rigidi e unità ottiche.)


Come puoi vedere, è (non sorprendentemente) un enorme problema riavviare Windows se colleghi l'unità di sistema a un nuovo sistema (leggi la scheda madre) e vuoi evitare di dover reinstallare. Non avere un metodo di input lo rende molto difficile, ma non impossibile . Ci vuole molto tempo, impegno, pazienza, strumenti, attenzione ai dettagli e attenzione, ma è possibile e i vantaggi (rimandare una reinstallazione completa e perdere così chissà quante migliaia di personalizzazioni fatte nel tempo ) può valerne la pena.

Fortunatamente, sono finalmente riuscito a farlo funzionare perché non sono pronto per installare e reinstallare. Ora non posso solo utilizzare Outlook Express di nuovo (e scaricare ed eliminare circa 5.000 e-mail che si erano accumulate nei miei account), ma posso fare di nuovo un po 'di programmazione nella mia copia installata del buon vecchio VS2003. (Non che non mi stavo abituando a Windows 7; in effetti per un po ', mi sono sentito strano in XP, ma mi sento di nuovo a casa, come trasferirmi in un dormitorio per un anno, quindi tornare nel tuo camera da letto a casa.)


1

Condividerò la mia risposta da qui, lo script viene visualizzato correttamente nel sito MSFN: http://www.msfn.org/board/topic/49514-disable-found-new-hardware-wizard/?do=findComment&comment=1132792

Ho realizzato uno script AutoIt3 https://www.autoitscript.com/site/autoit/downloads/ che sarebbe continuato con tutte le finestre della procedura guidata Nuovo hardware accettando i driver non firmati, annullando i prompt del CD WinXP e saltando più opzioni (connettersi a Internet, ecc.) , in modo da rilevare e installare mouse e tastiera. Lo script di autoit compilato EXE deve essere copiato nella cartella "Start" (all'interno di "Menu Start") per essere eseguito automaticamente. Le stringhe di script DEVONO essere adattate alla lingua locale di Windows. E probabilmente anche alcune combinazioni Alt-LETTER. Il mio esempio funziona in WinXP SPAGNOLO. Spero che aiuti qualcun altro, dopo aver funzionato con mouse e tastiera, lo script deve essere eliminato (o spostato in un'altra cartella):

$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 

Non semplicemente copiare e incollare le risposte senza una formattazione corretta, è molto semplice correggere la formattazione in modo che questa risposta appaia bene qui.
cascer1,

Scusate cascer1, ho creato quel codice da solo, la formattazione mi sembra ok tranne per qualche rientro mancante di IF alla fine.
Isidroco,

Non ricordo se avessi iniziato ad usare AutoIt (o AutoHotkey nel mio caso) nel 2011, altrimenti l'avrei sicuramente usato. 👍
Synetech,

0

La procedura guidata viene visualizzata solo quando nessun driver corrispondente si trova nel percorso del driver di sistema. Secondo technet , dovresti modificare HKEY_LOCAL_MACHINE \ Software \ Microsoft \ Windows \ CurrentVersion \ DevicePath offline per aggiungere le cartelle che contengono le informazioni del tuo driver per poterle cercare automaticamente prima di aprire la procedura guidata.

Potrebbe non essere più semplice reinstallare con tutti i driver integrati se ciò non funziona.


Sembrava promettente, ma purtroppo l'impostazione è già corretta ( %SystemRoot%\inf). In effetti, anche le voci in CurrentVersion\Setupsono buone (come DriverCachePathe Installation Sources). Ho anche fatto in modo che i file in INF, DriverCachee DLLCachesono tutti presenti e contabilizzati. Windows dovrebbe essere in grado di trovare e installare i driver (almeno per i componenti di base, anche se la scheda video o qualsiasi altra cosa fosse più recente di Windows — non lo è — quindi non aveva un driver. Non riesco proprio a ottenere Windows per rilevare e installare i driver per le porte o i dispositivi di input.
Synetech

Forse non hai controllato il loro ORDINE? Leggere questo . Sembra che tu abbia riscontrato un problema simile. Credo che potresti risolverlo montando l'hive e riordinando le voci di DevicePath e facendo prima trovare a Windows tastiera e mouse. (Feedback dopo 3 anni;))
Jet

0

Per questo problema, ho aggiunto Teamviewer all'avvio e ho installato l'hardware mancante (/ w tastiera e mouse).


2
Ciò richiederebbe o averlo precedentemente installato prima di averne bisogno, oppure essere in grado di utilizzare la tastiera e il mouse per poterlo installare. Ad ogni modo, l'accesso remoto potrebbe essere una buona idea, ma non aiuterà in una situazione come questa.
Synetech,

@Synetech, Impossibile installarlo automaticamente tramite una sceneggiatura?
Pacerier,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.