Ich möchte eine SD-Karte von meiner virtuellen Linux-Maschine formatieren. Ich habe einen eingebauten SD- Kartenleser in meinem Laptop. Ich habe VirtualBox und VMware Player ausprobiert und Ubuntu 10.04 als Gast installiert. Keiner von ihnen zeigt den SD-Kartenleser als Gerät an. Ich kann vom Windows-Host aus auf die SD-Karte zugreifen.
Ich bin nicht an Lösungen mit freigegebenen Ordnern interessiert, da ich als Hardware auf die SD-Karte zugreifen möchte (sie sollte in angezeigt werden /dev
).
Grundsätzlich möchte ich die SD-Karte für BeagleBoard einrichten , aber ich möchte kein physisches Ubuntu auf meinem PC installieren.
virtual-machine
sd-card
Punit Soni
quelle
quelle
Antworten:
Auf neueren MacBook Pro wird der SD-Kartensteckplatz nicht mehr als USB-Gerät angezeigt. Aus diesem Grund müssen Sie das Raw-Gerät an die VM anschließen, um ungehinderten Zugriff auf die gesamte Karte zu erhalten. Die vollständige Dokumentation finden Sie im Abschnitt Advanced Storage Configuration (Erweiterte Speicherkonfiguration) der VirtualBox-Dokumentation.
Wie in den Dokumenten klar angegeben:
Als Kurzanleitung sind dies die Schritte, um das Gerät an eine Linux-VM anzuschließen:
Identifizieren Sie das Raw Disk Block-Gerät auf Ihrem Host-System
Öffnen Sie ein Terminal und geben Sie "mount" ein. Sie sehen die Ausgabe, die das gemountete Volume von Ihrer SD-Karte identifiziert. Auf meinem System bekomme ich folgendes
In meinem Fall ist das "NO NAME" -Volume die SD-Karte, also nehme ich das
/dev/disk2s1
Teil zur Kenntnis . In diesem speziellen Fall stellt ders1
Teil eine Partition (Slice) auf dem Raw-Gerät dar, sodass der Teil, den wir später verwenden, nur der/dev/disk2
Teil ist.Nun richten wir VirtualBox mit dem folgenden Befehl im Terminal so ein, dass das Raw-Gerät erkannt wird.
/path/to/file.vmdk
überall abgelegt werden kann, obwohl es eine gute Idee ist, dies im Gast-VM-Ordner wie zu speichern~/VirtualBox VMs/guest-vm/sdcard.vmdk
Beachten Sie, dass der von
-rawdisk
uns verwendete Wert nicht auf die Partition (Slice) verweist, sondern nur auf das gesamte Blockgerät.Als Nächstes verbinden wir die Raw-Festplatte mit einer Gast-VM in der VirtualBox-Benutzeroberfläche
/path/to/file.vmdk
in Schritt 3 verwendeten Element und wählen Sie es ausfile.vmdk
in der Liste sehen.Aktualisieren
Es scheint, dass einige Benutzer Probleme beim Zugriff auf das Raw-Gerät in Schritt 3.2 oder 4.6 haben. Versuche, einige der Befehle mit sudo auszuführen, helfen nicht, da VirtualBox als angemeldeter Benutzer ausgeführt wird und weiterhin nicht auf das Raw-Gerät oder die generierte vmdk-Datei zugreifen kann.
Die folgenden Schritte sollten helfen, obwohl ich sie nicht getestet habe.
Überprüfen Sie die Raw-Festplattenberechtigungen
Diese Berechtigungen müssen mit Ihrem aktuell angemeldeten Benutzerkonto übereinstimmen:
Die Berechtigungen für das Gerät sollten auch Ihrem normalen Benutzerkonto ermöglichen, auf dieses Gerät zu lesen (r) und zu schreiben (w). ÄNDERN SIE NICHT DIE ERLAUBNISSE DES GERÄTS, WENN SIE NICHT UNBEDINGT WISSEN, WAS SIE TUN.
Update Nr. 2
Es stellte sich heraus, dass OSX Mountain Lion das Gerät mit den Berechtigungen "root: operator" und 0640-Berechtigungen erstellt hat. Leider besteht die einzige Möglichkeit, auf dieses Gerät zuzugreifen, darin, Ihrem aktuellen Benutzer bei jedem Einfügen des Geräts "sudo chown $ USER" mitzuteilen. Dies wird jedoch nicht empfohlen, es sei denn, Sie verstehen wirklich, was Sie tun. Hoffentlich finden entweder Apple oder VirtualBox eine geeignetere Lösung.
quelle
$ sudo launchctl list | grep diskarbitrationd 188 - com.apple.diskarbitrationd $ sudo kill -SIGSTOP 188 # pauses diskarbitrationd, disabling automount $ sudo kill -SIGCONT 188 # resumes diskarbitrationd, reenabling automount
sudo diskutil unmountDisk /dev/<disk path>
Antwort für Windows-Benutzer
Holen Sie sich die Geräte-ID Ihres SD-Kartenlesers.
Sie benötigen eine Karte im Laufwerk, die von Windows eingehängt wird.
Geben Sie diesen Befehl ein
Es sollte ungefähr so aussehen:
Das letzte Gerät ist der SD-Kartenleser, also die DeviceID
\\.\PHYSICALDRIVE1
Erstellen Sie die Verbindungsdatei zur SD-Karte
Öffnen Sie ein Befehlsfenster als Administrator
Dies setzt den Standardinstallationspfad voraus - ändern Sie ihn bei Bedarf. (Stellen Sie sicher, dass das Argument rawdisk in Anführungszeichen steht.)
Die .vmdk-Datei ist ein Link zur SD-Karte. Sie können sie an einer beliebigen Stelle auf Ihrem Host-System ablegen. Mit diesem Befehl wird sie jedoch nur zur Vereinfachung auf Ihrem Desktop abgelegt.
Befolgen Sie die Schritte 4 bis 6 in der Antwort von JinnKo. Die einzige kleine Änderung ist, dass Sie VirtualBox als Administrator starten müssen
quelle
cygwin
achten Sie auf die Escape-Zeichen. Ich habe nicht die richtigecygwin
Lösung gefunden, aber festgestellt, dass der Befehl, der ausgeführt wird,cmd
nicht ausgeführt wirdcygwin
.Die Erweiterungen fehlen höchstwahrscheinlich, wenn Ihr SD-Reader Ihren USB-Controller verwendet.
Folgen Sie unter Datei> Einstellungen dem Bild. Fügen Sie die heruntergeladene Erweiterung hinzu und verweisen Sie darauf.
Starten Sie Ihre virtuelle Maschine neu und Sie sollten Zugriff auf USB-Geräte haben.
quelle
Um dieses Problem zu lösen, können Sie anstelle des eingebauten Kartenlesers einfach einen externen USB-Speicherkartenleser (dh einen SD- Karte-zu-USB-Adapter) verwenden. Es wird Ihre SD-Karte als USB-Gerät verfügbar machen, so dass Sie sie einfach wie jedes USB-Gerät einbinden können. Sie sind billige Geräte und eine akzeptable Lösung, wenn man den ganzen Aufwand in die andere Richtung betrachtet.
quelle
Ich benutze Kubuntu 15.04, VirtualBox 4.3.26
Dies setzt voraus, dass das SD-Kartengerät
/dev/mmcbl0
und die Ausgabe-DVD Folgendes sindsd-card.vmk
:Ich bin mir nicht sicher, ob dies der beste Weg ist, um Berechtigungen zu reparieren, aber es hat funktioniert:
Gehen Sie nun zu den VM-Einstellungen, wählen Sie Storage, klicken Sie auf Controller: Sata, klicken Sie auf das Symbol für Add Hard Disk, wählen Sie Ihre .vdk (in diesem Fall sd-card.vmdk)
quelle
Ich hatte viele Probleme, die Lösung von JinnKo zum Laufen zu bringen, hauptsächlich, weil ich mich auf Mountain Lion (OS X 10.8) befand ... Aber mit seiner freundlichen Unterstützung habe ich die Probleme gelöst.
Die vollständige Lösung finden Sie hier .
Das Wesentliche meiner Lösung für Mountain Lion-Benutzer ist jedoch das Folgende (verwenden Sie die obigen Schritte von JinnKo, fügen Sie jedoch meinen Schritt hier ein, bevor Sie den Befehl 'VBoxManage internalcommands createrawvmdk [...]' ausführen (d. H. Zwischen seinen Befehlen) Schritte 2 & 3):
** Besonders für Mtn Lion ** Stellen Sie sicher, dass Sie der Besitzer dieses Geräts sind. Am 10.8 Mtn Lion werden Sie wahrscheinlich feststellen, dass Sie es nicht sind. Überprüfen Sie es, indem Sie Folgendes tun:
Mit dem '*' sehen Sie ALLE Ihre Festplattengeräte. Sie können auch Folgendes tun: ls -l / dev / diskX, um nur 'X' zu sehen. Ich habe zum Beispiel Folgendes getan:
Auf Mtn Lion (10.8.x) sehen Sie etwas wie:
Wobei "X" Ihre Gerätenummer ist, wie die "5" in / dev / disk5 ...
Auf Lion (10.7.x), Snow Leopard (10.6.x) oder vielleicht früheren Versionen von OS X werden Sie - wenn Ihr Benutzername "brad" ist - wahrscheinlich Folgendes sehen:
Wobei 'X' Ihre Gerätenummer ist, wie die '5' in / dev / disk5 ... Wenn Sie der Besitzer sind, ist alles in Ordnung, hier nichts zu tun, fahren Sie mit dem nächsten Schritt fort, d. H. Dem Schritt createrawvmdk ( in @JinnKos tollen Anweisungen oben).
Wenn Sie nicht der Eigentümer sind (aber "root" oder ein anderer Benutzer ist), gehen Sie entweder (a) als dieser Administrator-Benutzer anmelden oder (b) wie folgt vor (stellen Sie erneut sicher , dass Sie die richtige Gerätenummer / den richtigen Buchstaben verwenden Hier!):
* ACHTUNG * Das Folgende ist nur für diejenigen gedacht , die das Risiko eingehen möchten , Daten auf ihrer Festplatte oder ihrem Flash-Speicher permanent zu zerstören. DO NOT dies tun , wenn Sie nicht sicher sind , Sie wissen , was Sie tun:
* ACHTUNG * DO NOT dies tun , wenn Sie nicht sicher sind , Sie wissen , was Sie tun. Das obige gilt nur für diejenigen, die das Risiko eingehen möchten, Daten auf ihrer Festplatte oder ihrem Flash-Speicher permanent zu zerstören.
Sie müssen dies für ALLE Ihre Slices tun (s1, s2, s3, ... wie viele es auch gibt). Zum Beispiel ist mein Benutzername 'brad', also habe ich:,
sudo chown brad /dev/disk5
dannsudo chown brad /dev/disk5s1
, fürs2
unds3
(da ich bereits 3 Partitionen oder Slices hatte).Wenn Sie die SD-Karte nicht partitioniert haben, müssen Sie sie möglicherweise nur
sudo chown <your username> /dev/diskX
einmal ausführen (ohne die Slices / Partitionen auszuführen).Hoffe, dies hilft einigen anderen armen Mtn Lion-Nutzern da draußen!
quelle
Es ist mir bisher nicht gelungen, eine Möglichkeit zu finden, dies direkt zu tun, selbst mit einem USB-Kartenleser (der die Karte
/dev/dm-1
eher einsteckt als erwartet/dev/mmcblk1
).Meine Aufgabe bestand darin, in VirtualBox ein virtuelles Laufwerk mit 4 GB zu erstellen. Dies könnte dann (als
/dev/sdb
) eine Installation von BeagleBoard Ubuntu erfordern, wie dokumentiert.Ich habe dann die VM heruntergefahren, sie in eine RAW-DD-Datei konvertiert und mithilfe von DD auf der Karte abgelegt: (auf dem Host-Mac):
(
/dev/disk2
in meinem Fall, aber dreimaliges Überprüfen als falsch könnte Ihr Festplattenlaufwerk kaputt machen).Der
dd
Befehl dauerte ca. 1 Std. 20 Min.!Ich hoffe das hilft. Ich arbeite immer noch an einem einfacheren und schnelleren Weg - wir sollten keine 4 GB Daten für 600 MB Betriebssystem übertragen müssen.
quelle
Für mich war die Lösung Einschalt-USB - Gerät mit SD-Karte, mit
Devices -> USB devices ->My card reader
,und nach wenigen Sekunden neue Festplatten erscheinen in meiner VM.
Ich habe zuvor VirtualBox Extensions Pack installiert.
quelle
Ich habe die "Virtual Box Guest Additons CD" -Dateien installiert, aber mein SD-Kartenleser wurde in meiner virtuellen Windows XP-Maschine nicht angezeigt. Ich konnte Mine zum Laufen bringen ermöglicht das USB - Gerät in Virtual Box und dann Neustarten die virtuelle Maschine.
quelle
Wie Kobaltz erwähnt. Um die USB 2.0- und 3.0-Versionen zu unterstützen, müssen Sie das Virtual Extension Pack installieren. Ich habe das Oracle VM VirtualBox Extension Pack 5.2.22 installiert und Sie können es von der Virtual Box-Downloadseite herunterladen. Sobald Sie die Datei heruntergeladen haben, können Sie sie direkt installieren. Diese Datei wird auch Ihren Virtual Box-Erweiterungen hinzugefügt.
Sie sollten Ihre SD-Karte auch zu den Gerätefiltern in unserer Virtual Box hinzufügen. Gehen Sie dazu zu Einstellungen -> USB -> Klicken Sie auf die Option SD-Karte hinzufügen.
Nun können Sie Ihre SD-Karte in den Filtern ablegen.
Gehen Sie zu den Dateien und sehen Sie die Ordner der SD-Karte (ich verwende Ubuntu Linux Distribution)
quelle
Für alle, die MacOS verwenden und die vorherigen Antworten befolgen, wenn Sie aufgrund von Berechtigungsproblemen immer noch nicht auf die SD-Karte zugreifen können:
starte virtualbox mit sudo wird es lösen.
Beachten Sie, dass der Pfad zu den VM-Dateien unterschiedlich ist. In meinem Fall ist dies:
Wenn dies immer noch nicht funktioniert, ändern Sie den Besitzer und den Zugriff auf die SD-Karte in Ihr Benutzerkonto bzw. 666.
quelle