2012-01-01 03:00:56 +0000 2012-01-01 03:00:56 +0000
66
66

Come accedere a una scheda SD da una macchina virtuale?

Voglio formattare una scheda SD dalla mia macchina virtuale Linux. Ho un lettore SD card integrato nel mio portatile. Ho provato a usare VirtualBox e VMware Player e ho installato Ubuntu 10.04 guest. Nessuno di loro mostra il lettore di schede SD come dispositivo. Posso accedere alla scheda SD dall'host Windows.

Non mi interessano le soluzioni che utilizzano cartelle condivise perché voglio accedere alla scheda SD come hardware (dovrebbe comparire in /dev).

Voglio fondamentalmente impostare la scheda SD per BeagleBoard , ma non voglio installare un Ubuntu fisico sul mio PC.

Risposte (11)

56
56
56
2012-08-06 09:15:30 +0000

Sui MacBook Pro più recenti lo slot della scheda SD non è più esposto come dispositivo USB. A causa di questo dovrai attaccare il dispositivo grezzo alla VM per ottenere l'accesso grezzo all'intera scheda. La documentazione completa è nella sezione Advanced Storage Configuration della documentazione di VirtualBox.

Come chiaramente indicato nella documentazione:

Attenzione - L'accesso al disco rigido grezzo è solo per utenti esperti. L'uso scorretto o l'uso di una configurazione non aggiornata può portare alla perdita totale dei dati sul disco fisico. Ancora più importante, non tentare di avviare la partizione con il sistema operativo host attualmente in esecuzione in un guest. Questo porterà ad una grave corruzione dei dati.

Come guida rapida, questi sono i passi per collegare il dispositivo a una VM Linux:

  1. Identificare il dispositivo a blocchi del disco grezzo sul sistema host

  2. Aprire Utility Disco e “Smontare” il volume. Non “espellerlo”. Si noti che potrebbe essere necessario smontare il volume una volta ogni tanto durante i prossimi passi, poiché ho scoperto che OSX lo rimonta automaticamente a caso.

  3. Ora impostiamo VirtualBox per essere a conoscenza del dispositivo grezzo con il seguente comando nel terminale.

  4. Poi attacchiamo il disco grezzo a una VM ospite all'interno dell'interfaccia utente di VirtualBox

  5. Avviare la VM

  6. A seconda che abbiate una GUI o meno, la scheda SD può essere montata automaticamente o meno. Se hai bisogno di montarla manualmente è semplicemente esposta come un altro dispositivo a blocchi standard, quindi sul mio guest era esposta come /dev/sdb.


Update

Sembra che alcune persone possano avere problemi con l'accesso al dispositivo raw nel passo 3.2 o 4.6. I tentativi di eseguire alcuni dei comandi con sudo non saranno d'aiuto in quanto VirtualBox verrà eseguito come utente loggato e non sarà comunque in grado di accedere al dispositivo raw corretto o al file vmdk generato.

I seguenti passi dovrebbero aiutare, anche se non li ho testati.

  1. Controlla che l'account che stai usando su OSX abbia i privilegi di amministratore nella sezione Preferenze di Sistema/Utenti. C'è una buona probabilità che sia anche l'account primario sul sistema per far funzionare l'accesso al dispositivo grezzo.
  2. Controllate i permessi del disco grezzo

Update #2

A quanto pare OSX Mountain Lion ha creato il dispositivo con i privilegi di “root:operator” e i permessi 0640. Sfortunatamente per ora l'unico modo per ottenere l'accesso a questo dispositivo è “sudo chown $USER” all'utente attuale ogni volta che si inserisce il dispositivo, tuttavia questo non è raccomandato a meno che non si capisca veramente cosa si sta facendo. Speriamo che Apple o VirtualBox trovino una soluzione più adatta.

42
42
42
2013-08-14 15:35:08 +0000

Risposta per gli utenti Windows

  1. Ottieni il DeviceID del tuo lettore di schede SD.

  2. Creare il file di collegamento alla scheda SD

  3. Seguire i passi 4-6 nella risposta di JinnKo, l'unica piccola modifica è che è necessario avviare VirtualBox come amministratore

  1. Poi attacchiamo il disco grezzo a una VM ospite all'interno dell'interfaccia utente di VirtualBox
  2. Assicurarsi che la VM ospite sia spenta.
  3. Assicuratevi che VirtualBox non sia in esecuzione
  4. Avviare VirtualBox cliccando con il tasto destro del mouse e scegliendo “Esegui come amministratore ”
  5. Aprire l'area delle impostazioni della VM ospite
  6. Clicca su “Storage” nella barra degli strumenti
  7. Accanto al controller cliccare sull'icona “Add Hard Disk”
  8. Selezionare “Choose existing disk”
  9. Naviga fino al disco /path/to/file.vmdk che hai usato nel passo 3 e selezionalo
  10. Ora dovresti tornare alla scheda “Storage” e vedere il tuo file.vmdk nella lista.
  11. Avvia la VM
  12. A seconda che tu abbia una GUI o meno, la scheda SD può essere montata automaticamente o meno. Se hai bisogno di montarla manualmente è semplicemente esposta come un altro dispositivo a blocchi standard, quindi sul mio guest era esposta come /dev/sdb.
7
7
7
2012-01-01 04:16:47 +0000

Molto probabilmente ti mancano le estensioni se il tuo lettore SD sta usando il controller USB.

Sotto File > Preferenze, segui il pic. Aggiungi e punta all'estensione scaricata.

Riavvia la tua macchina virtuale e dovresti avere accesso ai dispositivi USB.

4
4
4
2015-05-01 18:49:41 +0000

Sto usando Kubuntu 15.04, VirtualBox 4.3.26

Questo presuppone che il dispositivo della scheda sd sia /dev/mmcbl0 , e l'output .vdk sarà sd-card.vmk :

sudo VBoxManage internalcommands createrawvmdk -filename ./sd-card.vmdk -rawdisk /dev/mmcblk0

Non sono sicuro che questo sia il modo migliore per fissare i permessi, ma ha funzionato:

sudo chmod 777 /dev/mmcblk0
sudo chmod 777 ./sd-card.vmdk

Ora vai nelle impostazioni della VM, seleziona Storage, clicca su Controller:Sata, clicca sull'icona per Add Hard Disk, seleziona il tuo .vdk (sd-card.vmdk in questo caso)

4
4
4
2014-02-13 12:41:45 +0000

Sui MacBook Pro più recenti lo slot della scheda SD non è più esposto come dispositivo USB

Per superare questo problema puoi semplicemente usare un Usb Memory Card Reader esterno (cioè un adattatore da scheda sd a usb) invece del lettore di schede integrato. Esporrà la vostra scheda sd come un dispositivo USB in modo da poterla montare facilmente proprio come qualsiasi dispositivo USB. Sono dispositivi economici e sarebbero una soluzione accettabile considerando tutte le seccature nell'altro modo.

3
3
3
2012-08-15 02:43:13 +0000

Ho avuto un sacco di problemi per far funzionare la soluzione di JinnKo, soprattutto perché sono su Mountain Lion (OS X 10.8) … Ma con la sua gentile assistenza, ho risolto i problemi.

La soluzione completa è dettagliata qui .

Comunque, l'essenza della mia soluzione - per gli utenti di Mountain Lion - è la seguente (usa i passi di JinnKo qui sopra, ma inserisci il mio passo qui prima di eseguire il comando ‘VBoxManage internalcommands createrawvmdk […]’ (cioè, tra i suoi passi 2 & 3):

** Particolarmente per Mtn Lion ** Assicurati di essere il proprietario di questo dispositivo. Su 10.8 Mtn Lion, probabilmente scoprirete che non lo siete. Controllate facendo:

ls -l /dev/disk*

Con il ‘*’ vedrai TUTTI i tuoi dispositivi disco, puoi anche fare: ls -l /dev/diskX per vedere solo ‘X’, per esempio, ho fatto:

ls -l /dev/disk5

Su Mtn Lion ( 10.8.x ) vedrete qualcosa come:

brw-r----- 1 root operator 1, <today's date/time> /dev/diskX

Dove ‘X’ è il tuo numero di dispositivo, come il ‘5’ in /dev/disk5 …

Su Lion ( 10.7.x ), Snow Leopard (10.6.x ), o forse versioni precedenti di OS X, vedrai - se il tuo username è ‘brad’- probabilmente qualcosa come:

brw-r----- 1 brad operator 1, <today's date/time> /dev/diskX

Dove ‘X’ è il numero del vostro dispositivo, come il ‘5’ in /dev/disk5 … Se sei il proprietario, allora va tutto bene, niente da fare qui, vai al passo successivo, cioè il passo createrawvmdk (nelle ottime istruzioni di @JinnKo sopra).

Se non sei il proprietario (ma ‘root’ o qualche altro utente lo è), allora o (a) accedi come utente admin o (b) fai quanto segue (ancora una volta, sii molto sicuro che stai usando il numero/lettera di dispositivo corretto!):

* ATTENZIONE * Quanto segue è solo per coloro che vogliono rischiare di distruggere permanentemente i dati sul loro disco rigido o unità di memoria flash. NON FARE QUESTO se non sei sicuro di sapere cosa stai facendo:

sudo chown <your username> /dev/disk5
sudo chown <your username> /dev/disk5s1

* ATTENZIONE * NON FARE QUESTO se non sei sicuro di sapere cosa stai facendo. Quanto sopra è solo per coloro che vogliono rischiare di distruggere permanentemente i dati sul loro disco rigido o unità di memoria flash.

Dovrete farlo per TUTTE le vostre fette (s1, s2, s3, … per quante siano). Per esempio, il mio nome utente è ‘brad’, quindi ho fatto: sudo chown brad /dev/disk5, poi sudo chown brad /dev/disk5s1, poi per s2, e s3 (dato che avevo già 3 partizioni o slices esistenti).

Se non hai partizionato la scheda SD, allora potresti aver bisogno di fare solo sudo chown <your username> /dev/diskX una volta (senza fare nessuna delle partizioni)

Spero che questo aiuti qualche altro povero utente di Mtn Lion là fuori!

1
1
1
2012-04-25 06:24:35 +0000

Finora ho fallito nel trovare un modo per farlo direttamente, anche con un lettore di schede USB (ha messo la scheda su /dev/dm-1 piuttosto che il previsto /dev/mmcblk1).

Il mio workround era di creare un drive virtuale da 4 GB in VirtualBox. Questo potrebbe poi (come /dev/sdb) prendere un'installazione di BeagleBoard Ubuntu come documentato.

Ho poi spento la VM, l'ho convertita in un file RAW DD e ho usato DD per metterla sulla scheda: (sul Mac host):

VBoxManage clonehd UbuntuBeagleImage.vdi UbuntuBeagleImage.dd --format RAW
sudo dd if=UbuntuBeagleImage.dd of=/dev/rdisk(NUMBER) bs=1m

(/dev/disk2 nel mio caso, ma controllate tre volte perché se sbagliate potreste incasinare il vostro hard disk).

Il comando dd ha richiesto circa 1 ora e 20 minuti!

Spero che questo aiuti. Sto ancora lavorando per trovare un modo più facile e veloce - non dovremmo aver bisogno di trasferire 4 GB di dati per 600 MB di OS.

0
0
0
2018-11-27 09:48:54 +0000

Come menzionato da kobaltz. Per supportare le versioni USB 2.0 e 3.0 devi installare il Virtual Extension Pack, io ho installato il 5.2.22 Oracle VM VirtualBox Extension Pack, e lo puoi scaricare dalla pagina di download di Virtual Box. Una volta scaricato il file, puoi direttamente andare avanti e installarlo, lo stesso verrà aggiunto alle tue estensioni di Virtual Box.

Dovresti anche aggiungere la tua scheda SD ai filtri dei dispositivi nella nostra Virtual Box, vai su Impostazioni - > USB - > Clicca sull'opzione Aggiungi scheda SD allegata.

Ora potrai inserire la tua scheda SD nei filtri.

Vai su Files e vedi le cartelle della scheda SD (io uso Ubuntu Linux Distribution)

0
0
0
2016-02-16 19:55:43 +0000

Ho installato i file “Virtual Box Guest Additons CD”, ma il mio lettore di schede SD non veniva visualizzato nella mia macchina virtuale Windows XP. Sono riuscito a far funzionare il mio abilitando il dispositivo USB in Virtual Box e poi riavviando la macchina virtuale.

0
0
0
2014-06-14 15:40:36 +0000

Per me la soluzione è stata quella di accendere il dispositivo USB con la scheda SD, usando Devices -> USB devices ->My card reader, e dopo pochi secondi i nuovi dischi appaiono nella mia VM.

Ho installato VirtualBox Extensions Pack prima di questo.

0
0
0
2019-04-03 14:15:22 +0000

Per chiunque stia usando macos e stia seguendo le risposte precedenti, se ancora non potete accedere alla scheda sd a causa di un problema di permessi,

eseguire virtualbox con sudo risolverà il problema.

sudo VirtualBox

Notate che il percorso dei file vm è diverso, nel mio caso è:

/private/var/root/VirtualBox\ VMs/$VM_NAME/

Se ancora non funziona, cambia il proprietario e l'accesso al disco della scheda sd, rispettivamente al tuo account utente e 666.