Non sto a riportare tutto, dico solo che il test portato a termine col comando sopra non ha funzionato.. L'installazione di windows inizia ma poi si blocca sul controllo dei dischi lamentando qualcosa di erroneo nella partizione "C:" dove rileva il già presente sistema windows.. è quello preinstallato in hdc2. Avrebbe richiesto la formattazione di quel volume... ovviamente ho annullato tutto.
Ho poi provato a dare in pasto a virtualbox l'intero HD con un comando simile a quello sopra:
Codice: Seleziona tutto
VBoxManage internalcommands createrawvmdk -filename ~/.VirtualBox/hdc.vmdk -rawdisk /dev/hdc -register
L'installazione ha funzionato e sono anche riuscito a avviare il nuovo windows da dentro virtualbox.
Tuttavia poi riavviando lamacchina reale per fare la prova del 9... il settore della terza partizione contenete la nuova installazione sembra corrotto.
Coda più grave Il MBR della macchina era stato rasato. Partiva solo il windows preinstallato, e neanche in modo consueto:
si presentava una schermata con la scelta fra due sistemi "Windows XP Home Ed.".
Se scelgo il primo, non parte nulla dando un errore abbastanza chiaro:
C:\WINDOWS\System32\hal.dll mancante
Installarlo ecc ecc...
L'altra scelta fa invece partire il mio consueto sistema preinstallato.
Ho notato che nelle risorse del comuter c'è anche un fantomatico disco "H:" il cui accesso pare un tabù. Con ogni probabilità si tratta della partizione hdc3 dove ho messo il nuovo XP con virtualbox e a quanto pare la formattazione non è grezza... sembra proprio che non si possa usare la partizione cometale davirtualbox. In effetti neanche da slax riesco più a montare /dev/hdc3.
Adesso sto cercando di ottenere qualcosa convertendo l'immagine "hdc.vmdk" creata con virtualbok in un'immagine grezza... purtoppo si tratta di 40 GB di roba... andrà per le lunghe in ogni caso.
Il comando usato:
Codice: Seleziona tutto
# VBoxManage internalcommands converthd -srcformat VMDK -dstformat RAW ~/.VirtualBox/hdc.vmdk /mnt/sdb2/virtualz/hdc.raw
/mnt/sdb2 è la partizione di un HD esterno da 1TB.
Alla fine, con test come questi occorrono anche strumenti HW di un certo peso...
Prossimi passi:
1- vedere se si riesce a pescare un'immagine della partizione hdc3 dall'immagine raw dell'HD
2- convertire l'immagine di un file vdi in qualcosa di grezzo. e ricavare l'immagine della partizione.
Con qemu ero riuscito a fare il giochettoseguente, pqrtendo da un file.img quindi grezzo di un HD.
Codice: Seleziona tutto
losetup -f $HD.IMG ----> aggancia al primo /dev/loopX libero l'immagine dell'HD virtuale in formato grezzo.
kpartx /dev/loopX ----> mappa le partizioni del disco virtuale creando per ciascuna dei device di loop:
/dev/mapper/loopXp1 /dev/loopXp2 ecc.
mount /dev/loopXp1 /mnt/mountpoint
In tal modo si riesce a vederecosaci sta dentro...
A me sta volta interesserebbe fare qualcosa del genere:
dd /dev/loopXp1 /dev/hdc3
Cioè copiare la partizione dove XP è stato installato con vbox, nella partizione reale del mio HD.
PSNel frattempo la conversione del file vmdk in raw s'è bloccata con responso:
Codice: Seleziona tutto
Converting image ".VirtualBox/hdc.vmdk" with size 40007761920 bytes (38155MB)...
Error while copying the image: VERR_DEV_IO_ERROR
Lascio perdere anche perchè l'immagine è troppo ingombrante e i tempi sarebbero troppo lunghi.
Ho provato a convertire anche un'immagine vdi creata in questi giorni, ma senza risultato:
Codice: Seleziona tutto
root@slax:/mnt/sdb2/virtualz# VBoxManage internalcommands converthd -srcformat VMDK -dstformat RAW ./vbox-1805.vdi ./vbox-1805.raw
Sun VirtualBox Command Line Management Interface Version 3.1.8
(C) 2005-2010 Sun Microsystems, Inc.
All rights reserved.
ERROR: VMDK: cannot read descriptor in './vbox-1805.vdi'
Error code VERR_VD_VMDK_INVALID_HEADER at /home/vbox/tinderbox/3.1-lnx32-rel/src/VBox/Devices/Storage/VmdkHDDCore.cpp(3037) in function int vmdkOpenImage(VMDKIMAGE*, unsigned int)
ERROR: VD: error VERR_VD_VMDK_INVALID_HEADER opening image file './vbox-1805.vdi'
Error code VERR_VD_VMDK_INVALID_HEADER at /home/vbox/tinderbox/3.1-lnx32-rel/src/VBox/Devices/Storage/VBoxHDD.cpp(1299) in function int VDOpen(VBOXHDD*, const char*, const char*, unsigned int, VDINTERFACE*)
Error while opening the source image: VERR_VD_VMDK_INVALID_HEADER
Boh...