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

Como aceder a um cartão SD a partir de uma máquina virtual?

Quero formatar um cartão SD a partir da minha máquina virtual Linux. Tenho um leitor cartão SD embutido no meu portátil. Tentei usar VirtualBox e VMware Player e instalei o Ubuntu 10.04 convidado. Nenhum deles está a mostrar o leitor de cartões SD como dispositivo. Posso aceder ao cartão SD a partir do anfitrião do Windows.

Não estou interessado em soluções que utilizem pastas partilhadas, pois quero aceder ao cartão SD como hardware (deve aparecer em /dev).

Eu quero basicamente configurar o cartão SD para BeagleBoard , mas não quero instalar um Ubuntu físico no meu PC.

Respostas (11)

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

Nos MacBook Pro mais recentes, a ranhura do cartão SD já não está exposta como dispositivo USB. Devido a isto, será necessário ligar o dispositivo em bruto ao VM para obter acesso em bruto a todo o cartão. A documentação completa está na secção Advanced Storage Configuration da documentação da VirtualBox.

Como claramente indicado nos documentos:

Aviso - O acesso cru ao disco rígido é apenas para utilizadores experientes. O uso incorrecto ou a utilização de uma configuração desactualizada ** pode levar à perda total de dados no disco físico***. Mais importante, não tentar arrancar a partição com o sistema operativo anfitrião actualmente em funcionamento num convidado. Isto conduzirá a uma grave corrupção de dados.

Como guia rápido, estes são os passos para ligar o dispositivo a um linux VM:

  1. Identifique o dispositivo de bloco de disco em bruto no seu sistema anfitrião

  2. Utilitário de disco aberto e “Desmontar” o volume. Não o “Ejectar”. Note que poderá ter de desmontar o volume de vez em quando durante os próximos passos, uma vez que encontrei que o OSX o voltaria a montar automaticamente ao acaso.

  3. Agora configuramos a VirtualBox para estar ciente do dispositivo em bruto com o seguinte comando no Terminal.

  4. Em seguida, ligamos o disco em bruto a um VM convidado dentro da VirtualBox UI

  5. Iniciar o VM

  6. Dependendo de ter ou não uma GUI, o cartão SD pode ou não ser montado automaticamente. Se precisar de montar manualmente é simplesmente exposto como outro dispositivo de bloco padrão, por isso no meu convidado isto foi exposto como /dev/sdb.


Actualização

Parece que algumas pessoas podem ter problemas em aceder ao dispositivo em bruto no passo 3.2 ou 4.6. Tentativas de executar alguns dos comandos com o sudo não ajudarão, uma vez que a VirtualBox estará a funcionar à medida que o utilizador se logar no sistema e ainda não será capaz de aceder ao dispositivo em bruto correcto ou ao ficheiro vmdk gerado.

Os passos seguintes devem ajudar, embora eu ainda não os tenha testado.

  1. Verifique a conta que está a usar no OSX tem privilégios de Admin na secção Preferências do Sistema/Utilizadores. Há uma boa probabilidade de ser também a conta principal no sistema para acesso a dispositivos em bruto ao trabalho.
  2. Verifique as permissões do disco em bruto

Actualização #2

Acontece que o OSX Mountain Lion criou o dispositivo com privilégios de “root:operator” e 0640 permissões. Infelizmente por agora a única forma de obter acesso a este dispositivo é “sudo chown $USER” para o seu utilizador actual cada vez que inserir o dispositivo, no entanto, isto não é recomendado a menos que compreenda realmente o que está a fazer. Esperemos que a Apple ou a VirtualBox encontrem uma solução mais adequada.

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

Resposta para utilizadores de Windows

  1. Obtenha o DeviceID do seu leitor de cartões SD.

  2. Criar o ficheiro de ligação para o cartão SD

  3. Siga os passos 4-6 na resposta de JinnKo, o único ajuste menor é que precisa de iniciar a VirtualBox como Administrador

  1. A seguir anexamos o disco em bruto a um VM convidado dentro da VirtualBox UI
  2. Certifique-se de que o VM hóspede está desligado.
  3. Assegurar que a VirtualBox não está a funcionar & > 3. Inicie a VirtualBox clicando nela com o botão direito do rato e escolhendo “Run as administrator ”
  4. Abrir a área de configurações para o VM convidado
  5. Clicar em “Armazenamento” na barra de ferramentas
  6. Ao lado do controlador clicar no ícone para “Adicionar disco rígido”
  7. Seleccionar “Escolher disco existente” & > 8. Navegue até ao /path/to/file.vmdk& que utilizou no passo 3 e seleccione-o
  8. Deverá agora ser devolvido ao separador “Armazenamento” e ver o seu file.vmdk na lista.
  9. Inicie o VM
  10. Dependendo de ter ou não uma GUI, o cartão SD pode ou não ser montado automaticamente. Se precisar de montar manualmente é simplesmente exposto como outro dispositivo de bloco padrão, por isso no meu convidado isto foi exposto como /dev/sdb.
7
7
7
2012-01-01 04:16:47 +0000

É muito provável que lhe faltem as extensões se o seu leitor SD estiver a utilizar o seu controlador USB.

Em Ficheiro > Preferências, siga a imagem. Adicione e aponte para a extensão descarregada.

Reinicie a sua Máquina Virtual e deverá ter acesso a dispositivos USB.

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

Estou a usar Kubuntu 15.04, VirtualBox 4.3.26

Isto assume que o dispositivo de cartão sd é /dev/mmcbl0 , e a saída .vdk será sd-card.vmk :

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

Não sei se esta é a melhor maneira de corrigir permissões, mas funcionou:

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

Agora vá às Definições VM, seleccione Armazenamento, clique em Controlador:Sata, clique no ícone para Adicionar disco rígido, seleccione o seu .vdk (sd-card.vmdk neste caso)

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

Nos MacBook Pro mais recentes, a ranhura para cartões SD já não está exposta como dispositivo USB

Para ultrapassar este problema pode simplesmente usar um Usb Memory Card Reader (ou seja, adaptador sd card to usb) externo em vez de um leitor de cartões incorporado. Ele irá expor o seu cartão sd como um dispositivo USB para que o possa montar facilmente como qualquer dispositivo usb. São dispositivos baratos e seriam uma solução aceitável considerando todos os inconvenientes do outro modo.

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

Tive muitos problemas para conseguir que a solução de JinnKo funcionasse, principalmente devido ao facto de eu estar no Mountain Lion (OS X 10.8) … Mas com a sua amável assistência, resolvi os problemas.

A solução completa é detalhada aqui .

Contudo, a essência da minha solução - para os utilizadores do Mountain Lion - é a seguinte (use os passos de JinnKo acima, mas insira aqui o meu passo _ antes_ de executar o comando ‘VBoxManage internalcommands createrawvmdk […]’ (isto é, entre os seus passos 2 & 3):

** Especialmente para Mtn Lion *** Certifique-se de que é o proprietário deste dispositivo. Em 10.8 Mtn Lion, provavelmente descobrirá que não é. Verifique fazendo-o:

ls -l /dev/disk*

Com o ‘*’ verá TODOS os seus dispositivos de disco, também pode fazer: ls -l /dev/diskX para ver apenas o ‘X’, por exemplo, eu fiz:

ls -l /dev/disk5

Em Mtn Lion ( 10.8.x ) verá algo do género:

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

Onde ‘X’ é o número do seu dispositivo, como o ‘5’ em /dev/disco5 …

No Leão ( 10.7.x ), Leopardo das Neves (10.6.x ), ou talvez versões anteriores do OS X, você irá - se o seu nome de utilizador for ‘brad’- provavelmente ver algo do género:

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

Onde ‘X’ é o número do seu dispositivo, como o ‘5’ em /dev/disco5 … Se é o proprietário, então tudo é bom, nada a fazer aqui, vá para o próximo passo, ou seja, o passo createrawvmdk (em @JinnKo ‘s grandes instruções acima).

Se não é o proprietário (mas 'root’ ou algum outro utilizador é), então (a) faça o login como esse utilizador administrador ou (b) faça o seguinte (mais uma vez, esteja muito seguro de que está a usar o número/carta correcto do dispositivo aqui!):

* CUIDADO * O abaixo é apenas para aqueles que querem risco destruir permanentemente os dados no seu disco rígido ou unidade de armazenamento flash. FAÇA NÃO FAÇA ISTO se não tiver a certeza de saber o que está a fazer:

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

* CUIDADO * FAÇA NÃO FAÇA ISTO se não tiver a certeza de saber o que está a fazer. O acima descrito é apenas para aqueles que querem RISK destruir permanentemente dados no seu disco rígido ou unidade de armazenamento flash.

Terá de o fazer para TODAS as suas fatias (s1, s2, s3, … por muitas que sejam). Por exemplo, o meu nome de utilizador é ‘brad’, por isso o fiz: sudo chown brad /dev/disk5, depois sudo chown brad /dev/disk5s1, depois para s2, e s3 (uma vez que já tinha 3 divisórias ou fatias existentes).

Se ainda não partiu o cartão SD, então talvez só precise de fazer o sudo chown <your username> /dev/diskX uma vez (sem fazer nenhuma das fatias/partições)

Espero que isto ajude alguns outros pobres utilizadores do Mtn Lion por aí!

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

Até agora falhei em encontrar uma forma de o fazer directamente, mesmo com um leitor de cartões USB (coloca o cartão em /dev/dm-1 em vez do esperado /dev/mmcblk1).

O meu trabalho foi criar uma unidade virtual 4 GB na VirtualBox. Isto poderia então (como /dev/sdb) levar uma instalação do BeagleBoard Ubuntu como documentado.

I depois desligou a VM, converteu-a num ficheiro RAW DD e usou DD para a colocar no cartão: (no Mac anfitrião):

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

(/dev/disk2 no meu caso, mas a verificação tripla como enganando-se pode estragar o disco rígido).

O comando dd demorou cerca de 1 h 20 min!

espero que isto ajude. Ainda estou a trabalhar para uma forma mais fácil e rápida - não deveríamos precisar de transferir 4 GB de dados para 600 MB de OS.

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

Como kobaltz mencionou. Para suportar as versões USB 2.0 e 3.0 é necessário instalar o Virtual Extension Pack, instalei o 5.2.22 Oracle VM VirtualBox Extension Pack, e pode descarregá-lo a partir da página de descarregamento da Virtual Box. Uma vez descarregado o ficheiro, pode ir directamente em frente e instalá-lo, o mesmo será adicionado às suas extensões da Virtual Box.

Deverá também adicionar o seu cartão SD aos filtros do dispositivo na nossa Caixa Virtual, por favor vá a Settings - > USB -> Clique na opção Add SD card Attached.

Agora poderá adicionar o seu cartão SD nos Filtros.

Vá aos Ficheiros e veja as pastas dos cartões SD (Utilizo Distribuição Ubuntu Linux)

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

Instalei os ficheiros do “Virtual Box Guest Additons CD”, mas o meu leitor de cartões SD não estava a aparecer na minha máquina virtual Windows XP. Consegui pôr o meu a funcionar através de ativação do dispositivo USB na Caixa Virtual e depois arrancar a Máquina Virtual.

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

Para mim a solução foi ligar o dispositivo USB com cartão SD, usando Devices -> USB devices ->My card reader, e após alguns segundos aparecem novos discos no meu VM.

& instalei o VirtualBox Extensions Pack antes disso.

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

Para qualquer pessoa que utilize macos e siga as respostas anteriores, se ainda não conseguir aceder ao cartão sd devido a uma questão de permissão, a caixa virtual

correr com o sudo irá resolvê-la.

sudo VirtualBox

Note que o caminho para os ficheiros vm é diferente, no meu caso, é:

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

Se isso ainda não funcionar, mude o proprietário e o acesso do disco do cartão sd, para a sua conta de utilizador e 666, respectivamente.