Installazione dei driver di Windows da una condivisione di rete
Utilizzando TBOSDT incluso nel disco di avvio di Image for Linux

Nota: questo articolo è obsoleto. Usa invece lo script OSDTOOL.TBS. Per un video di esempio clicca qui.

Panoramica

Questo tutorial spiega come installare un driver di archiviazione di Windows da una condivisione di rete utilizzando la versione Linux del programma TBOSDT dal disco di avvio di Image for Linux (IFL). Il disco di avvio IFL può essere creato sia da Windows che da Linux, e può essere un CD/DVD, un'unità flash USB o un insieme di file di avvio per l'avvio di rete PXE (solo da Linux).

Oltre a questo tutorial, fai riferimento all'Esempio di applicazione n. 2 verso la fine del manuale di TBOSDT (tbosdt.pdf), dove troverai una descrizione del processo complessivo.

Punto di partenza

Uno scenario tipico per l'utilizzo della procedura seguente si verifica quando un'installazione di Windows esistente (per la quale esiste un'immagine) deve essere ripristinata su un sistema in cui il controller di archiviazione non è compatibile con il driver di archiviazione utilizzato nel sistema originale. Tali condizioni potrebbero verificarsi quando la scheda madre o l'intero sistema sono stati sostituiti. Poiché il sistema di destinazione ha un diverso controller di archiviazione di massa (ad esempio, un controller SATA anziché un controller IDE), l'immagine ripristinata non si avvierà perché manca il driver corretto. È qui che entra in gioco TBOSDT.

L'installazione di un driver Windows tramite TBOSDT avviene in due fasi e può essere eseguita con Windows inizialmente in uno stato non avviabile . La prima fase (Fase 1) avviene quando viene avviato il disco di avvio IFL e viene eseguito lo script TBOSDT Fase 1. Questo installa il driver fino a un punto in cui la partizione di Windows si avvierà. Prepara inoltre la partizione di Windows per eseguire automaticamente lo script TBOSDT Fase 2 al successivo avvio . Lo script della Fase 2 completa quindi l'installazione del driver.

Il punto di partenza per la procedura descritta di seguito sarà un'immagine di una partizione di Windows XP che è stata ripristinata sull'unità di avvio (HD0) del sistema di destinazione. Poiché il driver per il nuovo controller del disco rigido non è ancora stato installato, la partizione di Windows non si avvierà sul sistema di destinazione.

Quando si ripristina l'immagine di Windows, è necessario assicurarsi che la partizione ripristinata sia impostata come attiva e che sia stato installato il codice MBR standard. Quando si ripristina una singola partizione con uno qualsiasi dei prodotti di imaging di TeraByte Unlimited, è possibile utilizzare le opzioni di ripristino "Set Active" e "Write Standard MBR Code" per garantire tali condizioni. Non sono necessarie né disponibili quando si ripristina un'intera unità.

File dei driver

In generale, per installare qualsiasi driver Windows con TBOSDT, avrai bisogno dei singoli file del driver (in genere un file INF, CAT e SYS). Idealmente, avrai un dischetto floppy (o altro supporto) fornito con l'hardware che contiene i file del driver. In caso contrario, dovrai ottenerli dal produttore dell'hardware. Ancora una volta, i file del driver devono essere sotto forma di file singoli o estraibili da un file CAB.

Questo tutorial utilizzerà l'esempio specifico dell'installazione del driver per il controller Intel SATA AHCI su un'immagine ripristinata di Windows XP. Questo è il driver richiesto dalla maggior parte degli utenti affinché Windows XP funzioni su un nuovo sistema SATA. Per individuare quel driver, consulta il tutorial Creazione di un disco Windows XP Slipstreamed utilizzando nLite.

Requisiti software

Image for Linux (IFL)

TeraByte OS Deployment Tool Suite (TBOSDTS)

Requisiti di sistema

Una condivisione di rete Windows o Samba a cui è possibile accedere dal sistema di destinazione con privilegi di lettura/scrittura tramite una connessione di rete cablata.

Se si utilizza un'unità flash USB come supporto di avvio, il sistema di destinazione deve supportare l'avvio da un'unità USB.

Passaggio 1: Scarica ed estrai TBOSDTS

Gli script di esempio TBOSDT (drvins_1.run e drvins_2.run), così come la versione Windows di TBOSDT (tbosdtw.exe) saranno necessari per completare l'installazione del driver. Questi file possono essere ottenuti estraendo l'archivio zip di TBOSDTS (tbosdts_en.zip o tbosdts_pro_en.zip), in modo che i file necessari possano essere copiati nella condivisione di rete.

Tieni presente che i programmi TBOSDTS effettivi e i file di supporto sono contenuti nel file tbosdts.zip, che è un file zip secondario all'interno del file zip scaricato. Per estrarre tbosdts.zip, avrai bisogno della password contenuta in readme.txt, che si trova all'interno del file zip scaricato.

Una volta estratto tbosdts.zip, saranno disponibili i seguenti file e directory:



Passaggio 2: Copia i file richiesti nella condivisione di rete

Si raccomanda di creare una cartella/directory separata sulla condivisione di rete per contenere i file necessari per installare il driver. Questo tutorial utilizzerà una directory denominata 'tbosdtfiles', situata nella root di una condivisione denominata 'demo', su un server denominato 'ubuntu810'.

I file che devono essere copiati nella condivisione sono elencati di seguito:

drvin_1.run e drvins_2.run: Copia questi 2 file dalla directory tbosdts/scripts. Questi sono gli script TBOSDT Fase 1 e Fase 2, e questi file verranno modificati nel Passaggio 6.

tbosdtw.exe (versione Windows): Copia tbosdtw.exe dalla directory tbosdts/win. Questo file è la versione Windows di TBOSDT.

iaahci.inf, iaahci.cat, iastor.sys: Questi sono i file del driver specifici necessari per installare il driver Intel SATA utilizzato in questo esempio. Questi file avranno nomi diversi per altri driver.

Dopo aver copiato tutti i file richiesti, il contenuto della directory sulla condivisione di rete dovrebbe essere come mostrato di seguito:


Passaggio 3: Crea il disco di avvio IFL

Il disco di avvio IFL può essere creato da Windows o Linux come CD/DVD o unità flash USB. Da Linux, c'è anche l'opzione di creare il disco di avvio come un insieme di file di avvio per l'avvio di rete PXE. Un disco di avvio personalizzato (che può opzionalmente essere creato da Linux) non è richiesto.

Per creare il disco di avvio IFL da Windows, consulta il tutorial di TeraByte Unlimited al link sottostante:
Image for Linux: le prime cose da fare – Creare un disco di avvio

Per creare il disco di avvio IFL da Linux, consulta il tutorial di TeraByte Unlimited al link sottostante:
Come creare supporti di avvio IFL da una distribuzione Linux

Passaggio 4: Avvia dal disco di avvio IFL e monta la condivisione di rete

Avvia il sistema di destinazione dal disco di avvio IFL (CD/DVD o unità flash USB). Per avviare da un'unità flash USB, il BIOS del sistema deve essere impostato per l'avvio da quel dispositivo. Alcuni sistemi potrebbero avere un tasto da premere all'avvio che mostrerà un menu di dispositivi da cui avviare, invece di dover entrare nella configurazione del BIOS.

Una volta completato l'avvio, ti troverai nel menu principale del disco di avvio IFL (schermata di benvenuto). Evidenzia la voce "Mount/Unmount Samba/Windows shares" come mostrato di seguito, quindi premi :



La voce di menu "Mount/Unmount" rileverà i server Windows/Samba disponibili e li elencherà in una schermata simile allo screenshot sottostante. In quella schermata, evidenzia il server contenente i file (UBUNTU810 per questo esempio), quindi premi :



Dopo aver selezionato il server, digita il nome utente per il server/condivisione a cui devi accedere, quindi premi . Per questo esempio, il nome utente è 'demo':



Nella schermata successiva, inserisci la password, quindi premi di nuovo :



La schermata successiva elencherà le condivisioni disponibili da montare sul server. Evidenzia la condivisione a cui devi accedere (demo per questo esempio), e quindi premi .



La condivisione dovrebbe ora essere montata, e ciò sarà indicato dallo stato di montaggio che cambia da "UNMOUNTED" a "MOUNTED:(/net1)" come mostrato di seguito:



Se la condivisione non viene montata (o non è elencata nel menu delle condivisioni), ciò sarà solitamente dovuto all'inserimento di un utente/password errati. In tal caso, puoi tornare al menu del server, selezionare il server e provare a inserire nuovamente il nome utente e la password.

Il (/net1) tra parentesi è il punto di montaggio per la condivisione di rete . Il punto di montaggio è la directory nel file system locale dove è possibile accedere ai contenuti della condivisione. Il punto di montaggio verrà utilizzato quando lo script della Fase 1 (drvins-1.run) verrà modificato nel Passaggio 6 di seguito. Il punto di montaggio sarà sempre /net1 a meno che non sia stata montata prima un'altra condivisione di rete .

Scegli "EXIT MENU" per tornare alla schermata del server. In questa schermata dovresti ora vedere un valore di 1 per "Total shares currently mounted" come mostrato di seguito:



Seleziona "EXIT MENU" per uscire e tornare al menu principale del disco di avvio. In quel menu, evidenzia "Exit to the Linux command prompt", quindi premi :



Quella selezione di menu ti lascerà a un prompt dei comandi di Linux. Per verificare ulteriormente che la condivisione sia montata e che ora puoi accedere ai file sulla condivisione, esegui il comando 'ls /net1/tbosdtfiles'. Quel comando elencherà i file precedentemente copiati nella directory tbosdtfiles nel Passaggio 2 sopra, e dovrebbe produrre l'output mostrato di seguito:



I file copiati nella condivisione nel Passaggio 2 possono ora essere visti nell'elenco della directory tbosdtfiles sulla condivisione montata.

Passaggio 5: Determina l'ID della partizione per la partizione di destinazione

Questo passaggio serve a determinare l'ID della partizione per la partizione di destinazione di Windows . Questo valore viene utilizzato nel passaggio 1 dello script della Fase 1 (drvins_1.run) per garantire che la partizione corretta sia montata durante l'installazione del driver. Lo script della Fase 1 verrà modificato nel Passaggio 6 di seguito, e il valore determinato qui sarà necessario in quel momento.

Per determinare l'ID della partizione, esegui il comando 'tbosdt' dal prompt dei comandi per avviare il programma TBOSDT in modalità interattiva. Quindi, al prompt dei comandi di TBOSDT, esegui il comando 'list hd 0' per elencare le partizioni sull'unità HD0. Ciò produrrà un output simile al seguente:



In questo caso, c'è solo una partizione sull'unità, e ha un ID partizione pari a 1, che è mostrato tra parentesi sopra come (01) nella colonna ID. Questo valore corrisponde all'ID partizione nella copia predefinita di drvins_1.run. Se l'ID partizione è diverso da (01), il valore dell'ID partizione in drvins_1.run dovrà essere modificato nel Passaggio 6.

Tieni presente che l'ID della partizione è un numero esadecimale e deve essere inserito in notazione esadecimale in drvins_1.run. Ad esempio, se l'ID della partizione viene visualizzato come (0B) da TBOSDT, quel valore verrebbe inserito come 0xB in drvins_1.run (lo zero iniziale può essere omesso). Un ID partizione di (2C) verrebbe inserito come 0x2C.

Digita 'exit' per uscire dal programma TBOSDT e tornare al prompt dei comandi di Linux.

Passaggio 6: Modifica gli script TBOSDT sulla condivisione di rete

Questo passaggio serve ad apportare alcune modifiche necessarie agli script TBOSDT predefiniti (drvins_1.run e drvins_2.run) che sono stati copiati nella condivisione di rete nel Passaggio 2 sopra. I file verranno modificati utilizzando l'editor di testo 'nano' incluso nel disco di avvio IFL.

Per modificare drvins_1.run, avvia l'editor di testo nano con il comando 'nano /net1/tbosdtfiles/drvins_1.run', come mostrato nello screenshot qui sotto:



Per drvins_1.run, sono necessarie le seguenti modifiche per questo esempio:
1. Rimuovi il commento da tutte le righe che iniziano con un singolo ";" eccetto le 3 righe nel passaggio 3b (16 righe)
2. Nel passaggio 1, cambia l'ID della partizione di destinazione con il valore determinato nel Passaggio 5 sopra (se necessario)
3. Nel passaggio 3, regola il percorso per copiare i file dalla condivisione di rete (3 righe)
4. Nel passaggio 4, regola il percorso per copiare i file dalla condivisione di rete (2 righe)

Lo screenshot qui sotto mostra drvins_1.run nell'editor di testo nano dopo aver apportato le modifiche sopra elencate. Le modifiche sono cerchiate e numerate per corrispondere all'elenco.



Per salvare le modifiche al file, usa la combinazione di tasti (WriteOut), quindi premi .

Per uscire dall'editor nano, premi .


Per modificare drvins_2.run, avvia l'editor di testo nano con il comando 'nano /net1/tbosdtfiles/drvins_2.run'.

Per drvins_2.run, è necessaria la seguente modifica per questo esempio:
1. Nel passaggio 1, rimuovi il commento dalla riga per il comando 'add inf' (1 riga)

Lo screenshot qui sotto mostra drvins_2.run nell'editor di testo nano dopo la modifica, con la modifica cerchiata:



Per salvare le modifiche al file, usa la combinazione di tasti (WriteOut), quindi premi .

Per uscire dall'editor nano, premi .

Ora che entrambi gli script TBOSDT sono stati modificati, può iniziare l'installazione effettiva del driver.

Passaggio 7: Esegui lo script della Fase 1 (drvins_1.run)

Per eseguire lo script della Fase 1 (drvins_1.run), esegui il seguente comando dal prompt dei comandi di Linux:

tbosdt /net1/tbosdtfiles/drvins_1.run

Per il driver Intel SATA installato in questo esempio, l'output dello script sarà simile al seguente:



Quando viene eseguito lo script della Fase 1, osserva l'output di TBOSDT sullo schermo e controlla eventuali messaggi di errore. In genere, TBOSDT interromperà l'esecuzione dello script quando incontra una condizione di errore, in modo che eventuali messaggi di errore siano ancora visibili sullo schermo, anche se parte dell'output potrebbe scorrere via. Se l'output che vuoi vedere scorre fuori dallo schermo, puoi scorrere indietro usando una o più volte, oppure l'output può essere reindirizzato a un file e poi visualizzato una pagina alla volta con il comando 'more' come segue:

tbosdt /net1/tbosdtfiles/drvins_1.run > nomefile
more nomefile

Per scopi di risoluzione dei problemi, può anche essere utile selezionare la modalità video frame buffer (opzione 2 al menu di avvio) quando si avvia il disco IFL Boot . Ciò renderà visibile più testo senza dover scorrere.

Le cause comuni di errori includono:

1. Tentativo di montare l'unità/partizione errata (passaggio 1 in drvins_1.run)
2. Mancata modifica di uno o più comandi per i valori corretti in drvins_1.run (vedi Passaggio 6)
3. Errori di sintassi e/o di battitura in drvins_1.run

Lo script della Fase 1 deve essere eseguito senza errori prima che l'avvio dalla partizione di destinazione possa avere successo.

Passaggio 8: Avvia la partizione di destinazione per eseguire la Fase 2

Una volta che lo script della Fase 1 è stato eseguito con successo nel Passaggio 7, dovrebbe ora essere possibile avviare dalla partizione di destinazione. Si raccomanda la seguente sequenza di passaggi:

1. Avvia il sistema normalmente dalla partizione di destinazione. Al primo avvio, apparirà una finestra di terminale e verrà eseguito lo script della Fase 2 (drvins_2.run). Dopo un tipico ritardo di pochi secondi, il sistema dovrebbe riavviarsi automaticamente. (Questo accadrà solo una volta, al primo avvio).

2. Al riavvio, avvia Windows in Modalità provvisoria come descritto nel Passaggio 3 di seguito. L'uso della Modalità provvisoria consente a Windows di rilevare il nuovo hardware senza bloccarsi e/o altri problemi che possono sorgere a causa di certi tipi di nuovo hardware, in particolare gli adattatori video.

3. Per entrare nella Modalità provvisoria di Windows XP: Mentre il computer si sta avviando (subito dopo il post), premi ripetutamente il "tasto F8" che dovrebbe far apparire il "Menu delle opzioni avanzate di Windows". Usa i tasti freccia per spostarti su "Modalità provvisoria" e premi il tasto Invio.

Se non riesci ad avviare in modalità provvisoria, potrebbe essere dovuto al fatto che anche l'HAL deve essere sostituito. Sebbene i dettagli esulino dallo scopo attuale di questo articolo, ciò viene fatto fondamentalmente copiando il file corretto in \windows\system32\hal.dll. I file HAL disponibili (fino a Win2003) sono HAL.DLL, HALAPIC.DLL, HALMPS.DLL, HALACPI.DLL, HALAACPI.DLL, HALMACPI.DLL. Il file più comune necessario per i sistemi moderni è HALACPI.DLL, HALAACPI.DLL o HALMACPI.DLL che si trova nella cartella \windows\servicepackfiles\i386. Puoi usare TBOSDT per montare la partizione e copiare il file necessario.

4. Una volta avviato in Modalità provvisoria, consenti a Windows di completare il rilevamento del nuovo hardware.

5. Riavvia quando richiesto.

6. Al riavvio, consenti a Windows di avviarsi normalmente. L'installazione del driver dovrebbe ora essere completa.

Tieni presente che la WPA (Windows Product Activation) potrebbe attivarsi a causa del nuovo hardware rilevato e, in tal caso, Windows dovrà essere riattivato.