Virtualbox: partizione linux raw non avviata

Ho un computer porttile a doppio avvio con Windows 7 e Ubuntu 12.04. Sto cercando di avviare la partizione di Ubuntu da Windows utilizzando Virtualbox. Ho creato con successo il .vmdk e ho creato la macchina virtuale. Tuttavia, non posso farlo avviare (in Virtualbox). Tutto quello che ottengo è uno schermo nero con il cursore in alto a sinistra.

Mi chiedo se sto specificando correttamente le partizioni. L'installazione di Ubuntu ha 3 partizioni: \, \ boot, \ home. Nessuna partizione di swap. Questi sono tutti nel disco 0, partizioni 3,4,5 rispettivamente.

Il command che ho usato per creare il .vmdk è:

VBoxManage internalcommands createrawvmdk -filename C:\Users\abalter\.virtualbox\ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 3,4,5 

Quindi creo una macchina virtuale basata su quella .vmdk.

Perché non si avvia?

È un bug noto: https://www.virtualbox.org/ticket/9926 Questo http://www.neowin.net/forum/topic/784138-howto-boot-existing-ubuntu-partition-using-virtualbox-inside -windows / suggerisce di creare una iso personalizzata che bootstraps grub2 come una soluzione alternativa.

Ho appena fatto questo ieri, finalmente ho funzionato utilizzando questo tutorial: https://askubuntu.com/questions/78902/cannot-run-native-ubuntu-in-virtualbox-with-a-vmdk-created-using-the- createrawvm

Ho usato il post di ceztko (copiato qui sotto). Notare anche che dopo che avevo tutto funzionato, ho avviato Ubuntu nel VM e ho rieseguito l' update-grub , che ha liberato la voce extra in grub per Windows 7 (questo è per motivi di sicurezza; se si cerca di avviare accidentalmente l'avvio la partizione Win 7 da un VM in esecuzione su quella stessa installazione di Windows 7, cose cattive cattive cose accadranno). Dopo essermi fatto, ho essenzialmente due installazioni separate di grub: una sul MBR di sistema che include voci per Win 7 e Ubuntu e una sul MBR del file VirtualBox .vmdk (anche se questo file indica la partizione crudel Ubuntu, è ansible che abbia un MBR diverso).

Messaggio di ceztko:

Ho trovato una soluzione di lavoro perfettamente funzionante. sda7 è la partizione where ho installato linux, 5,6,7 sono la partizione nativa che voglio virtualizzare e "ceztko" è la mia casa: P

  • dal linux nativo, reinstallare il grub nella partizione linux nativa: sudo-grub install --force /dev/sda7
  • copiare il settore di avvio della partizione in casa: # dd if=/dev/sda7 of=/home/ceztko/virtualbox-native.mbr bs=512 count=1
  • copiare virtualbox-native.mbr per l'installazione di Windows
  • Riavvia a Windows e dal prompt di Amministratore:
    VBoxManage internalcommands createrawvmdk -filename C:\users\ceztko\ubuntu.vmdk -rawdisk \\.\PhysicalDrive0 -partitions 5,6,7 -mbr c:\users\ceztko\Dropbox\resources\virtualbox-native.mbr
  • Eseguire VirtualBox e assegnare la nuova unità virtuale alla macchina virtuale.
  • Godere!

Questo potrebbe essere un bug in Virtualbox. Ma meglio credo sia un bug in grub, confuso dalle partizioni Windows non accessibili quando installato come mbr nel disco di avvio.

Modifica: Devo menzionare che Hemlock era abbastanza vicino – il problema è infatti che il file .vmdk che punta alla partizione raw non include un settore bootloader / boot valido. Il primo passo nel post di cetzko è installare grub nel MBR della partizione e quindi eseguire una copia di tale MBR per aggiungere il file .vmdk. Normalmente grub viene installato sul MBR dell'integer disco rigido.

Il problema è il settore di avvio. Probabilmente non lo si inserisce nelle partizioni disponibili del disco rigido.

Ho compiuto qualcosa di simile in questo modo:

  1. Creare un'unità virtuale come normalmente.
  2. Crea il disco grezzo che hai descritto
  3. Installare l'unità virtuale
  4. Montare / sull'unità virtuale e /home sul disco rigido
  5. Assicurarsi che l'unità virtuale sia impostata come disco di avvio . Questo è where ho avuto problemi.
  6. Godere