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.

Accedere alla scheda SD in VirtualBox

Editorial Team Editorial Team Apr 8, 2025

Gli utenti di VirtualBox di tutti i livelli (dal principiante allo sviluppatore) si trovano spesso in situazioni in cui è necessario accedere a un dispositivo USB dalle macchine virtuali VirtualBox tramite il passthrough USB. In particolare, si tratta di accedere ai dispositivi USB collegati al computer host.

Come fanno gli utenti di VirtualBox a effettuare con successo il passthrough USB in VirtualBox all’interno delle VM per accedere ai propri dispositivi USB via Ethernet (o altre connessioni di rete)? Lo vedremo qui sotto...

Questo articolo fornisce istruzioni dettagliate su come abilitare l’accesso all’hardware della scheda SD da una macchina virtuale Ubuntu Linux su VirtualBox, eseguita su un computer host con sistema operativo Windows tramite connessione Ethernet (o qualsiasi altra connessione di rete).

Indice dei contenuti:

  1. Come abilitare l’accesso alla scheda SD in Ubuntu VirtualBox su Windows
  2. Risoluzione dei problemi
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 da piattaforma, strumento o sistema operativo (VBoxManage, Ubuntu, XP, pacchetti di estensione VirtualBox, ecc.), sia gli sviluppatori sia i nuovi utenti di VBox devono assicurarsi che i driver siano aggiornati (o compatibili con la versione del pacchetto di estensione VirtualBox utilizzata) per garantire il successo del passthrough 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