Pagina 1 di 1

Virtualizzare l'immagine di una partizione

Inviato: gio 13 nov 2008, 22:54
da giberg
Ciao a tutti.

Stavo cercando di virtualizzare
Vista per poter usare dei programmi
da usare per un corso all'università.
Nel mio portatile è già installato ma
preferisco virtualizzarlo visto che dovrò
anche connettermi a internet.

Non ho il disco di installazione perché
si usa ora fare le partizioni nascoste
invece di dare un bel dvd per il ripristino
e quello che ho creato non porta a termine
l'installazione forse perché l'ho creato incompleto.
Mi chiede infatti sempre un secondo cd...

Leggevo che è possibile fare un'immagine
della partizione dov'è installato il sistema
e poi darlo in pasto a Virtualbox, dopo
averla convertita nel formato .vdi.

Il sistema è in /dev/sda2 (in sda1 invece c'è
la partizione di ripristino nascosta).
Ho creato l'immagine con

Codice: Seleziona tutto

dd if=/dev/sda2 of=file_immagine
e successivamente l'ho convertita con

Codice: Seleziona tutto

vboxmanage convertdd file_immagine file.vdi
Successivamente ho creato la macchina
virtuale (con Virtualbox OSE 2.0.4)
associandola all'immagine vdi che ho creato.

Purtroppo la macchina si avvia ma il
sistema non arriva al boot e il log di Vbox
rimane fermo su "Booting from hard disk...".
Immagino il problema sia dovuto al fatto
che non ho installato il sistema ex novo
nella macchina ma ho copiato un sistema
esistente che si ritrova senza bootloader (non
trovandosi in quella partizione).

È corretta questa interpretazione?

C'è un modo per risolvere questo problema?

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 9:30
da Naitso
Ciao giberg a questo punto dovresti fixare l'MBR sulla macchina virtuale, ma sensa supporti mi sa che è dura....
ciao

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 9:54
da absinthe
non ho soluzioni ma note:

allora, io ho provato a virtualizzare XP che avevo su una partizione fisica: la cosa non funziona anche se hai un bootloader perchè la rimappatura dei devices fatta dalla macchina virtuale manda in tilt il kernel di xp. non so cosa accada con vista ma il sistema con XP causa un BSOD.
per il discorso MBR, io una volta trovai un blog ma dava una spiegazione delirante e smisi di provare. secondo il tizio la soluzione "più veloce" era:
creare una nuova immagine anche dell'MBR reale. usare i raid-tools per creare un raid lineare, ovvero fondere insieme l'immagine dell'MBR e quella del sistema operativo, avvirare l'immagine "raid" con la virtual machine... io mi sono rifiutato :-) e purtroppo non ho tenuto il link.

io ho fatto poi un altro test: ho creato una VM che carica direttamente tutto l'HD. così è come se virtualizzassi il mio pc nel mio pc :-) intoppi:
- se per sbaglio chiedi di virtualizzare l'OS che sta girando al momento distruggi tutto :-)
- XP comunque va in panic. non ho mai avuto altro tipo di danno ma alcuni blog affermano che in realtà winXP oltre a dare BSOD nella virtual machine, poi non si riavvierebbe neppure sulla macchina reale...
non so cosa faccia vista

altra idea: e se tu virtualizzassi sda1 e chiedessi di fare un ripristino su un HD virtuale debitamente preparato? ... nel mio caso non ha funzionato: l'XP del ghost non riconosce l'ambiente HW originale e si pianta dicendo che lo stai installando su un pc diverso da quello su cui era stata posta sda1.

M

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 10:29
da giberg
Naitso ha scritto:Ciao giberg a questo punto dovresti fixare l'MBR sulla macchina virtuale, ma sensa supporti mi sa che è dura....
ciao
Ho provato facendo avviare "live"
supergrub nella macchina virtuale.
Non riesce a sistemare le cose.
Credo sia dovuto al fatto che
quella partizione non ha l'MBR
(essendo la seconda e non la prima).
In realtà devo riprovare (supergrub
dovrebbe funzionare anche come
bootloader esterno mi pare) perché
all'inizio avevo avuto problemi
con la conversione dell'immagine
e quindi era difettosa. Non mi pare
di averci riprovato.

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 10:35
da giberg
absinthe ha scritto:altra idea: e se tu virtualizzassi sda1 e chiedessi di fare un ripristino su un HD virtuale debitamente preparato? ... nel mio caso non ha funzionato: l'XP del ghost non riconosce l'ambiente HW originale e si pianta dicendo che lo stai installando su un pc diverso da quello su cui era stata posta sda1.
M
Avevo fatto un'immagine di
quella partizione e provato ad avviarla.
Effettimamente avrei dovuto creare
un disco più grande e mettercela dentro
visto che questa in realtà deve ripristinare
il sistema.
Comunque non dava segno di avviarsi.


Stavo pensando ad un'altra cosa...
Se provassi a fare un'immagine
più grande e creassi delle partizioni
dove in una è contenuta una mini distro
in modo da poter avere un bootloader
disponibile (grub o lilo) e poi copiare
l'immagine in una partizione vuota?
Il problema però è come copiarla dentro.
Forse con le directory condivise?
E dovrei preparare una partizione
con le stesse dimensioni precise dell'immagine?

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 11:39
da NetNightmare
Ciao,

Allora non so se la cosa fa al caso tuo ma io mi trovo spesso a migrare macchine fisiche (per lo piu' obsolete ) in macchine virtuali per poter cosi mantenere vecchie applicazioni non piu compatibili con i nuovi sistemi . A volte ho anche migrato Domain Controller ...

La soluzione migliore e' quella di usare programmi di ghost e fare il restore su macchina virtuale,purtroppo io non ho esperienze dirette con programmi open, io uso Acronis Enterprise con Universal Restore per il ghost e per il restore e Vmware workstation o Server come VI software i casi di successo con XP sono vicini al 100 % con win98 un bel po di smadonnamenti in piu ma se hai taaaaaaanta pazienza ce la si puo' fare. comunque in linea di massima .. se passi da un disco SCSI a un IDE ( virtuale) la cosa solitamente si agiusta da se , il contrario e' un problema .. ma Universal Restore ti consente di installare Drivers in fase di ripristino.

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 11:59
da Naitso
giberg se puoi fai 2 prove ovvero installi i vbox tool (se si chiamano cosi') sul pc da passare virtuale, cosi' hai già tutti i driver caricati, fai l'immagine con dd e poi la converti....se non funziona puoi usare vmware server (basta una registrazione e ti mandano la chiave di attivazione) e poi vmware converter, che è solo per windows...
Dunque hai bisogno di 2 pc ovvero il tuo da passare in virtuale e un'altro (windows) per installare vmware-server e vmware converter, procedere alla conversione prima però devi installare i driver del controller scsi di vmware altrimenti non funziona....
Ciao e buon P2V

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 12:33
da lennynero
Io ho il dual boot: Slackware, Windows XP, e ho virtualizzato senza troppi problemi windows creandone un vmdk. In sostanza uso la partizione fisica sulla quale c'è win...Di seguito posto il comando trovato in rete per creare il suddetto vmdk:

Codice: Seleziona tutto

VBoxManage internalcommands createrawvmdk -filename <Absolute Path to output File> -rawdisk /dev/sda -register
Una volta ottenuto il file .vmdk lo si può usare come disco della machina virtuale e il risultato sarà avere a disposizione un "riferimento" all'hd nella macchina virtuale...

P.S. non so se funziona anche con Vista

Re: Virtualizzare l'immagine di una partizione

Inviato: ven 14 nov 2008, 19:17
da giberg
Grazie a tutti per le risposte intanto.
Naitso ha scritto:giberg se puoi fai 2 prove ovvero installi i vbox tool (se si chiamano cosi') sul pc da passare virtuale, cosi' hai già tutti i driver caricati, fai l'immagine con dd e poi la converti....se non funziona puoi usare vmware server (basta una registrazione e ti mandano la chiave di attivazione) e poi vmware converter, che è solo per windows...
Dunque hai bisogno di 2 pc ovvero il tuo da passare in virtuale e un'altro (windows) per installare vmware-server e vmware converter, procedere alla conversione prima però devi installare i driver del controller scsi di vmware altrimenti non funziona....
Ciao e buon P2V
Purtroppo non ho a disposizione
2 pc. Ho solo il mio portatile.
lennynero ha scritto:Io ho il dual boot: Slackware, Windows XP, e ho virtualizzato senza troppi problemi windows creandone un vmdk. In sostanza uso la partizione fisica sulla quale c'è win...Di seguito posto il comando trovato in rete per creare il suddetto vmdk:

Codice: Seleziona tutto

VBoxManage internalcommands createrawvmdk -filename <Absolute Path to output File> -rawdisk /dev/sda -register
Una volta ottenuto il file .vmdk lo si può usare come disco della machina virtuale e il risultato sarà avere a disposizione un "riferimento" all'hd nella macchina virtuale...

P.S. non so se funziona anche con Vista
Proverei intanto questa soluzione
che con gli strumenti che ho a disposizione
posso testare subito.
In pratica da quello che ho capito il filename
è il .vmdk mentre il rawdisk è la partizione
di origine mentre -register le collega. Giusto?
Ora mi leggo bene il manuale.
;)

Re: Virtualizzare l'immagine di una partizione

Inviato: dom 16 nov 2008, 22:06
da xpaolo
Il problema originale credo sia che hai creato un disco virtuale da una partizione e non da un disco completo. Nel file creato manca non solo l'MBR ma anche la tabella delle partizioni. Sul mio PC ho ubuntu su /dev/sda6 e virualbox 2.0.4 installato su slackware. Per virtualizzare ubunto ho fatto questo:
- creato un disco virtuale collegato alla partizione /dev/sda6 con "VBoxManage internalcommands createrawvmdk -filename /data/virtualbox/sda6.vmdk -rawdisk /dev/sda -partitions 6 -relative" come da manuale di virtualbox. Per accedere a questo devi essere root o un utente appartenente al gruppo disk. Per qualche strano motivo il disco creato era comunque TUTTO il /dev/sda e non solo la partizione 6. Ma questo non è un problema.
- ho creato una macchina virtuale per ubuntu ed un disco virtuale NUOVO (ubuntu.vdi) di dimensione legermente maggiori della /dev/sda6
- ho collegato alla macchina virtuale ubuntu il disco sda6.vmdk (ide primary master) e ubuntu.vdi (sata0). Per qualche motivo a me ignoto se sda6.vmdk lo collegavo come sata 1 la macchina virtuale non parte.
- ho collegato alla macchina virtuale ubuntu l'immagine iso di RIPLinux in modo che venga usato per il boot da CD virtuale
- ho avviato la macchina virtuale in RIPLinux, sulla console di questo ho:
1- coon fdisk /dev/sda creato una partizione sda1 che occupa tutto il disco (ubuntu.vdi)
2- con dd if=/dev/hda6 of=/dev/sda1 bs=512 ho copiato tutta la partizione sul disco virtuale. In alternativa si potrebbe pensare di montare le partizioni e copiare i dati direttamente con cp o da mc, con il vantaggio che vengono copiati solo i dati e non tutti i settori compresi quelli vuoti. In questo secondo caso il disco virtuale rimarrebbe di dimensioni compatte
- manca solo di:
1 - sistemare grub. Da RIPLinux sono entrato nella console di grub ed ho dato root (hd0,0) quindi setup (hd0)
2 - sistemare /etc/fstab, xorg.conf, ecc

Alla fine comunque la macchina parte.

Spero di essere stato di aiuto.

Re: Virtualizzare l'immagine di una partizione

Inviato: dom 16 nov 2008, 22:11
da xpaolo
Ops, mi ero dimenticato che si parlava di Vista. Ovviamente l'ultima parte funziona solo su sistemi linux. Immagino che sia possibile sistemare l'MBR anche da DVD di installazione di vista, ma non saprei come...

Re: Virtualizzare l'immagine di una partizione

Inviato: dom 16 nov 2008, 22:38
da giberg
xpaolo ha scritto:Immagino che sia possibile sistemare l'MBR anche da DVD di installazione di vista, ma non saprei come...
Il problema, come ho già detto,
è che non ho il dvd d'installazione
ma la partizione nascosta di ripristino.

Comunque penso si possa ovviare
creando una piccola partizione nel
disco virtuale con installata una mini-distro
(dsl o puppy) in modo che possa avere grub
nell'mbr configurato da far partire windows.

Grazie ;)

Questa sera la dedico alle prove.

Re: Virtualizzare l'immagine di una partizione

Inviato: lun 17 nov 2008, 1:02
da giberg
Allora...
Ho provato come detto da xpaolo.
Anziché fare l'immagine dd nella
nella partizione creata per vista
ho copiato i file.
Riavvio la macchina (ho staccato
il disco vmdk), grub c'è, dico di
avviare windows.
Risultato: dice che devo inserire
il disco di ripristino. Non riesce a
trovare (o è danneggiato) il file winload.exe.

Riproverò con dd.

Re: Virtualizzare l'immagine di una partizione

Inviato: mer 19 nov 2008, 1:48
da giberg
Provato anche con dd, ho ricreato
le partizioni.
Niente... Windows dice che manca
il bootmanager.
Secondo me deve avere qualcosa
di disgraziato quella partizione.
Oggi ho provato ad avviare windows
(non virtuale) e qualcosa non funzionava
tanto bene.

Re: Virtualizzare l'immagine di una partizione

Inviato: mer 19 nov 2008, 13:28
da xpaolo
Mah, non posso provare, comunque... Supponiamo che tu abbia dischi sata (/dev/sd?) e che vista sia stato installato sulla prima partizione del primo disco mentre slackware dalla seconda in poi. Supponiamo ancora che la partizione di Vista /dev/sda1 sia molto più piccola delle altre (es. 10GB) altrimenti non puoi copiartela sulle altre.
Io procederei così:
- in virtualbox crei un nuovo disco virtuale da 11GB (= un po' più grande della partizione di vista) di nome es. vista.vdi
- in console con "VBoxManage internalcommands createrawvmdk -filename /path/to/sda.vmdk -rawdisk /dev/sda" crei un file .vmdk che rappresenta tutto il disco sda.
- ti scarichi da http://www.tux.org/pub/people/kent-robo ... uX-7.2.iso la iso di riplinux (minidistro derivata da slackware)
- crei una macchina virtuale e le colleghi come primo disco (di tipo ide) il file vista.vdi (all'interno della macchina virtuale diventerà /dev/hda) e come secondo disco il file sda.vmdk (all'interno della macchina virtuale diventerà /dev/hdb). Inoltre colleghi l'immagine iso di riplinux come cdrom
- avvia la macchina virtuale e partirà riplinux. Quando entri in console esegui: "dd if=/dev/hdb of=/dev/hda bs=512 count=1" - questo copia l'MBR (boot loader incluso) e quindi anche la tabella delle partizioni. Per far vedere al sistema le partizioni probabilmente è necessario riavviare la machina virtuale.
- rientri sempre in riplinux ed esegui: "dd if=/dev/hdb1 of=/dev/hda1 bs=512" per copiare tutta la partizione di vista su vista.vdi
- spegni la macchina virtuale, togli la iso di riplinux ed il secondo disco dalla macchina virtuale (lascia solo vista.vdi). Avvia, dovrebbe partire.
Questo in teoria, purtroppo non posso provare e quindi può sempre sfuggirmi qualcosa. Ad esempio so che i sistemi windows sono molto suscettibili se cambi qualcosa a livello hardware (anche se virtuale) e quindi potrebbe non partire.