Conversione P2V per Windows 2000 e Windows 98

Spesso capita di avere ancora in azienda vecchi PC con OS come Windows 98 e Windows 2000 con software legacy e di voler evitare il problemi di interruzione dei servizi erogati da tali PC nel caso di problemi hardware.

Infatti i casi in cui siano ancora presenti tali sistemi sono spesso legati alla presenza di software in ambienti di produttivi per la supervisione di impianti industriali o l’esecuzione di software gestionali molto specifici che col tempo dovranno essere sostituti.

Di seguito ipotizzerò di avere a disposizione un’immagine del sistema fisico eseguita ad esempio con Ghost, ImageXML o altri software di imaging e di aver già provveduto a ripristinare tale immagine in una macchina virtuale in Windows Virtual PC, Hyper-V, Virtual PC o Virtual Server.

Il problema che può presentarsi è che la VM non si avvii a causa del fatto che l’hardware della VM non coincide ovviamente con quello del computer fisico di partenza.

Sistema operativo Windows 98

In questo sistema operativo corregge eventuali blocchi all’avvio dovuti a driver non corretti dovrebbe essere abbastanza semplice.

Basta infatti avviare il sistema in modalità provvisoria e rimuovere i riferimenti all’hardware non più presente nell’ambiente virtuale tramite il Device Manager.

Al riavvio verrà richiesto di installare i dispositivi necessari e potranno essere utilizzati i driver contenuti sul CD di installazione di Windows 98.

Sistema operativo Windows 2000

In questo sistema operativo la cosa più comune è che il sistema non si avvii a causa dei driver del controller del disco, in questo caso verrà visualizzata una BSOD con l’errore:

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

In questo caso ci si può avvalere dei suggerimenti dell’articolo KB314082: You receive a Stop 0x0000007B error after you move the Windows XP system disk to another computer e procedere come segue:

  • Montare il VHD su computer come un disco fisico (Windows 7 e Windows Server 2008 R2 consentono nativamente questa operazione tramite l’applet Gestione Computer, per sistemi precedenti si veda Mount di dischi virtuali (.VHD)
  • Aprire l’hive del registro di sistema relativo alla parte System (HKLM\SYSTEM) corrispondente al file \WINNT\SYSTEM32\CONFIG\SYSTEM
  • Inserire la sezione di registro relativa ai controller IDE riportata nell’articolo KB314082, facendo attenzione a correggere il path delle chiavi di registry in relazione all’etichetta attribuita durante il caricamento dell’hive.
    • Se ad esempio si carica l’hive con etichetta VM-SYSTEM occorrerà sostituire i percorsi HKEY_LOCAL_MACHINE\SYSTEM con HKEY_LOCAL_MACHINE\VM-SYSTEM
    • Per comodità ho caricato il file KB314082-VMSYSTEM.reg utilizzabile nel caso si carichi l’hive con  etichetta VM-SYSTEM su Skydrive.
  • Se non presenti occorre aggiungere nella cartella di sistema della VM \WINNT\System32\Drivers i seguenti file Atapi.sys, Intelide.sys, Pciide.sys e Pciidex.sys che possono essere estratti dal CD di installazione di Windows 2000 dal file %SystemRoot%\Driver Cache\I386\Driver.cab.
  • A questo punto basta smontare il VHD e riavviare la macchina virtuale.

Ulteriori riferimenti

[Update 01]

Con i sistemi operativi precedenti a XP e a Windows Server 2003 non è possibile utilizzare il tool Disk2vhd in quando si basa sulle Volume Shadow Copy ( VSS) disponibile su Windows XP SP2, Windows Server 2003 SP1 e successivi.

Quello che però eventualmente è possibile fare è montare il disco di un computer da convertire su un sistema in cui Disk2VHD può essere utilizzato per generare il VHD senza il necessità di un software di imaging e poi utilizzare i passaggi visti precedentemente per avere una VM avviabile.