Consolidare una macchina Windows con VirtualBox

RTFM, read the fucking manual. Quante volte ho pensato di dare questa risposta a qualcuno che mi chiedeva qualcosa in ambito informatico che era chiaramente indicato sul manuale o sulla documentazione di turno. Beh, stavolta me lo sono dovuto dire da solo! È necessaria una spiegazione.

A lavoro abbiamo un vecchio PC con Windows 2000 che svolge funzioni di server. È equipaggiato con dischi rigidi SCSI e vi sono installati alcuni programmi i cui dischi di installazione sono tanto irreperibili quanto i programmi stessi sono preziosi. Ogni mattina l’avvio di questo server è preceduto da una serie di pratiche anti-jettatorie e macumbe varie in modo da scongiurare qualsivoglia anomalia hardware e software: esso DEVE continuare a vivere, senza se e senza ma.

Era un po’ che mi girava in testa l’idea di “consolidare” il nostro prezioso server con un programma di virtualizzazione (VirtualBox, nella fattispecie). Per chi non lo sapesse, si tratta di clonare una macchina fisica in una macchina virtuale e farla così sopravvivere in un server di virtualizzazione. I vantaggi sono molteplici: si riduce il numero dei server presenti in azienda, si riduce il consumo di energia elettrica, si riesce ad avere prestazioni più elevate (se si eliminano macchine vetuste), si può semplificare la politica di backup e manutenzione.

C’era però da superare un ostacolo di non poco conto: un disco di avvio di Windows clonato è in grado di fare il boot solamente su hardware identico all’originale. Questo perché, durante l’installazione, Windows copia sul disco di avvio solamente i driver per i controller disco effettivamente presenti sulla macchina (tralascio ogni commento… 😦 ). Questo piccolo particolare non avrebbe consentito di consolidare il nostro fragile server su una macchina virtuale (le macchine virtuali di VirtualBox implementano solo controller IDE o SATA), né tantomeno di utilizzare una copia di backup  dell’hard disk su un altro server più fresco: impossibile reperire sul mercato un controller SCSI – ormai del tutto obsoleto – identico all’originale. Questo panorama aveva reso in ufficio l’ipotesi di una rottura hardware sul server alla stregua delle dieci piaghe d’Egitto.

Pur non sapendo come affrontare la cosa, ho comunque fatto alcuni esperimenti orientati al consolidamento: ho avviato il server con il live CD di Slax, ed ho clonato il disco di avvio via rete su un server Linux con il comando

# dd if=/dev/sda of=/mnt/remoto/disco1.img bs=512 conv=noerror,sync

L’opzione conv=noerror,sync serve a non interrompere la copia in caso di errore di lettura (non è che il disco stia benissimo…) ed a sostituire i byte mancanti con degli zeri, in modo da non perdere l’allineamento.

A questo punto ho convertito l’immagine in un disco virtuale di VirtualBox con il comando

$ VBoxManage convertdd disco1.img disco1.vdi

ed ho creato una macchina virtuale per utilizzare questo disco.

Grossa delusione quando ho potuto verificare che la mia macchina virtuale non era in grado di fare il boot (uno ci spera lo stesso… 🙂 ). Dopo pochi vagiti mi ritrovavo con una bella schermata blu che mi avvisava così:

***STOP: 0x0000007B (0xF741B84C,0xC0000034,0x00000000,0x00000000)
INACCESSIBLE_BOOT_DEVICE

Ho fatto qualche ricerca su Internet e ho trovato alcune soluzioni a pagamento. Acronis, ad esempio, vende un software in grado di clonare partizioni Windows avviabili anche su hardware differente dall’originale. Ma prima di privarci del pur poco denaro richiesto, abbiamo deciso di aspettare un poco per vedere se nel frattempo fosse saltato fuori qualcos’altro.

E così è stato: poco tempo dopo mi è capitato di leggere quasi per caso questa pagina della documentazione ufficiale di VirtualBox (RTFM!!), in cui si dice come superare lo stallo applicando il rimedio, MergeIDE, ideato da una rivista di informatica tedesca. Il programmino – anzi, il file batch – in questione copia sulla partizione di avvio i driver per i controller IDE più diffusi (tra cui quello delle macchine virtuali di VirtualBox) e aggiusta il registro di sistema in modo che tali driver possano essere utilizzati in fase di boot. Chiaramente questa operazione va effettuata sulla macchina fisica prima della clonazione.

Ho applicato la procedura consigliata dagli esperti di VirtualBox, ho ripetuto la clonazione del disco di avvio e finalmente ho visto il desktop di Windows 2000 apparirmi, celeste come la Madonna, dalla finestra della virtual machine. Certo, potevo anche leggerlo prima quel “fottuto” manuale!

Annunci

2 Pensieri su &Idquo;Consolidare una macchina Windows con VirtualBox

  1. Pingback: Da hard disk fisico con installato Windows 2000 a hard disk virtuale con e per Virtualbox « il blog di ugaciaka

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...