Como obter acesso de gravação no sistema operacional convidado (linux) para o disco bruto (ext4) com o virtualbox no host Win7?

5

Eu criei o arquivo vmdk como descrito em Capítulo 9. Tópicos avançados e o adicionei ao meu convidado vm. Depois disso, eu poderia montar todo o disco bruto no meu guest linux vm. Agora eu posso ler o sistema de arquivos ext4, mas não consigo escrever nele. Como posso obter acesso de gravação sem alterar o sistema de arquivos para NTFS? No Win7, não consigo definir permissões para esse disco rígido porque é um disco rígido bruto com um sistema de arquivos desconhecido.

    
por Marc 29.08.2012 / 19:02

2 respostas

2

Ok, eu encontrei uma solução sozinha. Agora, quero fornecer instruções detalhadas sobre as etapas que fiz para que funcionasse.

Minha configuração

VirtualBox 4.2.0 r80737
Host: Windows 7 (64 bits)
Convidado: Ubuntu 12,04 LTS (64 bits)

Configuração de disco no Win7 (host)

  1. Feche todos os programas ou documentos abertos em qualquer partição no disco para passar.
  2. Execute DISKPART (utilitário de linha de comando) como administrador.
  3. Digite LIST DISK para obter uma lista de todos os discos disponíveis e seus IDs relacionados. ( LIST PARTITIONS se você quiser usar apenas uma parte do disco inteiro)
  4. Selecione cuidadosamente o disco rígido usando SELECT DISK .
  5. Offline o disco usando OFFLINE DISK . Todos os volumes de disco desaparecerão do Windows Explorer.
  6. Digite ATTRIBUTES DISK CLEAR READONLY ( importante! ) para garantir que o disco seja gravável.
  7. Confirme com ATTRIBUTES DISK .

Criação de arquivo VMDK no Win7 (host)

  1. Execute cmd (utilitário de linha de comando) como administrador.
  2. Digite cd "C:\Program Files\Oracle\VirtualBox"
    (seu caminho pode diferir dependendo da sua localização no VirtualBox).
  3. Digite VBoxManage internalcommands createrawvmdk -filename /path/RawDisk.vmdk -rawdisk \.\PhysicalDrive1
    ( PhysicalDrive1 significa segunda unidade)

(Fonte: Manual do VirtualBox: Configuração avançada de armazenamento )

Adicione o arquivo VMDK à sua VM do Linux (guest)

  1. Abra o Gerenciador do VirtualBox
  2. Selecione VM Linux > Configurações > Armazenamento > Controlador IDE > Adicionar anexo > Adicionar disco rígido > Escolher o disco existente > Selecionar o arquivo VMDK
  3. Iniciar a VM do Linux

Definir permissões e montar o disco bruto

Se você usa o Ubuntu, então você já deve ver a unidade no painel de navegação do explorador de arquivos. Se você clicar nele agora, basta montar a unidade somente leitura em /media/drivename . Para evitar isso, abra um terminal e coloque o seguinte:

cd /media
sudo mkdir DRIVENAME
sudo chown USERNAME DRIVENAME
sudo chgrp USERNAME DRIVENAME

(substitua DRIVENAME e USERNAME pelos valores apropriados)

Reabra o explorador de arquivos e monte a unidade clicando em seu nome no painel de navegação. Agora você deve poder criar arquivos e pastas em seu disco rígido bruto.

Mais informações

É claro que é possível montar permanentemente o disco via /etc/fstab , mas você precisa sudo mount do dispositivo e a montagem gráfica via painel de navegação não funcionará mais.

Após a criação do arquivo VMDK, notei a seguinte linha lá:

ddb.adapterType="ide"

Esta opção é definida por padrão. Se você ainda tiver problemas e seu disco não for um disco IDE, mas SATA, apenas altere esta linha para:

ddb.adapterType="sata"

É claro que você precisa adicionar o arquivo VMDK como SATA Controller à sua VM em vez do IDE Controller.

    
por 15.10.2012 / 21:06
1

O disco aparecerá em seu convidado como / dev / sda1 (consulte a caixa virtual 'docs). Você precisa montar essa unidade de leitura-gravação. A maneira mais fácil de configurar isso permanentemente é adicionando uma linha ao / etc / fstab como esta:

/dev/sda1      /mnt/raw/disk-file/        ext4      defaults    0 2

Se você deseja remontar a unidade de leitura / gravação em tempo real, você pode emitir o comamnd:

mount -o remount,rw /dev/sda1 

Novamente, isso supõe que o dispositivo para a unidade seja sda1. Se você não tem nada parecido, então eu iria olhar através da saída do dmesg de varredura de linhas com "ATA" ou "SCSI", pois isso levará você para o nó de dispositivo da unidade. Geralmente é muito fácil localizar na pasta / dev /. Basta procurar por hd [abcd ..] [1234] ou sd [abcd ..] [1234 ...].

    
por 13.10.2012 / 14:12