Hinzufügen eines DVD-Laufwerks zu einer headless-VirtualBox unter FreeBSD
547
Dan Barowy
Ich habe eine Windows 10 VM, die auf FreeBSD 11.1 in VirtualBox headless ausgeführt wird. Es läuft ohne Probleme. Ich möchte der VM den Zugriff auf physische CDs / DVDs ermöglichen, damit ich echte Discs einlegen und in der VM öffnen kann.
$ VBoxManage startvm MyVM --type headless Waiting for VM "MyVM" to power on... VBoxManage: error: The VM session was aborted VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component SessionMachine, interface ISession
Ich habe dafür gesorgt, dass /etc/devfs.confenthält
perm cd* 0660 perm xpt0 0660 perm pass* 0660
und mein Benutzer ist in der Operatorgruppe. Darüber hinaus enthält das VirtualBox-Protokoll keine offensichtlichen Fehler oder Warnungen. Die VM bricht einfach ohne nützliche Diagnoseinformationen ab. Durch das Entfernen des CD-Geräts wird die Funktionalität der VM wiederhergestellt.
Irgendwelche Ideen?
Update: Es sieht so aus, VBoxHeadlessals würde es aufgrund eines Segmentierungsfehlers heruntergefahren. Die Ursache ist mir immer noch unklar. Von /var/log/messages:
May 5 12:05:31 the_computer kernel: vboxdrv: XXXXXXXXXXXXXXXX VMMR0.r0 May 5 12:05:31 the_computer kernel: vboxdrv: XXXXXXXXXXXXXXXX VBoxDDR0.r0 May 5 12:05:31 the_computer kernel: pid 61621 (VBoxHeadless), uid 1001: exited on signal 11
Update 2: VBoxHeadlessAbbruch ist der Punkt, an dem die VM ATA-Geräte initialisiert. Ohne das CD-Gerät sehe ich Folgendes im Protokoll:
... 00:00:01.280311 VD#0: Cancelling all active requests 00:00:01.280468 PIIX3 ATA: LUN#0: no unit ...
aber wenn ich es wieder hinzufüge, bekomme ich
... 00:00:00.273730 VD#0: Cancelling all active requests [end of file]
2 Antworten auf die Frage
2
harrymc
Ich denke, dass Ihr Fehler ist, dass Sie den Speicher als definieren sollen, IDE Controllerstatt SATA Controller.
Guter Vorschlag, aber leider erzeugt das den gleichen Fehler. Das Protokoll zeigt jetzt zwei PIIX3-Einträge anstelle von einem (für LUN # 0 und LUN # 1).
Dan Barowy vor 5 Jahren
0
Das hätte funktionieren sollen. Es stimmt etwas mit Ihrer VM. Ich empfehle, es mit GUI auf einen Computer zu kopieren und die Definition zu untersuchen. Wenn nötig, rekonstruieren Sie es anhand der Festplatte.
harrymc vor 5 Jahren
0
HAL muss ausgeführt werden, damit die VirtualBox ™ DVD / CD-Funktionen funktionieren
Also musst du…
Aktivieren Sie es /etc/rc.confund starten Sie es, falls es noch nicht läuft
Dazu fügen Sie hald_enable="YES"Ihre /etc/rc.confDatei hinzu und führen sie dann aus
# service hald start
Dies gilt zusätzlich zu der Anforderung für den Benutzer, der Zugriff auf /dev/xpt0, /dev/cdNund benötigt, und /dev/passNder gemäß demselben Abschnitt des Handbuchs "normalerweise dadurch erreicht wird, dass der Benutzer Mitglied wird operator" und die Berechtigungen des Geräts korrigiert werden, indem diese Zeilen hinzugefügt werden /etc/devfs.conf"
perm cd* 0660 perm xpt0 0660 perm pass* 0660
und (damit das System diese Änderungen verwendet) den devfsDienst neu zu starten
# service devfs restart
Wenn Ihre VM nach all dem immer noch nicht startet, während Sie mit Ihrem Host-CD / DVD-Laufwerk verbunden sind, sollten Sie diese Ratschläge befolgen (von derselben Seite wie oben):
Erstellen Sie bei Bedarf zuerst ein leeres IDE-CD / DVD-Gerät. Wählen Sie dann das Host-Laufwerk aus dem Popup-Menü für die Auswahl des virtuellen CD / DVD-Laufwerks.
Wenn Sie das erwähnte 'Popup-Menü' nicht verwenden können, denke ich (aus der Dokumentation), dass das Folgende das Befehlszeilenäquivalent sein sollte:
Bei ausgeschalteter VM: Schließen Sie ein leeres virtuelles IDE-CD / DVD-Gerät an
Anscheinend gibt es einen Fehler in VirtualBox, der verhindert, dass dies auf Ihrem System funktioniert. Ich schlage vor, dass das Problem den VirtualBox-Entwicklern im Bugtracker des Projekts gemeldet wird .
Problemumgehung:
Bis zur Behebung dieses Problems empfiehlt es sich, das Problem zu umgehen, indem Sie eine ISO-Datei von Ihren physischen Datenträgern zur Verwendung mit VirtualBox erstellen. (Manche Leute bevorzugen es trotzdem.)
Lesen Sie die Block- und Volume-Größe der Disc, damit Sie ein perfektes ISO erstellen können (dieser Schritt ist nicht unbedingt erforderlich. Wenn Sie jedoch eine ISO ohne ISO erstellen, wird die Prüfsumme anders als bei der ursprünglichen ISO-Datei, die zum Erstellen der CD verwendet wurde. Ein Paar von Null-Datenblöcken am Ende "sowie die Volumengröße können später nützlich sein.) isoinfo -d -i /dev/cd0 | grep -i -E 'block size|volume size'
Sie erhalten eine ähnliche Ausgabe:
Logical block size is: 2048 Volume size is: 327867
Verwenden Sie dddiese Option, um den Inhalt der Disc zu kopieren
dd if=/dev/cd0 of=<cd name>.iso bs=<block size from step 1> count=<volume size from step 1> Zum Beispiel werde ich ein ISO namens "MyVirtualCD.iso" von der obigen Beispiel-CD erstellen: dd if=/dev/cd0 of=MyVirtualCD.iso bs=2048 count=327867
Wenn Sie Schritt 1 übersprungen haben, lassen Sie es einfach weg bsund countwie dd if=/dev/cd0 of=MyVirtualCD.iso folgt : Ihr ISO wird immer noch einwandfrei funktionieren. Am Ende werden nur unnötige "Null-Datenblöcke" angezeigt.
Wenn Sie eine neue Version verwenden dd, wird möglicherweise der Status durch Hinzufügen status=progresszur obigen Befehlszeile angezeigt
Wenn Sie eine ältere Version von verwenden ddoder einen schöneren Fortschrittsanzeiger verwenden möchten, können Sie die Installation pvüber "The Ports Collection" oder "FreshPorts" installieren und die ddAusgabe durchleiten, pvum Statistiken zu sehen, und da wir die Volumengröße aus Schritt kennen 1, eine genaue Fortschrittsanzeige: dd if=/dev/cd0 | pv -s <volume size from step 1> | dd of=<cd name>.iso
In unserem Beispiel würde dies wie folgt aussehen: dd if=/dev/cd0 of=MyVirtualCD.iso | pv -s 327867 | dd of=MyVirtualCD.iso
Jetzt können Sie das ISO an die VM anschließen und starten:
Wenn Sie Ihre VM mit dem emptydrivezuvor erwähnten Medium booten, steht das leere virtuelle CD-Laufwerk zur Verfügung, damit Sie denselben storageattachBefehl verwenden können, während die VM ausgeführt wird, um eine Ihrer virtuellen CDs zu wechseln, wann immer Sie möchten.
"hald" läuft bereits auf meinem Rechner, mit genau derselben "/ etc / devfs", die Sie haben. Gutes Denken aber!
Dan Barowy vor 5 Jahren
0
Leider hat diese Antwort nicht geholfen (ich vermute einen VBox-Fehler), aber es scheint vollständig genug zu sein, dass es hoffentlich jemand anderen hilft.
Dan Barowy vor 5 Jahren
0
Ich habe meine Antwort bearbeitet, um Informationen darüber zu erhalten, wie ISO-Dateien von Ihren CDs erstellt werden, um dieses Problem zu umgehen. Da es sich anscheinend um einen Fehler in VirtualBox handelt, fordere ich Sie auf, ihn über den [Bugtracker] (https://www.virtualbox.org/wiki/Bugtracker) zu melden. Wenn Sie dies tun, posten Sie bitte einen Link zum Fehler in einem Kommentar, und ich bearbeite ihn in meiner Antwort.
3D1T0R vor 5 Jahren
0
@ DanBarowy: Haben Sie einen Fehlerbericht eingereicht?
3D1T0R vor 5 Jahren
0