Electronic Team uses cookies to personalize your experience on our website. By continuing to use this site, you agree to our cookie policy. Click here to learn more.

Come accedere alla scheda SD in VirtualBox

Editorial Team Editorial Team Jul 25, 2021

Gli utenti di VirtualBox di tutti i livelli (dal principiante allo sviluppatore) hanno numerosi scenari in cui richiedono l'accesso a un dispositivo USB da VirtualBox vms tramite passthrough USB. In particolare, l'accesso ai dispositivi USB collegati a un computer host.

In che modo i vboxusers conducono con successo il passthrough USB VirtualBox all'interno delle VM per accedere ai propri dispositivi hardware USB tramite Ethernet (o altre connessioni di rete)?

Ti risponderemo di seguito...

Questo articolo fornisce istruzioni dettagliate per mostrare a vboxusers come abilitare l'accesso all'hardware della scheda SD da una macchina guest Ubuntu Linux VirtualBox su una macchina host che esegue sistemi operativi Windows su Ethernet (o qualsiasi altra connessione di rete).

Accedi a USB nella macchina virtuale
14 giorni di prova gratuita

Prima di eseguire uno dei passaggi seguenti, assicurarsi che tutti i driver siano aggiornati su tutte le macchine che partecipano al passthrough USB.

Indipendentemente dalla piattaforma, dallo strumento o dal sistema operativo (VboxManage, Ubuntu, XP, VirtualBox Extension Pack, ecc.), sia gli sviluppatori che i nuovi utenti di vbox hanno bisogno che i loro driver siano aggiornati (o compatibili con la versione di VirtualBox Extension Pack utilizzata) per massimizzare il successo passante usb.

Passaggio 1: Controllare l'ID dispositivo della scheda SD

Passaggio 1-1: Aprire il prompt dei comandi (o Windows PowerShell su sistemi operativi Windows, come XP Pro) come amministratore (ad esempio: tasto "Windows" + "x". Quindi selezionare "Prompt dei comandi (admin)")

Passaggio 1-2: Utilizzare il comando wmic (o il comando lsusb su Linux) per elencare le unità disco. Questo dovrebbe essere fatto prima di inserire la scheda SD nel PC.

wmic diskdrive list brief

L'output dovrebbe essere il seguente:

Didascalia ID del dispositivo Modello Partizioni Dimensione
SAMSUNG MZFLV256HCHP-000MV \\.\PHYSICALDRIVE0 SAMSUNG MZFLV256HCHP-000MV 3 256052966400

Passaggio 1-3: Inserisci la scheda SD nella macchina ed esegui lo stesso comando di prima (su un sistema operativo Linux, sarebbe il comando lsusb per elencare informazioni relative a dettagli specifici sui bus USB, ecc.)

Gli utenti dovrebbero vedere una riga aggiuntiva che mostra l'ID dispositivo della scheda SD. Nell'esempio seguente, l'ID è: “\\.\PHYSICALDRIVE1“.

Didascalia ID del dispositivo Modello Partizioni Dimensione
Generic- USB3.0 CRW -SD USB Device \\.\PHYSICALDRIVE1 Generic- USB3.0 CRW -SD USB Device 2 31914086400
SAMSUNG MZFLV256HCHP-000MV \\.\PHYSICALDRIVE0 SAMSUNG MZFLV256HCHP-000MV 3 256052966400

Gli sviluppatori e gli utenti di vbox dovrebbero notare: gli utenti dovrebbero sapere se stanno utilizzando un dispositivo USB 3.0 o un USB 2.0 (EHCI). "EHCI" sta per: “Enhanced Host Controller Interface”.

Passaggio 2: Creare il file del disco della macchina virtuale (VM) della scheda SD

Passaggio 2-1: Trasferisci la cartella nella cartella di installazione di VirtualBox. Nell'esempio seguente, sarà: “C:\Program Files\Oracle\VirtualBox\”.

cd "C:\Program Files\Oracle\VirtualBox\"

Passaggio 2-2: Utilizzando "VBoxManage.exe" creare il file VMDK della scheda SD. L'ultimo argomento riguarda le schede SD DeviceID (rivedere i passaggi da 1-1 a 1-3)

.\VBoxManage.exe internalcommands createrawvmdk -filename C:\sdcard.vmdk -rawdisk
\\.\PHYSICALDRIVE1

Se tutto va bene, l'output leggerà "sdcard.vmdk" e verrà quindi creato nella cartella principale dell'unità C.

RAW host disk access VMDK file C:\sdcard.vmdk created successfully.

Passaggio 3: Montare la scheda SD VirtualBox con VMDK

Passaggio 3-1: Come amministratore, avvia la GUI di VirtualBox

avvia la GUI di VirtualBox

Passaggio 3-2: All'interno della GUI di VirtualBox, navigare come segue: "Impostazioni > Archiviazione"

Passaggio 3-3: Fare clic su "Controllore: SATA"

Passaggio 3-4: Seleziona la casella di controllo accanto a "Usa cache I/O host"

Passaggio 3-5: Ora fai clic sull'icona "Aggiungi disco rigido" (mostrata nell'aiuto visivo di seguito)

fai clic sull'icona del disco rigido degli annunci

Passaggio 3-6: Seleziona "Scegli disco esistente"

Passaggio 3-7: Vai all'unità C e scegli il file "sdcard.vmdk" (il file che abbiamo creato nel passaggio 2)

Passaggio 4: Verifica

Avvia la macchina virtuale e inizia la verifica. In questo esempio, sembra: "/dev/sdb" (immagine del sistema operativo Raspbian nella scheda SD da 32 GB).

$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 29.8 GiB, 32010928128 bytes, 62521344 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb1d773dc

Dispositivo Avvio avvio Fine Settori Dimensione ID Tipo
/dev/sdb1 8192 96453 88262 43.1M c W95 FAT32 (LBA)
/dev/sdb2 98304 31116287 31017984 14.8G 83 Linux

Risoluzione dei problemi

Sfortunatamente, durante il tentativo di utilizzare la scheda SD, sono sorti numerosi errori. Di seguito sono riportate alcune opzioni di risoluzione dei problemi per il passthrough della scheda SD di VirtualBox.

Risoluzione dei problemi Opzione 1:

L'errore: "I/O cache ha riscontrato un errore durante l'aggiornamento dei dati nel supporto "ahci-0-1" (rc=VERR_ACCESS_DENIED)"

errore

Per gli utenti che riscontrano l'errore precedente, tornare al passaggio 2 e assicurarsi che la casella di controllo "Usa cache I/O host" sia selezionata.

Risoluzione dei problemi Opzione 2

L'errore: “UUID del supporto non corrisponde al valore memorizzato nel registro del supporto.

non è riuscito ad aprire

Dall'interno della cartella di installazione di VirtualBox, esegui il seguente comando:

.\VBoxManage.exe list hdds

Gli utenti avranno quindi la possibilità di individuare l'UUID all'interno dei dettagli dell'errore

UUID: 5b951504-358d-4a6e-bb8f-61be3ec32367
Parent UUID: base
State: inaccessible
Type: normal (base)
Location: C:\Users\max\Desktop\sdcard.vmdk
Storage format: VMDK
Capacity: 0 MBytes
Encryption: disabled

Utilizzare il comando seguente (specificando l'UUID) per rimuovere il disco:

.\VBoxManage.exe closemedium disk 5b951504-358d-4a6e-bb8f-61be3ec32367

logo USB Network Gate
#1 at Reti
USB Network Gate
Condividi USB via Rete per Windows
4.7 rango basato su 372 + utenti