Wie boote ich von einem USB-Laufwerk in VirtualBox?

72

Die Frage ist einfach und unkompliziert:

Wie boote ich von einem USB-Laufwerk in VirtualBox?

EDIT :

Ich habe die usbVirtualBox wie im Screenshot gezeigt angehängt .

https://i.stack.imgur.com/UPZZo.png

Es ist jedoch nicht möglich, von einem USB-Laufwerk zu booten, selbst wenn es angeschlossen ist (Referenz) .

Ich würde gerne wissen, ob es eine andere Möglichkeit gibt, von einem USB-Laufwerk zu booten.

Ravan
quelle
Sie können einfach Ihren USB-Stick öffnen, alles in eine ISO-Datei komprimieren und normal booten.
dat tutbrus
@Ravan - nicht zu vergessen, dass Benutzer häufig die Eigenschaft "boot" nicht an den USB-Stick anhängen. Dies ist im Menü 'Partition' von gparted und dort können Sie die Flagge bzw. die beschriftung des usb-sticks und aktiviere den parameter "boot".
dschinn1001
1
@dattutbrus Das funktioniert nicht, wenn Sie Dateien auf dem USB ändern möchten
Paul

Antworten:

89

VirtualBox selbst unterstützt das Booten von einem USB-Gerät nicht. Um von einem USB-Gerät zu booten, ist ein anderer Bootloader erforderlich. Die folgenden Schritte bieten eine Möglichkeit, dies zu erreichen:

  1. Laden Sie den Plop Boot Manager herunter (aktuell v5.0.15)
  2. Extrahieren Sie die Datei plpbt.isoaus dem ZIP-Archiv und speichern Sie sie irgendwo.
  3. Öffnen Sie die Einstellungen für die virtuelle Maschine und hängen Sie die ISO-Datei an:

    Bildbeschreibung hier eingeben

  4. Fügen Sie einen Filter für das USB-Gerät hinzu:

    Bildbeschreibung hier eingeben

  5. Booten Sie die VM und wählen Sie die Option "USB" im Menü:

    Bildbeschreibung hier eingeben

Wenn alles gut gegangen ist, sollte der Computer jetzt vom USB-Gerät starten.

Nathan Osman
quelle
1
Dies ist definitiv eine einfachere Antwort als meine. Ich mag das! Ich wünschte, ich könnte mehr dafür stimmen. =)
Terrance
3
Diese Antwort sollte beinhalten, dass Sie Teil der vboxusers- Gruppe sein müssen.
Musik
6
Bei mir funktioniert es nicht. Wenn ich USB auswähle, warte ich ewig mit seinem Bildschirm. Irgendeine Idee? postimg.org/image/dv8w83pi3
John
6
Ich wollte hinzufügen, dass Plop Boot Manager EHCI nur offiziell unterstützt. Wenn Sie wie ich sind und versuchen, ein USB 3.0-Laufwerk mit Plop Boot Manager zu verwenden, funktioniert dies nicht. Sie könnten versuchen, die in dem anderen Beitrag erwähnte Methode zu verwenden, aber VirtualBox scheint auch nicht sehr gern mit rohen VMDKs von USB 3.0-Geräten zu arbeiten. Wenn Ihr Computer nur über USB 3-Anschlüsse verfügt, können Sie einen USB 2.0-Hub bestellen und das Laufwerk über diesen anschließen. Es verhält sich im Wesentlichen wie ein USB 2.0-Laufwerk.
Fakedad
3
Wenn Sie diese Lösung mit der VMDK-Lösung kombinieren, erhalten Sie native USB-Leistung. Ansonsten funktioniert das nur mit USB 1.1.
Will Bickford
50

EDIT: 7. März 2018

Hier ist etwas zu beachten. Wenn Sie das USB-Laufwerk beim Neustart im Computer belassen, kann sich der /dev/sdLaufwerksbuchstabe ändern, sodass die RAW- usb.vmdkDatei auf das falsche Laufwerk verweist und nicht in VirtualBox gestartet wird. Als Test habe ich einen in meinem System belassen. Es war /dev/sdivor dem Neustart, nach dem Neustart war es /dev/sdc. Wenn Sie Ihren Computer nach Änderungen neu starten, entfernen Sie vor dem Neustart das USB-Laufwerk. Ich prüfe, ob die rohe Scheibe von der UUID des Antriebs anstatt hergestellt werden kann, da das nicht ändert.


Da VirtualBox nicht von USB-Laufwerken .vmdkbootet , können Sie eine Datei erstellen , die zum Booten auf Ihr USB-Laufwerk verweist.

HINWEIS: Sie MÜSSEN Ihr Benutzerkonto zur vboxusersGruppe hinzufügen, damit VirtualBox Ihren USB-Stick sehen kann. Sie MÜSSEN auch Ihr Konto zur diskGruppe hinzufügen , oder Sie können die .vmdkDatei nicht zu Ihrer virtuellen Maschine hinzufügen . Anweisungen unten in EDIT hinzugefügt . Dadurch wird auch das USB-Laufwerk nicht auf die Festplatte kopiert und das USB-Laufwerk wird direkt verwendet. Dies kann hilfreich sein, wenn auf dem USB, den Sie behalten möchten, eine Persistenz vorhanden ist. Nicht jede Situation ist gleich, daher funktioniert dies möglicherweise nicht in jedem Fall.

Zunächst müssen Sie Ihren USB-Stick, den Sie erstellt haben, in Ihrem System haben und das physische Laufwerk bestimmen. Wir gehen davon aus, dass Ihr Laufwerk als eingebunden ist /dev/sdb1. Das physische Laufwerk wäre also /dev/sdb.

Geben Sie als Nächstes in einem Terminalfenster Folgendes ein, um die .vmdkDatei zu erstellen, die auf das USB-Laufwerk verweist:

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

Oder

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

Dann sollten Sie so etwas sehen:

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

Hinweis: Einige Personen hatten Probleme mit dem Besitz der neu erstellten Datei. Übernehmen Sie den Besitz der neuen Datei:

sudo chown $USER:$USER ~/usb.vmdk

Dann müssen Sie nur noch die .vmdkDatei zu Ihrer VirtualBox Virtual Machine hinzufügen und sicherstellen, dass Sie mit ihr booten können.

Bildbeschreibung hier eingeben

BEARBEITEN:

vboxusersFühren Sie den folgenden Befehl aus, um Ihren Benutzer zur Gruppe hinzuzufügen :

sudo usermod -a -G vboxusers username

diskFühren Sie den folgenden Befehl aus, um Ihren Benutzer zur Gruppe hinzuzufügen :

Hinweis: Das Hinzufügen Ihres Benutzers zur Datenträgergruppe kann gefährlich sein und ein Sicherheitsrisiko darstellen. Es ist genauso gefährlich wie sudo-Zugriff, auf eine Raw-Festplatte zu schreiben.

sudo usermod -a -G disk username

Dann MÜSSEN Sie Ihr System neu starten, damit die Änderungen wirksam werden.

Vor dem Neustart:

Bildbeschreibung hier eingeben

Nach dem Neustart:

Bildbeschreibung hier eingeben

Hoffe das hilft!

Terrance
quelle
1
Ich habe folgenden Fehler erhalten: VBoxManage: Fehler: VMDK: Raw-Datenträgerdatei '/ dev / sdc' konnte nicht geöffnet werden VBoxManage: Fehler: Fehlercode VERR_WRITE_PROTECT unter /build/virtualbox-VDAABr/virtualbox-4.3.36-dfsg/src/VBox/ Storage / VMDK.cpp (3390) in Funktion int vmdkCreateRawImage (PVMDKIMAGE, PVBOXHDDRAW, uint64_t) VBoxManage: Fehler: kann nicht erstellt werden, die raw - Disk - VMDK: VERR_WRITE_PROTECT VBoxManage: Fehler: die raw - Disk - VMDK - Datei wurde nicht erstellt
John
@ John Haben Sie Ihr Konto zur diskGruppe hinzugefügt, sich dann abgemeldet und wieder angemeldet oder neu gestartet, nachdem Sie die Gruppe hinzugefügt haben?
Terrance
Ja, ich starte es neu und das Ereignis, wenn ich es als Root-Ergebnis ausführe, ist dasselbe ...
John
2
funktioniert gut für mich. Anmerkungen: Sie müssen nicht neu starten, nur abmelden / anmelden. Sobald Sie sich in der Datenträgergruppe befinden, sollten Sie sudo nicht mehr benötigen.
Karl Forner
1
Ich habe die Anweisungen befolgt, aber beim Versuch, Windows 10 über das USB-Laufwerk in der VirtualBox zu starten, wurde die Meldung "FATAL: Vom Startmedium konnte nicht gelesen werden! System angehalten" angezeigt. Irgendwelche Vorschläge? Danke für deine Hilfe!
Arch Linux Tux
15

Ich bin vor ein paar Tagen zu diesem Beitrag gekommen. Ich möchte den Plop Boot Manager nicht verwenden, da mein USB-Stick bereits bootfähig ist.

Also habe ich versucht, den USB-Stick auf eine VMDK-Festplatte (wie in Terrance answer) zu verweisen, indem ich sie erstellt habe vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

Leider funktionierte dies nicht ... Ich chmodund chowndie usb.vmdkFestplatte, und so konnte ich sie an eine VM anschließen, aber es funktionierte einfach nicht.

Schließlich habe ich eine andere Lösung ausprobiert und diese hat einwandfrei funktioniert. Hier ist es (danke an Gean Santos für die Recherche):

  1. Stecken Sie den USB-Stick ein und identifizieren Sie ihn (bei mir /dev/sdbläuft Sabayon Linux).
  2. Erstellen Sie eine .vmdkFestplatte, indem Sie das Raw-Gerät (dh den USB-Stick) in eine VirtualBox-Festplatte konvertieren

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. Jetzt haben Sie eine usb.vmdkDiskette von Ihrem bootfähigen USB-Stick erstellt. Ich habe auch versucht, ddden USB-Stick in eine Image-Datei und die .vmdkFestplatte aus der Image-Datei zu erstellen. Es funktioniert genauso wie .vdiFestplatten, die auf die vorherige Weise (oder aus der Image-Datei) erstellt wurden.

  4. Geben Sie nun Berechtigungen für die erstellte Festplatte, damit VirtualBox auf die Datei zugreifen kann. Es bedeutet nur, dass der Dateieigentümer in einen Benutzer geändert wird, der sich in der Gruppe vboxusers befindet . Wenn Ihre VirtualBox-Installation in Ordnung ist, sind dies wahrscheinlich Sie:

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. Jetzt müssen Sie nur noch die usb.vmdkFestplatte an eine virtuelle Maschine anschließen. Es muss jedoch an einen IDE-Controller angeschlossen sein . Ich habe es SATAohne Erfolg versucht .

Ein VM-Beispiel mit einem bootfähigen <code> usb.vmdk </ code>, der an einen IDE-Controller angeschlossen ist

Jetzt ist alles in Ordnung.

Starten Sie einfach die neue VM, drücken Sie F12und wählen Sie das bootfähige Laufwerk.

Genießen!

Marcio H Zuchini
quelle
Funktioniert das mit USB 3.0 (vgl. Kommentare hier askubuntu.com/questions/693719/… )?
verrückt nach natty
Ich habe es gerade überprüft und Sie haben im Grunde Ihr USB-Stick-Laufwerk kopiert und nicht den originalen USB-Stick auf diese Weise verwendet.
Fedcomp
11

Die einfachste Lösung ist, den Inhalt des USB-Sticks in eine ISO-Datei zu kopieren (na ja, das nächste Mal lade ich einfach den ISO-Code auf die richtige Maschine herunter, es wird überhaupt kein USB-Stick benötigt).

dd if=/dev/sdc of=myusbkey.iso

Fügen Sie dann diese .iso als optisches Laufwerk in den VirtualBox-Einstellungen unter Speicher, Controller: IDE (oder SATA, denke ich) hinzu.

VirtualBox muss keine .vmdk-Datei erstellen und unterstützt .iso-Dateien.

David Faure
quelle
Diese Antwort sollte ganz oben stehen.
McMutton
Ich stimme zu :-) Aber das erfordert immer noch mehr Stimmen;)
David Faure
Die Sache hier ist , wenn Sie eine Partition mit einem bootfähigen Abbild von etwa 40 GB haben wird es eine Datei mit dieser Größe erzeugen 😅
Sposmen
Richtig, aber alle anderen Lösungen tun das auch, nicht wahr?
David Faure
1
@DavidFaure Die ursprüngliche Antwort zur Verwendung von "VBoxManage internalcommands createrawvmdk ..." erstellt nur etwas, das Sie sich als eine Verknüpfung zu dem USB-Laufwerk vorstellen können, das Sie zum Zeitpunkt der Ausführung des obigen Befehls an das System angeschlossen haben. Sie erhalten also kein potenziell großes Image des USB-Sticks, wie von user33845
ConceptRat
5

Ich würde die folgenden Schritte vorschlagen.

  1. Öffnen Sie die Datenträger.
  2. Suchen Sie nach dem USB.
  3. Klicken Sie dort und in der oberen rechten Ecke sehen Sie ein Einstellungssymbol mit 3 parallelen Linien.
  4. Klicken Sie dort und wählen Sie Create Disk Image ...
  5. Wählen Sie den Speicherort und klicken Sie auf Erstellen . Es wird eine IMG-Datei erstellt, die Sie in VirtualBox verwenden können.
Madhurjya Dasgupta
quelle
2

Ich wollte Virtualbox nicht als root ausführen. Ich wollte nicht, dass mein Benutzer der Datenträgergruppe angehört und über die vollständigen Berechtigungen für alle Datenträger verfügt.

Also hier ist, was ich zur Arbeit bekam:

Finden Sie heraus, was der Memory Stick ist. In der folgenden Anleitung ist es sdc.

  • Hängen Sie den Memory Stick aus

    su -
    chmod 666 /dev/sdc1
    chmod 666 /dev/sdc
    exit # Run the following command as regular user:
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
    su - # Back as root again:
    chmod 777 usb.vmdk
    chmod 666 /dev/sdc
    
  • Schließen Sie die Virtualbox-Maschine usb.vmdk an

    chmod 666 /dev/sdc
    
  • Starten Sie die Virtualbox-Maschine
  • Setzen Sie anschließend die sdc1-Berechtigung für die Sicherheit zurück:

    chmod 660 /dev/sdc1
    

Oben sehen Sie, dass ich die Berechtigungen für den Memory Stick einige Male zurücksetzen musste, da er jedes Mal auf root zurückgesetzt wurde.

Ich verwende Mandriva Linux, aber es sollte in Ubuntu ungefähr gleich sein

Wayne Sallee
quelle
Die Erlaubnis, hier zu fummeln, ist ein sehr schlechter Rat. Zunächst tun Sie dies als root, sodass Sie die Berechtigungen nicht wirklich ändern müssen, damit diese Befehle funktionieren. Zweitens ist es besser, den entsprechenden Benutzer zur Datenträgergruppe hinzuzufügen, sodass dies nicht einmal erforderlich ist.
Evan Teran
@Evan Teran Hast du es mal probiert? Und ja, der Benutzer ist Teil der Plattengruppe. Dies ist die Methode, die ich bis heute mit meinem eigenen Linux-Betriebssystem verwende. Wayne Sallee [email protected]
Wayne Sallee
Ich sagte nicht, dass es nicht funktionieren würde, ich sagte, dass es kein guter Rat ist. Unabhängig von den Benutzergruppen sollten Sie, wenn Sie die Befehle als root ausführen, nicht einmal mit den Berechtigungen herumspielen müssen, da der root-Zugriff sowieso. Außerdem ist das Erstellen von Dateien und Ordnern mit 777 und 666 eine schlechte Praxis. Sie sollten Dinge nicht lesbar oder beschreibbar machen, es sei denn, dies muss der Fall sein.
Evan Teran
@ Evan Teran it's not good advice to run a program as root, that does not need to be root. The memory stick is only in for a little while, and it is not on a server. It's a matter of where you want to put the risk. I choose to put the risk on the memory stick rather than the system. [email protected]
Wayne Sallee
Correction: I haven't put my user in the disk group. [email protected]
Wayne Sallee
1

If your USB drive is an EFI bootable drive then Plop Boot Manager will not work as it does not support EFI boot. What worked for me in such case was using rEFInd boot manager (http://www.rodsbooks.com/refind/).

  1. Download rEFInd bootable iso from http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download and unzip it.

  2. Open virtual machine settings in VirtualBox and attach the rEFInd CD ISO file.

  3. Make sure that "Enable EFI (special OSes only)" option in virtual machine settings in "System" tab is enabled.

  4. Boot the virtual machine and you should see rEFInd boot menu:

Menü BEFEHLEN

  1. Attach your USB drive in VirtualBox.

  2. Press backspace to refresh the menu or just wait few seconds and drive should appear in the menu.

  3. Select your USB drive and hit enter and your USB drive should start booting.

Leszek Szary
quelle