Utilizzo di una partizione del disco rigido fisico come VM VirtualBox e come partizione avviabile


11

È possibile installare il sistema operativo Ubuntu con VirtualBox utilizzando la partizione del disco rigido fisico e quindi renderlo avviabile?

Quello che voglio è che il sistema operativo Ubuntu che ho installato in VirtualBox sia accessibile e possa essere avviato sia dalla macchina fisica che dalla VirtualBox VM (non allo stesso tempo ovviamente). Quindi, a volte posso avviarlo come una macchina virtuale e talvolta posso avviarlo come una macchina reale (come un doppio avvio insieme al mio sistema operativo principale che è Linux Mint).

Dopo aver letto alcuni articoli su questo, ecco il link:

  1. Migrare da una macchina virtuale (VM) a un sistema fisico
  2. Utilizzo di un disco rigido host non elaborato da un guest
  3. Utilizzo di un disco rigido fisico con una VM VirtualBox
  4. VirtualBox: utilizzo della partizione fisica come unità virtuale

Penso di poterlo fare, ma non sono sicuro del risultato per il mio problema. Si dice, se c'è un problema nel processo porterà a una grave corruzione dei dati.

Significa che tutti i dati nel mio disco rigido (non solo una partizione) saranno danneggiati?

MODIFICARE

Ho dimenticato di menzionarlo, il sistema operativo Ubuntu virtuale che ho installato è suddiviso in tre partizioni. E l'unità di partizione fisica che userò è una partizione logica. Questo è il problema che non mi rende sicuro del risultato.

Risposte:


9

Trovo la soluzione per il mio problema. Non è così semplice Per me come utenti Ubuntu inesperti è confuso. Alla fine, decido di non farlo. Ma forse qualcuno ha un altro modo di farlo meglio di me.

Installa il nuovo sistema operativo Ubuntu

Installa il sistema operativo Ubuntu insieme al tuo sistema operativo principale. Nel mio caso, è la zecca di Linux. Ma non vedo alcuna differenza nel processo tra Mint e Ubuntu poiché Mint si basa su Ubuntu.

Crea file medio per Virtual Box per leggere il nuovo sistema operativo

Al termine dell'installazione. È necessario creare un supporto per VirtualBox per leggere la partizione che contiene il sistema operativo Ubuntu appena installato. Il modo in cui lo fai è così:

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

Dov'è il Xtuo disco rigido ed Yè il tuo numero di partizione. Non includere la partizione che contiene l'avvio principale del sistema operativo. Perché abbiamo bisogno di un supporto di avvio diverso per il nuovo sistema operativo che non contiene l'avvio del sistema operativo principale. Potrebbe essere necessario eseguire come root.

Crea supporto per Virtual Box per l'avvio dal nuovo sistema operativo

Per la creazione del supporto di avvio creeremo un'immagine ISO dal nuovo file di avvio del sistema operativo. Innanzitutto, dobbiamo farlo nel nostro sistema operativo principale. Riavvia il computer e avvia dal sistema operativo principale. Nel mio caso, riavvio a Linux Mint.

Dobbiamo creare una cartella temporanea per creare il file di avvio iso. Quindi, una volta che Mint è pronta a fare il lavoro. Crea una cartella. Presumo che lo stiamo facendo sul desktop. Faremo così:

  • Vai al desktop.

  • Crea una nuova cartella e assegnagli il nome "iso".

  • Apri quella cartella iso e crea nuovamente una nuova cartella denominata "boot".

  • Apri quella cartella di avvio e crea nuovamente una nuova cartella denominata "grub".

    Se lo stiamo facendo tramite terminale, tutto ciò che dobbiamo fare è digitare questa riga e premere invio

    mkdir -p ~/Desktop/iso/boot/grub
    

    Il terminale è un ottimo strumento se sappiamo cosa stiamo facendo! ;)

  • Una volta create le cartelle, dobbiamo copiare i nuovi file di avvio del sistema operativo Ubuntu in quella cartella. Quindi, apri la partizione in cui installiamo il sistema operativo Ubuntu e quindi copia tutti i file da /usr/lib/grub/i386-pc/a ~/Desktop/iso/boot/grub. E copia tutti i file da /boot/grub/grub.cfga ~/Desktopiso/boot/grub.

    Ancora una volta, se questo passaggio viene eseguito tramite terminale, dovremmo fare così:

    cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
    
    cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
    
  • Apri grub.cfg ~/Desktop/iso/boot/grub/grub.cfgcon l'editor di testo. Avvertenza non commettere errori, quello che modificherai qui non è quello nel tuo /boot/grub/grub.cfg. Se modifichi l'ultimo che ho citato, l'avvio del tuo sistema operativo principale non riuscirà.

  • Una volta aperto grup.cfg. Elimina menuentryquello non correlato al nuovo sistema operativo Ubuntu che abbiamo installato. Di solito è così:

    ### Begin /etc/grub.d/your_main_os ###
    menuentry 'The text displayed in boot menu' {
        ----
        some code we don't need understand for this
        ----
    }
    ### End /etc/grub.d/your_main_os  ###
    

    Elimina tutte le voci di menu non correlate al nuovo sistema operativo Ubuntu che abbiamo installato. Non abbiamo bisogno che esistano in VirtualBox, vero?

  • Quindi, converti le cartelle con tutti i file inclusi in ISO con questo:

    grub-mkrescue -o boot.iso ~/Desktop/iso
    

    Nota: se si verifica un errore durante questa operazione, è necessario installare xorrisoprima. con questo:

    sudo apt-get install xorriso
    
  • Viene creato il file ISO per l'avvio. Sarà buono se mettiamo quel file iso nella stessa cartella con il file medio che stiamo creando.

Impostare la macchina virtuale in grado di avviare il sistema operativo Ubuntu esatto installato

Abbiamo creato il supporto per leggere il nuovo sistema operativo installato e abbiamo creato il boot loader per VirtualBox in modo indipendente. L'ultima cosa da configurare è come Virtual Box dovrebbe farlo.

  • Vai dove abbiamo messo il nostro medium.vmdk. Apri il terminale lì e fai questo:

    chmod -v 666 medium.vmdk
    
  • Come cambio root medium.vmdke boot.isopermesso file. Dobbiamo essere il proprietario di questi file.

  • Apri VirtualBox. Crea una nuova macchina. Quando l'opzione Disco rigido offre opzioni, selezionare use an existing virtual hard drivee selezionaremedium.vmdk

  • Finiscilo, ma non eseguirlo ancora. Con la nuova macchina selezionata, apri le impostazioni.

  • Nella sezione Archiviazione, se non è presente alcun archivio CD, creane uno nuovo. Quindi esegui il mount boot.isoche abbiamo creato nella memoria CD.

  • Prima di chiudere le Impostazioni, vai alla sezione Sistema per assicurarti. La memoria del CD che contiene boot.isoviene letta prima del disco rigido. In questo modo, Virtual Box si avvierà dal CD per leggere il nuovo sistema operativo installato.

  • Finire. E possiamo eseguire il nuovo sistema operativo installato sia dalla macchina virtuale che dalla macchina reale.

Note importanti

Anche se possiamo avviarlo da due vie. Ci sono alcuni problemi che ho riscontrato.

  1. Ogni volta che eseguiamo l'avvio dalla macchina reale e quindi proviamo ad avviarlo dalla macchina virtuale, si verificherà un errore. Perché lo stato dell'unità fisica viene modificato senza medium.vmdksaperlo. Quindi, dobbiamo creare un nuovo supporto e modificarne nuovamente l'autorizzazione per poter avviare dalla macchina virtuale. Ma non è necessario crearne di nuovi boot.iso.

  2. Perché l'indirizzo MAC di entrambe le macchine è diverso. Il sistema operativo verrà confuso quando si tenta di configurare le impostazioni di rete. Nel mio caso, ho installato Ubuntu Server come nuovo sistema operativo e ogni volta che eseguo l'avvio da una macchina diversa, verrà visualizzato un messaggio come "In attesa di configurazione della rete ..." per circa 2 minuti, quindi eseguo l'avvio.

Questo è tutto. La mia soluzione per il mio problema.


1
Proprio quello che stavo cercando di fare oggi. Ma viceversa, avvia il mio sistema operativo Windows da una partizione fisica. Seam come se potessi andare anche dall'altra parte.
nelaaro,

@nelaaro Sto provando a fare lo stesso. Ho un disco rigido con Windows 10 installato che ho collegato a una macchina Ubuntu 14.04. Ubuntu è il mio host, da questo voglio eseguire una VM Virtualbox del mio Windows 10. Ho creato il file rawvmdk ma non sono riuscito ad avviarlo. Come per questa risposta, dovrei creare un file ISO, ma iso creato tramite il comando sopra mi porta a grub e non è davvero in grado di avviarsi. Potete per favore aiutare?
Phani,

1
@nelaaro Ho creato una domanda separata su questo: askubuntu.com/questions/944509/… Gentilmente aiutami.
Phani,
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.