Quero formatar um cartão SD da minha máquina virtual Linux. Eu tenho um leitor de cartão SD embutido no meu laptop. Tentei usar o VirtualBox e o VMware Player e instalei o Ubuntu 10.04 guest. Nenhum deles está mostrando o leitor de cartão SD como um dispositivo. Eu posso acessar o cartão SD no host do Windows.
Não estou interessado em soluções usando pastas compartilhadas, pois quero acessar o cartão SD como hardware (ele deve aparecer em /dev
).
Basicamente, quero configurar o cartão SD para o BeagleBoard , mas não quero instalar um Ubuntu físico no meu PC.
virtual-machine
sd-card
Punit Soni
fonte
fonte
Respostas:
Nos MacBook Pro mais novos, o slot para cartão SD não é mais exposto como um dispositivo USB. Por isso, você precisará conectar o dispositivo bruto à VM para obter acesso bruto a toda a placa. A documentação completa está na seção Configuração avançada de armazenamento da documentação do VirtualBox.
Conforme claramente indicado nos documentos:
Como um guia rápido, estas são as etapas para conectar o dispositivo a uma VM Linux:
Identifique o dispositivo de bloco de disco bruto no seu sistema host
Abra um terminal e digite "mount". Você verá a saída identificando o volume montado no seu cartão SD. No meu sistema, recebo o seguinte
No meu caso, o volume "NO NAME" é o cartão SD, então tomo nota da
/dev/disk2s1
peça. Nesse caso em particular, as1
peça representa uma partição (fatia) no dispositivo bruto, portanto, a parte que usaremos posteriormente é apenas a/dev/disk2
parte.Agora configuramos o VirtualBox para conhecer o dispositivo bruto com o seguinte comando no Terminal.
/path/to/file.vmdk
pode ser colocado em qualquer lugar, embora seja uma boa ideia armazená-lo na pasta VM convidada, como~/VirtualBox VMs/guest-vm/sdcard.vmdk
Observe que o
-rawdisk
que usamos não faz referência à partição (fatia), mas apenas ao dispositivo de bloco como um todo.Em seguida, anexamos o disco bruto a uma VM convidada na interface do VirtualBox
/path/to/file.vmdk
você usou na etapa 3 e selecione-ofile.vmdk
na lista.Atualizar
Parece que algumas pessoas podem ter problemas para acessar o dispositivo bruto na etapa 3.2 ou 4.6. Tentativas de executar alguns dos comandos com o sudo não ajudarão, pois o VirtualBox estará sendo executado como seu usuário conectado e ainda não poderá acessar o dispositivo bruto correto ou o arquivo vmdk gerado.
As etapas a seguir devem ajudar, embora eu não as tenha testado.
Verifique as permissões de disco bruto
Essas permissões devem corresponder à sua conta de usuário logada atual:
As permissões no dispositivo também devem permitir que sua conta de usuário habitual leia (r) e grave (w) neste dispositivo. NÃO ALTERE AS PERMISSÕES NO DISPOSITIVO, A menos que você saiba absolutamente o que está fazendo.
Atualização # 2
Acontece que o OSX Mountain Lion criou o dispositivo com privilégios "root: operator" e permissões 0640. Infelizmente, por enquanto, a única maneira de obter acesso a esse dispositivo é "sudo chown $ USER" para o usuário atual sempre que você inserir o dispositivo, mas isso não é recomendado, a menos que você realmente entenda o que está fazendo. Espero que a Apple ou o VirtualBox encontrem uma solução mais adequada.
fonte
$ 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>
Resposta para usuários do Windows
Obtenha o DeviceID do seu leitor de cartão SD.
Você precisará de um cartão na unidade, montado pelo Windows.
Digite este comando
Deve ser algo como isto:
O último dispositivo é o leitor de cartão SD, portanto o DeviceID é
\\.\PHYSICALDRIVE1
Crie o arquivo de link para o cartão SD
Abra uma janela de comando como administrador
Isso assume o caminho de instalação padrão - altere-o se necessário. (Verifique se as aspas estão em torno do argumento rawdisk.)
O arquivo .vmdk é um link para o cartão SD, você pode colocá-lo em qualquer lugar do sistema host, mas esse comando apenas o coloca em sua área de trabalho por conveniência.
Siga as etapas 4 a 6 da resposta do JinnKo, o único pequeno ajuste é que você precisa iniciar o VirtualBox como administrador
fonte
cygwin
os caracteres de escape. Não obtive acygwin
solução correta , mas notei que o comando que funcionacmd
não funcionacygwin
.Você provavelmente está perdendo as extensões se o seu leitor SD estiver usando o seu controlador USB.
Em Arquivo> Preferências, siga a foto. Adicione e aponte para a extensão baixada.
Reinicie sua máquina virtual e você deverá ter acesso aos dispositivos USB.
fonte
Para superar esse problema, você pode simplesmente usar um leitor de cartão de memória USB externo (por exemplo, cartão SD para adaptador USB) em vez do leitor de cartão embutido. Ele irá expor o seu cartão SD como um dispositivo USB, para que você possa montá-lo facilmente como qualquer dispositivo USB. São dispositivos baratos e seriam uma solução aceitável, considerando todos os problemas da outra maneira.
fonte
Estou usando o Kubuntu 15.04, VirtualBox 4.3.26
Isso pressupõe que o dispositivo do cartão SD seja
/dev/mmcbl0
e a saída .vdk sejasd-card.vmk
:Não tenho certeza se esta é a melhor maneira de corrigir permissões, mas funcionou:
Agora vá para as Configurações da VM, selecione Armazenamento, clique em Controlador: Sata, clique no ícone Adicionar disco rígido, selecione seu .vdk (sd-card.vmdk neste caso)
fonte
Eu tive muitos problemas para que a solução da JinnKo funcionasse, principalmente por eu estar no Mountain Lion (OS X 10.8) ... Mas, com sua assistência, resolvi os problemas.
A solução completa está detalhada aqui .
No entanto, a essência da minha solução - para usuários do Mountain Lion - é a seguinte (use as etapas de JinnKo acima, mas insira minha etapa aqui antes de executar o comando 'VBoxManage internalcomands createrawvmdk' '(ou seja, entre etapas 2 e 3):
** Especialmente para o Mtn Lion ** Verifique se você é o proprietário deste dispositivo. Em 10,8 Mtn Lion, você provavelmente descobrirá que não é. Verifique fazendo:
Com o '*' você verá TODOS os seus dispositivos de disco, você também pode fazer: ls -l / dev / diskX para ver apenas 'X', por exemplo:
No Mtn Lion (10.8.x), você verá algo como:
Onde 'X' é o número do seu dispositivo, como o '5' em / dev / disk5 ...
No Lion (10.7.x), Snow Leopard (10.6.x) ou talvez nas versões anteriores do OS X, você verá - se seu nome de usuário for 'brad' - provavelmente verá algo como:
Onde 'X' é o número do seu dispositivo, como o '5' em / dev / disk5 ... Se você é o proprietário, tudo bem, nada a fazer aqui, vá para a próxima etapa, ou seja, a etapa createrawvmdk ( nas ótimas instruções de @JinnKo acima).
Se você não é o proprietário (mas 'root' ou outro usuário), faça o (a) login como usuário administrador ou (b) faça o seguinte (novamente, verifique se você está usando o número / letra do dispositivo correto aqui!):
* CUIDADO * O texto abaixo é apenas para aqueles que desejam arriscar a destruição permanente de dados no disco rígido ou na unidade de armazenamento flash. NÃO NÃO fazer isso se você não tem certeza que você sabe o que está fazendo:
* CUIDADO * NÃO NÃO fazer isso se você não tem certeza que você sabe o que está fazendo. O acima é apenas para aqueles que desejam arriscar destruir permanentemente os dados no disco rígido ou na unidade de armazenamento flash.
Você precisará fazer isso para TODAS as suas fatias (s1, s2, s3, ... por mais que existam). Por exemplo, meu nome de usuário é 'brad', então fiz:,
sudo chown brad /dev/disk5
entãosudo chown brad /dev/disk5s1
, então paras2
es3
(desde que eu já tinha três partições ou fatias).Se você não particionou o cartão SD, talvez seja necessário fazer apenas
sudo chown <your username> /dev/diskX
uma vez (sem fazer nenhuma das fatias / partições)Espero que isso ajude outros usuários pobres do Mtn Lion por aí!
fonte
Até agora, não consegui encontrar uma maneira de fazer isso diretamente, mesmo com um leitor de cartão USB (ele colocou o cartão em
/dev/dm-1
vez do esperado/dev/mmcblk1
).Minha solução foi criar uma unidade virtual de 4 GB no VirtualBox. Isso poderia (como
/dev/sdb
) levar a instalação do BeagleBoard Ubuntu, conforme documentado.Em seguida, desliguei a VM, converti-a em um arquivo DD RAW e usei o DD para colocá-lo no cartão: (no Mac host):
(
/dev/disk2
no meu caso, mas verificar triplamente como errar pode atrapalhar sua unidade de disco rígido).O
dd
comando levou cerca de 1 hora e 20 minutos!Eu espero que isso ajude. Ainda estou trabalhando para uma maneira mais fácil e rápida - não precisamos transferir 4 GB de dados para 600 MB de SO.
fonte
Para mim, a solução foi ligar o dispositivo USB com cartão SD, usando e
Devices -> USB devices ->My card reader
,após alguns segundos, novos discos aparecem na minha VM.
Eu instalei o VirtualBox Extensions Pack antes disso.
fonte
Instalei os arquivos "CD Virtual Box Guest Additons", mas meu leitor de cartão SD não estava aparecendo na minha máquina virtual Windows XP. Consegui que o meu funcionasse ativando o dispositivo USB no Virtual Box e reiniciando a Máquina Virtual.
fonte
Como o kobaltz mencionou. Para oferecer suporte às versões USB 2.0 e 3.0, você precisa instalar o Virtual Extension Pack, instalei o 5.2.22 Oracle VM VirtualBox Extension Pack e você pode baixá-lo na página de download do Virtual Box. Depois de baixar o arquivo, você pode prosseguir e instalá-lo diretamente, o mesmo será adicionado às suas extensões do Virtual Box.
Você também deve adicionar seu cartão SD aos filtros de dispositivo em nossa Caixa Virtual, vá para Configurações -> USB -> Clique na opção Adicionar cartão SD anexado.
Agora você poderá acessar seu cartão SD nos filtros.
Vá para Arquivos e veja as pastas do cartão SD (eu uso o Ubuntu Linux Distribution)
fonte
Para quem estiver usando o macos e seguindo as respostas anteriores, se você ainda não conseguir acessar o cartão SD devido a um problema de permissão,
executar o virtualbox com o sudo irá resolvê-lo.
Observe que o caminho para os arquivos vm é diferente, no meu caso, é:
Se isso ainda não funcionar, altere o proprietário e o acesso do disco do cartão sd, para sua conta de usuário e 666, respectivamente.
fonte