Posso migrare un guest Ubuntu di VirtualBox in una scatola hardware * reale *?


13

Voglio trasferire Ubuntu da un'appliance di VirtualBox Guest a un vero computer (metallo e chip)?

Questo può essere fatto e quali passaggi sono coinvolti?

Risposte:


7

Lo proverei con dd(non dimenticare di sostituire i nomi dei dispositivi come sdacon il nome del dispositivo):

  1. Sostituisci tutti i tuoi uuidi /etc/fstabcon cose come /dev/sda1( sda= numero hd di destinazione!)
  2. update-grub2 && grub-install /dev/sda
  3. Salva il tuo hdd virtuale all'interno di VBox in un file: dd if=/dev/sda /home/user/sda.img
  4. Copia l'immagine su un disco (hdd esterno, condivisione di rete, dvd, ...)
  5. Ripristina l'immagine sull'unità di destinazione: dd if=/media/drive/sda.img of=/dev/sda

Il problema più grande potrebbe essere il bootloader (ma ci sono tutorial per questo anche in questo forum). Una volta ho reinstallato un bootloader facendo una nuova installazione di Ubuntu (preferibilmente lo stesso di quello che si dd'ed) e poi ddla vecchia partizione sopra la nuova installazione (in questo caso, si sarebbe solo dd /dev/sda1, non /dev/sda, che comprende anche il bootloader e tutte le partizioni)


Posso gestire dd. L'ho usato prima e so se non è l'inizio di una frase condizionale :) ... Per qualche ragione uuidi e grub mi confondono .. Probabilmente sono abbastanza semplici, ma poi potrei essere anch'io .. probabilmente userò l'MBR da una nuova installazione (fittizia). Il più grande ostacolo per me è effettivamente quello di prendere le partizioni dalla VM .. Come posso fare da una partizione VM all'host?
Peter.O

... un po 'di più (ho provato a modificare questo nel mio commento precedente, ma la modifica è stata vietata!? .. un altro mistero minore):. . . Le cartelle condivise di VirtualBox sembrano basarsi sui componenti aggiuntivi che non sono presenti in un'esecuzione di Live CD, poiché richiede un riavvio.
Peter.O

potresti dd in una cartella di rete, l'ho fatto la scorsa settimana ed era come 30 MB / s. Se imposti una cartella condivisa nel tuo ambiente live-cd / windows / linux e attivi la rete bridge per la VM, questo dovrebbe funzionare.
sBlatt,

btw: è possibile copiare un'intera partizione Linux con cp (+ alcuni argomenti per mantenere i permissoins! Molto importante! Penso che fosse -p o --preserve = all). L'ho fatto una volta per copiare un'immagine dopo aver ridimensionato una partizione (quindi ho montato il file dd-Image e ho fatto cp)
sBlatt

Mi dispiace essere così stupido su questo, ma devo mancare un punto incredibilmente semplice ... Tutto ciò che leggo sembra implicare che NAT consente all'Ospite di accedere all'Host per impostazione predefinita (una connessione nell'altra direzione richiede il collegamento). Ho avuto le mie tre ipotesi (più come una trentina!). Ho eseguito correttamente l'accesso alle cartelle condivise di VBox solo quando sono installati componenti aggiuntivi guest. Non riesco a installare questi componenti aggiuntivi in ​​una corsa LiveCD, quindi sono bloccato di nuovo. Come posso accedere al sistema dei file dell'host connesso NAT dal Guest (senza componenti aggiuntivi)? Suppongo di dover fare qualcosa sull'host, ma non capisco di cosa si tratta?
Peter.O

1

Non ho provato questo da solo, ma la descrizione sembra essere abbastanza realistica da provare.


L'articolo di cui parli è su un percorso simile a quello in cui voglio andare. Se ignoro i suoi problemi Fedora LVM, risolve quasi uno dei miei problemi: come ottenere la partizione VM nell'ambiente Host. Cita uno strumento VualManage di VirualBox che consente il montaggio di un'immagine del disco VM non formattata sull'host. Tuttavia, esiste un problema con questo articolo in quanto si riferisce a un host Windows. Il nome-comando è ok, ma nessuno degli arg è riconosciuto ... ma suppongo che lo stesso sia disponibile per Linux ... Qualcuno conosce la sintassi?
Peter.O

Prova a eseguire "comandi interni VBoxManage": stampa alcune informazioni sull'utilizzo. Potrebbe sembrare sufficiente.
Serge Broslavsky,

1

1> fai un tar del tuo sistema operativo virtualBox

2> inizia con una distribuzione live

3> decomprimere il sistema operativo VirtualBox nella / e partizione / i di destinazione (/ dev / sda1 per esempio)

4> rendere avviabile la partizione (fdisk può aiutarti): # Comando fdisk / dev / sda (m per aiuto): a (a = attiva / disattiva un flag di avvio) Numero della partizione (1-4): 1 (1 = / dev / sda1) Comando (m per aiuto): q (q = esci)

5> installa grub in mbr (https://wiki.ubuntu.com/Grub2) # mount / dev / sda1 / mnt / # mount --bind / dev / mnt / dev # mount --bind / proc / mnt / proc # mount --bind / sys / mnt / sys # cd / mnt && chroot. # (chroot) update-grub # (chroot) grub-install / dev / sda (NOT / dev / sda1!) # (chroot) grub-install --recheck / dev / sdX

6> Divertiti ...


1
Per tar mia VirtualBox OS suona così facile ... ma non per me ... Per esempio; Dove lo tarocco? Suppongo che il modo appropriato di tarare un file system sia di non averlo in uso ... quindi ho avviato la VM tramite un LiveCD ... Questo mi ha dato accesso all'unità della VM tramite il LiveCD / media .... ma come posso ottenere i dati dalla VM? Le cartelle condivise di VirtualBox richiedono GuestAddons, che richiede un riavvio, che riavvia il Live CD allo stato senza componenti aggiuntivi ... O ho perso qualcosa sulle cartelle condivise di VirtualBox /
Peter .O

Puoi tar (anche rsync) direttamente il sistema anche se è in esecuzione (questo è Linux ...):
daniele

Puoi tarare direttamente il sistema anche se è in esecuzione. Questo è Linux ;-). Per prima cosa installa questo pacchetto: sshfs ( fuse.sourceforge.net/sshfs.htm ) e monta una directory reale all'interno di virtualbox. Ad esempio puoi usare, all'interno di virtualbox come ho detto, un pendrive (montato, per così dire, in / media / pendrive) in questo modo: # sshfs root@10.0.2.2: / media / pendrive / mnt Dopo tar direttamente dal tuo ESEGUIRE virtualbox su pendrive (Linux can): # cd / # tar -cvpzf /mnt/backup.tgz --exclude = / proc / --exclude = / lost + found / --exclude = / mnt / --exclude = / sys / /
daniele il

1

Cosa esattamente dall'installazione vuoi migrare? Se tutto ciò che ti interessa sono i dati e le preferenze dell'utente, probabilmente potresti semplicemente copiare tutto dalla tua directory home sulla VM in un file system esterno alla VM (un keydrive, per esempio), copiare quei file su una nuova installazione di Ubuntu e quindi reinstallare tutti i programmi installati sulla macchina virtuale. Dipende da quanto hai personalizzato l'installazione della VM, rispetto a quanti problemi ci sarebbero le altre soluzioni qui.


Sto usando Ubuntu (primo utente Linux) su hardware reale. Ho imparato molto , ma il mio sistema ha raccolto molto disordine. Ho modificato un'impostazione e ho dimenticato dove l'ho impostata, ecc. La mia idea è quella di utilizzare l'esperienza (minima) che ho ora e costruire un sistema di macchine virtuali parallele, senza errori, e poi spostarlo sull'hardware primario . Posso prendermi il mio tempo e ancora sperimentare su quello attuale. È anche un buon progetto di "apprendimento" ... ma mi sento come se avessi morso un po 'più di quello che posso masticare :) ... arrivarci lentamente ...
Peter.O

1

Mi piace usare rsync per il backup del mio sistema. Questo è utile per una directory home diretta o ect, ma potrebbe non essere quello che stai cercando in termini di una migrazione completa del sistema. Per usare rsync, devi installare ubuntu su entrambi i sistemi. Aggiornali entrambi in modo che i pacchetti siano uguali e allo stesso livello (questo non è obbligatorio ma semplifica le cose). Quindi, per copiare la tua home directory da server1 a server2 puoi eseguire quanto segue su server1:

$rsync -avz /home/username/ username@server2:/home/username/

La cosa che mi piace di questo è che rsync calcolerà le differenze tra le directory e trasferirà le modifiche piuttosto che tutto. In questo modo è possibile mantenere aggiornato il backup eseguendo su server2 (per eseguire il backup su server1):

$rsync -avz /home/username/ username@server1:/home/username/

hth


Grazie, sto usando rsync per eseguire il backup delle mie partizioni non OS (es. Dati, come musica, ecc.). Anche a me piace il modo in cui funziona rsync; molto efficiente. Il mio "problema" principale è che non so se funzionerà una semplice copia di file dalla VM a partizioni equivalenti. Per esempio. In che modo Ubuntu gestirà i diversi HARDWARE. Lo rileva automaticamente e si regola all'avvio? Windows sicuramente no! e non sono ancora sicuro di come gestire i mount point: non voglio risincronizzare il mio disco TeraByte attraverso la partizione del sistema operativo; e GRUB mi fa uscire. Queste sono le piccole cose divertenti di cui non so ancora abbastanza ..
Peter.O
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.