Uma solução é criar um dispositivo de loop, com a opção --sizelimit.
# blockdev --getsize64 /dev/sda
146774507520
# losetup -f --sizelimit $(( 200*1024*1024 )) /dev/zero
/dev/loop0
# blockdev --getsize64 /dev/loop0
209715200
Eu dual-boot linux e windows. Eu quero ser capaz de abrir minha instalação nativa do windows como vm, então não preciso deixar o linux para fazer coisas como atualizar janelas.
A maneira que eu encontrei para fazer isso funcionar é passar meus discos inteiros (/ dev / sda, / dev / sdb ..., cada disco tem janelas e partições do Linux) para a máquina virtual. Isso funciona bem quando eu abro as janelas porque minhas janelas e partições Linux são completamente separadas (eu não monto nenhuma partição do Windows na minha instalação do Linux). A desvantagem de passar todo o disco para a VM é que você também pode abrir (por engano) sua instalação do Linux que está sendo executada, o que, tenho certeza, causará estragos em meu sistema.
Então, existe alguma alternativa para a maneira que eu faço agora?
Uma solução é criar um dispositivo de loop, com a opção --sizelimit.
# blockdev --getsize64 /dev/sda
146774507520
# losetup -f --sizelimit $(( 200*1024*1024 )) /dev/zero
/dev/loop0
# blockdev --getsize64 /dev/loop0
209715200
Você também pode simplesmente passar pelas partições de que precisa. Então, vamos supor que sua instalação do Windows esteja na partição 1 do disco sda
. Em vez de especificar /dev/sda
na configuração do KVM / QEMU, substitua por /dev/sda1
e repita para quaisquer outras partições como discos separados.
Tags dual-boot qemu kvm virtual-machine