È possibile "virtualizzare" un PC esistente?


30

Sto eseguendo Ubuntu Desktop 12.04 e mi chiedevo se fosse possibile in qualche modo prendere il mio intero filesystem (tutto sotto /) e creare un ISO da esso. Quindi, forse, usa quell'ISO come file system di una VBox VM (ovviamente, dovrebbe essere Ubuntu e probabilmente 12.04).

Fondamentalmente, ho trascorso molto tempo a configurare la mia macchina di sviluppo, ma devo essere in grado di lavorarci da qualunque computer mi trovo. Le macchine virtuali sembrano la soluzione perfetta. Grazie in anticipo!



7
Un'altra possibilità (quella raccomandata dai miei amici professionisti) è quella di organizzare tutti quei file di configurazione in modo tale da poter abbattere un repository git, eseguire un .sh e praticamente avere qualsiasi macchina deb pronta.
Mikey,

Risposte:


12

Probabilmente sarebbe più facile creare una nuova VM, installare Ubuntu su di essa, quindi eseguire il backup della casella di sviluppo e ripristinare il backup sulla VM. Ciò ti darebbe una macchina virtuale che potresti eseguire su qualsiasi macchina in cui VirtualBox è o potrebbe essere installato.

Detto questo, c'è un motivo per cui non puoi semplicemente aprire l'accesso VNC o SSH alla tua casella di sviluppo esistente e accedervi da remoto? Se possibile, questa potrebbe essere un'opzione più semplice - almeno, ti farebbe risparmiare un po 'di sofferenza ogni volta che vuoi usare la casella di sviluppo da una nuova macchina.

Spero che sia di aiuto!


Grazie @Aaron Miller (+1) - quale strumento di backup potresti consigliare e come funziona? Esegue il backup dell'intero PC in alcuni file che possono essere utilizzati per sovrascrivere l'intero file system sulla VM? Grazie ancora!
pnongrata,

1
Felice di essere di aiuto! Per quanto riguarda uno strumento di backup, man tarè quello che consiglierei qui; non è l'interfaccia più accogliente, forse, ma se hai semplicemente tar up / sulla casella dev (assicurandoti di evitare / proc, / sys, / dev e / root tramite l'opzione --exclude) e decomprimere il risultato sul tuo VM, probabilmente avrai ciò di cui hai bisogno. (Vorrei, tuttavia, pensare seriamente alle tue scarpe se è possibile portare semplicemente le cose di sviluppo senza toccare il resto - forse copia / home / username attraverso e fai il resto tramite apt, per esempio. Sempre meglio fare il la minima quantità di lavoro necessario, dico.)
Aaron Miller,

2
Sebbene molto istruttivo e utile, questo suggerimento dovrebbe essere un commento e non una risposta. Non risponde alla domanda.
dotancohen,

27

puoi scaricare il tuo hd in un'immagine con ddquindi convertire l'immagine in un vmdk o altro.

apt-get install qemu (installa QEMU su debian / ubuntu)

qemu-img convert imagefile.dd -O vmdk vmdkname.vmdk

tratto da: qui


Non so per certo se funzionerà, ma +1 e ci proverò.
Mikey,

1
Puoi anche usare l'immagine in VirtualBox. Ubuntu normalmente installa i driver per vari hardware (a differenza di Windows), rendendolo più portatile, quindi generalmente funzionerà.
Lumaca meccanica

2
Questo non funzionerà. Il file / etc / fstab è il file che il tuo sistema legge per sapere quali dischi montano dove. I dischi sono archiviati da un uuid e quando crei un nuovo disco questo non sarà lo stesso. Sarà necessario modificare questo file sul nuovo sistema per risolverlo. Anche le schede di rete verranno rinominate (ciò accadrebbe comunque.)
korylprince

Inoltre, per creare l'immagine, è necessario eseguire un live cd con il disco non montato. Memorizza l'immagine su un altro disco.
nikhil,

10

L'ho fatto in precedenza su un computer Windows XP, ma suppongo che tu possa farlo anche su Ubuntu. Ma usa vmware, non virtualbox...

Installa vmware-converter(prodotto gratuito) nella tua casella Ubuntu. Quindi convertire il sistema fisico in un sistema virtuale, dopo aver modificato le impostazioni di configurazione.

Dopo questo, hai un'immagine virtualizzata che può essere "giocata" con vmplayer.


1
VirtualBox sarà in grado di utilizzare i VMDK creati in questo modo.
bfhd

Non funziona così bene, è necessario un server VMware sulla rete in cui esporta l'immagine. Non ho avuto fortuna con esso.
nikhil,

5

Un'altra opzione potrebbe essere quella di clonare il sistema operativo in un'immagine del disco di VirtualBox:

vboxmanage createhd --filename foo.vdi --size 10240

modprobe nbd max_part=16
qemu-nbd -c /dev/nbd0 foo.vdi

# create a partition (will automatically produce a new device /dev/nbd0p1)
sfdisk -D /dev/nbd0 <<EOF
,,L,
EOF

mkfs -t ext2 /dev/nbd0p1
mount -o loop /dev/nbd0p1 /mnt

# clone your OS
rsync -aH --exclude mnt --exclude dev --exclude proc --exclude sys / /mnt/

# install the boot loader on the virtual disk
mount --bind /dev /mnt/dev
chroot /mnt grub-install /dev/sda

umount /mnt
qemu-nbd -d /dev/nbd0

rmmod nbd

4

Quindi ci sono due modi per farlo. Per creare direttamente un ISO dovresti usare Remastersys. Questo è uno strumento che ti permetterà di creare un ISO del sistema attuale. È quindi possibile avviare ISO e ottenere quell'inviornemtn come LiveCD. Una buona guida può essere trovata qui .

Se si desidera creare un disco rigido virtuale (disco rigido virtuale) dal disco fisico, l'unico strumento che conosco sarebbe disk2VHD . Questo è uno strumento solo per Windows. Tuttavia, puoi anche usare lo strumento Linux dd. C'è un buon tutorial per questo trovato qui .


4

Copiato da ( http://karim-ouda.blogspot.com/2011/11/how-to-create-virtualbox-image-from.html )

sudo dd if=DRIVE | VBoxManage convertfromraw stdin FILENAME BYTES

Esempio reale

sudo dd if=/dev/sda | VBoxManage convertfromraw stdin MyLinuxImage.vdi 120034123776

Gli appunti:

  1. Per ottenere il numero di byte nella partizione, è possibile utilizzare il comando seguente sudo fdisk -l /dev/sda

  2. Devi usare / dev / xxx not / dev / xxx1 o xxx2 in modo che l'immagine contenga record MBR


0

Per iniziare puoi creare un'immagine del disco usando l'utilità partimage in un'interfaccia della riga di comando. Dopo questo immagino che saresti in grado di avviare il nuovo iso creato con VMware.

Utilizzo di Partimage Se si utilizza Ubuntu 12.04 o anche 11.04, Partimage dovrebbe essere disponibile dal centro software Ubuntu. Questo metodo di installazione ti consentirà di cercare e installare facilmente il software selezionato.

Passaggio 1. Aprire Ubuntu Software Center e individuare la barra di ricerca nell'angolo in alto a destra della finestra. Digita "partimage" nella barra di ricerca, quindi premi Invio. Il pacchetto software partimage sarà il primo da visualizzare. Restituiti anche da questa ricerca sono partclone (utility per clonare e ripristinare una partizione), partimage-server (usa partimage attraverso una rete) e partimage-doc (documentazione per l'utente dell'immagine della partizione). Dovrai fare clic su Installa e consentire al centro software di installare il pacchetto per te.

Passaggio 2. Aprire Terminale e immettere il seguente comando "sudo partimage", quindi immettere la password e premere Invio.

Passaggio 3. Dopo aver inserito la password, l'applicazione Partimage dovrebbe essere visualizzata nella finestra Terminale.

Passaggio 4. Comprensione delle opzioni disponibili.

* Partition to save/restore -  A list of all available partitions on all drives able to be backed up from or restored to. You may only choose to operate on one partition at a time. 
* Image file to create/use - If creating a new image file enter the path and file name where the created back up will be written. If using an image file to restore a partition or drive enter the path to the mounted drive where the file is located. 
Action to be done: 
    (*) Save partition into a new image file - Choosing this option will tell Partition Image to create a backup .img file from the partition selected in "Partition to save/restore", and write the file to the path entered in "Image file to create/use."
    (  ) Restore partition from an image file - This option will write the image file from the path entered under "Image file to create/use", and write it to the partition and/or drive selected under "Partition to save/restore."
    (   ) Restore an MBR from the image file - This will restore the MBR to the drive selected under "Partition to save/restore" to the image file contained in the path under "Image file to create/use."
[  ] Connect to server - This option will allow you to connect to a remote server to read or write an image file.

Passaggio 5. Questa schermata è abbastanza autoesplicativa. Dovrai prima selezionare l'eventuale livello di compressione desiderato. Puoi anche cambiare il modo in cui l'immagine verrà divisa durante il processo di scrittura. La modalità predefinita è quella di creare un file da 2 GB. L'opzione finale fornisce istruzioni sull'immagine della parte su cosa fare se termina il lavoro con successo. Scegli quale opzione è più adatta alla tua situazione.

http://www.ubuntulinuxguide.com


Hai provato la tua soluzione?
user66001,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.