Como montar a partição EXT4 no cartão SD a partir do VirtualBox

9

Eu tenho um leitor de cartão SD embutido no meu laptop Lenovo e instalei o VirtualBox e o Debian em uma VM, mas não consigo ver a partição EXT4, ou qualquer partição nesse caso, no cartão SD!

Eu fiz esta pergunta: Altere as configurações de IP montando o cartão SD em outro computador

E as respostas sugeridas envolvem a montagem do cartão SD em uma máquina virtual.

Orelhas de cão
fonte
Eu acho que você precisa passar pelo dispositivo USB (o leitor de cartão SD provavelmente está conectado internamente ao barramento USB) - consulte howtoforge.com/… - Informe-nos se funcionar e escreverei como resposta.
Alex Chamberlain
@Alex Chamerlain - Ainda estou lutando, não parece aparecer como um dispositivo USB, estou olhando para montar a partição como um dispositivo bruto no VirtualBox, mas não temos (ou muito pouca) conexão com a Internet é difícil descobrir o que preciso fazer!
Dog Orelhas
Obrigado senhor, funcionou perfeitamente para usar meu disco rígido Xubuntu SATA no VirtualBox. Exatamente o que eu estava procurando.
Você deve mencionar na pergunta que está tentando fazer isso em um host executando o Windows (mesmo se você usar uma VM Linux no Windows para acessar o cartão SD).
CJS

Respostas:

8

Leitor de cartão interno - Não USB - Windows 7 Host

Meu laptop possui um leitor de cartão embutido e não aparece como um dispositivo USB. Para fazê-lo funcionar, tive que montar a partição EXT4 como RAW antes de atribuí-la à VM e depois inicializar a VM.

A primeira coisa que notei foi que, se eu abrisse o utilitário Gerenciamento de Disco em Gerenciamento do Computador - clique com o botão direito do mouse em Meu Computador e selecione Gerenciar, você poderá ver o cartão SD como um disco e, como Kibbee mencionou, o meu também tinha três partições, eu acho que o maior partição do meio é o que eu estava procurando.

Para montar a partição bruta no VirtualBox, você precisa saber o número do disco e da partição. Eu os confirmei primeiro usando o utilitário de linha de comando do Windows Diskpart e o list diskcomando (no meu laptop e no Gerenciamento de disco, o cartão SD apareceu como o número 1)

Para identificar as partições corretamente, usei o comando VirtualBox, listpartitionsaqui está o meu, como exemplo:

vboxmanage internalcommands listpartitions -r awdisk \\.\PhysicalDrive1

E a saída para mim foi:

Number  Type   StartCHS       EndCHS      Size (MiB)  Start (Sect)
1       0x0c  16  /0  /1   1023/3  /32            75         2048
2       0x83  1023/3  /32  1023/3  /32          1590       157696
3       0x82  1023/3  /32  1023/3  /32           191      3416064

A partir disso, acho que a partição 2 é a partição EXT4 à qual estou tentando acessar.

Montando a partição como um volume bruto

Para disponibilizar a partição bruta para o convidado do Linux, o VirtualBox permite enviar o createrawvmdkcomando que cria um arquivo com uma extensão .vmdk que você pode especificar como um disco existente nas configurações de armazenamento da VM. Novamente, aqui está o meu como um exemplo:

vboxmanage internalcommands createrawvmdk -filename 
C:\VirtualMachines\Debian\disk1_part2.vmdk -rawdisk \\.\PhysicalDrive1
-partitions 2

(você pode deixar de fora o parâmetro "-partitions 2" para ativar todas as partições no dispositivo.)

Adicionando o disco bruto à VM

Antes de iniciar a VM

  • Abra a caixa de diálogo Configurações da VM, selecione Storge
  • Clique com o botão direito do mouse em SATA Controller e clique em Add Hard Disk
  • Selecione o botão Escolher disco existente e navegue até o arquivo criado na etapa anterior.

Agora você pode inicializar a VM e ter acesso à partição EXT4.

Problemas com o controle de conta de usuário

Se as seguintes condições forem atendidas:

  • o sistema host está executando o Windows Vista, 7 ou 8 (ou talvez o Windows Server 2008R2 / 2012)
  • O controle de conta de usuário está ativado
  • e você não modificou permissões em relação ao acesso ao disco bruto

a operação acima poderá falhar, mesmo se você for um administrador. Isso ocorre porque os não administradores não terão acesso a dispositivos brutos.

Vejo 4 soluções possíveis, nenhuma das quais é muito agradável:

  • Desabilitar o Controle de Conta de Usuário pode corrigi-lo (eu não testei isso).
  • Pode ser possível atribuir permissões para os usuários acessarem dispositivos brutos; no entanto, eu não recomendaria isso, pois é extremamente inseguro.
  • Você pode executar o VirtualBox como administrador (clique com o botão direito do mouse, selecione "Executar como administrador"); você precisa fazer isso ao criar e usar o dispositivo.
  • .... ou compre um leitor de cartão USB e conecte-o diretamente como um dispositivo USB.
Orelhas de cão
fonte
Isso pode ser específico para o meu uso, mas achei que gostaria de comentar caso ajude mais alguém: se você estiver gravando no cartão SD a partir do sistema operacional convidado e o sistema operacional convidado bombardear com um erro BLKCACHE_IOERR, poderá corrigi-lo entrando nas configurações do convidado e ativando "Usar cache de E / S do host" no controlador SATA.
quer
1

Para fazer isso, usei um leitor de cartão SD, semelhante a este . Peguei uma na minha loja local do dólar, que é o lugar mais barato para obtê-las. Embora eu assuma que quase qualquer leitor de cartão USB funcione.

Depois de conectá-lo e inicializar sua máquina virtual, vá para o menu "Dispositivos" do Virtual Box, selecione USB e localize seu dispositivo USB. Meu aparece como "Generic-USB2.0-CRW [8687]". O nome do seu dispositivo pode ser diferente. Assim que o pluguei, ele montou automaticamente as unidades e abriu uma janela para cada uma das 2 partições (sem contar a partição de troca). Se isso não acontecer, o dispositivo é reconhecido como / dev / sdb na minha máquina com as três partições:

boot: /dev/sdb1
root: /dev/sdb2 <-- This is the EXT 4 one with the /etc/network/interfaces file
swap: /dev/sdb3

O nome do dispositivo pode ser diferente na sua máquina virtual e as partições podem ser diferentes se você estiver usando algo diferente do Debian para o cartão SD Raspberry. Se você não tiver um leitor de cartão SD à mão, tente colocar o cartão SD em uma câmera e anexá-lo ao Virtual Box. Isso pode ou não funcionar, apenas testado com o meu eBook reader (Kobo) e apenas a partição vfat (boot) aparece.

Kibbee
fonte
+1, embora não me ajude, talvez um título identifique esta solução como aplicável ao USB?
Orelhas de cão