Compartilhando partições no qemu

4

Além de compartilhamento de rede e partição, eu fiz o qemu funcionar como eu queria. Eu tenho uma configuração especial, preciso passar por /dev/sda , /dev/sda1 e /dev/sda2 . (É possível passar /dev/sda sem passar /dev/sda3 com ele? Eu posso viver usando métodos alternativos.)

/dev/sda (MBR) = Bootmgr do Windows em /dev/sda1

/dev/sda1 = Sistema de partição reservada (bootloader do Windows)

/dev/sda2 = partição C:/ do Windows 7

/dev/sda3 = Arch Linux (host)

Eu tenho o grub de /dev/sda3 instalado no MBR de /dev/sdc (o que significa que a inicialização de /dev/sdc me inicializará no meu arco de instalação do Linux, a inicialização de /dev/sda inicializará no Windows) Eu também estarei passando por /dev/sdc , mas esse é fácil, pois o host não precisa de acesso a este drive após a inicialização.

Finalmente eu tenho uma partição de armazenamento GPT, (NTFS) em /dev/sdb2 que eu quero que seja facilmente acessível tanto do host quanto do meu convidado ao mesmo tempo (eu quero compartilhá-lo entre os dois sistemas)

Como procedo com /dev/sda e /dev/sdb2 ?

    
por Cestarian 15.06.2014 / 09:16

1 resposta

1

Você pode usar o mapeador de dispositivos para modelar um dispositivo que contenha as partes do dispositivo original que você deseja. Por exemplo:

$ grep . /sys/class/block/sda/**/(size|start)
/sys/class/block/sda/sda1/size:224847
/sys/class/block/sda/sda1/start:63
/sys/class/block/sda/sda2/size:124820514
/sys/class/block/sda/sda2/start:224910
/sys/class/block/sda/size:125045424

Se eu quiser ocultar sda2 , posso criar um /dev/mapper/no_sda2 , onde os setores 224910 a 125045424 contêm zeros:

  • Primeiro, crie um dispositivo de loop, caso contrário, o dmsetup irá reclamar porque /dev/sda está em uso (enquanto loop não irá reclamar, o que não parece muito consistente para mim):

    losetup /dev/loop0 /dev/sda
    
  • Em seguida, crie /dev/mapper/no_sda2 como:

    dmsetup create no_sda2 << EOF
    0 224910 linear /dev/loop0 0
    224910 $((125045424-224910)) zero
    EOF
    
por 06.07.2014 / 23:44