«

»

Apr 04

Windows Xp virtualizzato con DISK2VHD non fa boot

boot_vhdIn un nostro precedente articolo vi avevamo spiegato come usare il tool DISK2VHD di Sysinternals / Microsoft per virtualizzare una macchina fisica Windows in un file VHD da utilizzare in una nuova macchina virtuale per Virtual Pc / XP Mode in Windows 7.

Ma se il sistema virtualizzato non fa il boot e dà problemi cosa dobbiamo controllare per riuscire a portare a termine con successo la nostra conversione ?

 

Nel nostro precedente articolo spiegavamo come convertire una macchina fisica in virtuale :

https://www.trickit.it/windows/convertire-pc-fisico-windows-in-immagine-virtuale

Cosa fare però quande le cose non vanno bene, in particolare quando non si riesce nemmeno a fare il boot della macchina convertita ?

La prima cosa da verificare è la dimensione fisica del disco di partenza, infatti DISK2VHD converte la geometria del disco fisico di partenza anche nel file VHD che crea, il problema sta nel fatto che purtroppo il formato VHD prevede una dimensione massima di 127 Gb ed è facile immaginare che questo limite possa essere facilmente superato dagli hard disk moderni.

In pratica la conversione con DISK2VHD non vi darà nessun messaggio di errore o di avvertimento, ma il file VHD che vi ritroverete non sarà utilizzabile nella vostra nuova macchina virtuale, quindi se avete un pc fisico con un hard disk maggiore di 127 Gb (non parliamo di dimensione della partizione ma proprio della dimensione del disco fisico) non riuscirete a convertirlo correttamente.

Il modo migliore per convertire dischi grandi quindi è ridurre al massimo la dimensione dei dati sul disco (rimanendo quindi con una occupazione del disco inferiore a 127 Gb), quindi procedere ad una clonazione del disco interno su altro disco interno (od esterno) più piccolo di 127 Gb usando programmi come Ghost, TrueImage, Driveimage XML o simili.

A questo punto si può usare il tool DISK2VHD convertendo il disco piccolo in immagine VHD, in questo modo aggirerete il limite dei 127 Gb imposto dal formato VHD; per la cronaca questo limite e anche il limite del controller IDE è stato superato dal nuovo formato VHDX usato nei prodotti di virtualizzazione successivi di Microsoft.

 

Un altro problema che capita spesso è di ritrovarsi con una macchina virtuale convertita da un pc fisico che non fa il boot : avremo quindi il cursore fisso lampeggiante in alto a sinistra su una videata nera, oppure il classico crash di Windows con scritte bianche su sfondo blu, oppure ancora il boot non finirà mai e rimarrà sempre il logo di Windows senza mai arrivare al login / desktop del sistema.

Di solito questi sintomi sono dovuti all’errata HAL (Hardware Abstraction Layer) della macchina convertita, anche qui dobbiamo ricordarci che il formato VHD prevede solo cpu mono-processore, quindi se siamo partiti da una macchina fisica che era dotata di processore multicore è probabile che avremo questo problema perchè la HAL caricata dal file VHD non sarà accettata dal programma di virtualizzazione.

Per risolverlo procediamo con queste operazioni :

  • procuriamoci il cdrom originale del sistema operativo (o l’immagine ISO) che abbiamo virtualizzato, nel nostro caso era Windows XP
  • accendiamo la macchina virtuale che dà problemi facendole fare il boot dal cdrom (o dal file ISO) del sistema operativo invece che dal file VHD
  • quando appare selezioniamo R per riparare l’installazione di WIndows (partirà la recovery console)
  • comparirà un elenco di tutte le istanze di Windows presenti sul disco VHD, selezioniamo quella che ci interessa, di solito è la prima, quindi 1 confermando con INVIO
  • digitiamo la password dell’amministratore di Windows se richiesto (ricordiamoci che è la password di Administrator del sistema virtualizzato !)
  • digitiamo CD \WINDOWS\SYSTEM32
  • digitiamo EXPAND D:\I386\HALACPI.DL_
    dove D:\ è la lettera assegnata al cdrom nella macchina virtuale
  • digitiamo REN HAL.DLL HAL.OLD
  • digitiamo COPY HALACPI.DLL HAL.DLL
    in questo modo copieremo la HAL acpi standard nella macchina virtuale
  • togliamo il cdrom (o l’immagine ISO) dall’avvio della macchina virtuale
  • digitiamo EXIT per uscire dalla recovery console
  • riavviamo la macchina virtuale dal file VHD, ora dovrebbe arrivare al login di Windows senza nessun problema

 

6 commenti

Vai al modulo dei commenti

  1. Franco

    Ho usato disk2vhd per convertire il mio XP sp3 posto in un PC multiboot, dove XP non è la partizione l’avvio. Il file .vhdx generato e caricato nella macchina virtuale da origine alla partenza della macchina virtuale all’errore seguente: err. A disk read errori occurred.
    Ringrazio anticipatamente per un vostro chiarimento.

    1. mdede

      Provi a rigenerare il file immagine del suo XP nel vecchio formato VHD invece che nel nuovo VHDX, basta togliere la spunta alla voce

      [ ] USE VHDX

      prima di iniziare la creazione del file nel programma Disk2vhd, purtroppo l’errore che mi segnala è molto generico e le cause possono essere molteplici.

  2. Emiliano

    non funziona comunque purtroppo. sono fermo… mannaggia

    1. mdede

      Si vede che il problema non è nell’ HAL della macchina ma in qualche altro driver di sistema o nelle dimensioni dell’immagine disco (il file VHD risultante è inferiore a 127 Gb ?).
      Non fa il boot nemmeno in modalità provvisoria ?

      Ha provato a virtualizzare la macchina fisica con altro software, esempio VMware Converter come descritto qui :

      https://www.trickit.it/windows/convertire-pc-fisico-windows-in-immagine-virtuale

      oppure con altri software come Easeus Todo Backup :

      https://www.easeus.com/todo-backup-guide/convert-physical-to-virtual.html

      oppure questi altri :

      https://www.starwindsoftware.com/starwind-v2v-converter

      https://www.microsoft.com/en-us/download/details.aspx?id=42497

      Saluti e buona fortuna

  3. Simone

    Buongiorno, sono bloccato per la virtualizzazione di una mia macchina fisica il cui OS è Windows XP Professional a 32 bit. Non riesco proprio a virtualizzarlo ne con VHD e Hyper-V su un pc Windows 10, nè con una vmdk in VMware (mancano driver nltdr is missing), ne con vcenter converter standalone direttamente sulla macchina fisica (vss error 0x800…).

    Qualsiasi procedura che ho provato non ha funzionato a to punto non so davvero dove sbattere la testa.

    Se qualcuno potesse rispondermi ed aiutarmi a virtualizzarla mi farebbe un gran favore.

    Grazie, cordiali saluti,

    Sardina Simone

    1. mdede

      Su un vecchio XP penso che il tool migliore per avere successo sia DISK2VHD da usare direttamente sul pc fisico oppure facendo il boot da un supporto esterno.
      Nel caso non riuscisse ancora provi a fare il boot della macchina virtuale creata da un supporto ISO esterno e controlli se “vede” correttamente il disco clonato… il fatto che dica NTLDR IS MISSING di solito è legato al fatto che la macchina virtuale non vede il disco, faccia attenzione anche alla tipologia del controller disco : IDE o SATA (AHCI) usato sul pc Xp originale.

      Auguri

Rispondi a mdede Annulla risposta

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>