Inicialize a partir do drive usb virtual no qemu-kvm

1

Eu quero criar um USB multi-inicializável com o GRUB2. Mas eu não quero usar o stick USB físico para experimentar.

Como posso criar um USB virtual para jogar com ele, já que é um dispositivo real usando o qemu? Eu quero inicializar a máquina guest a partir dele, configurar o GRUB para ele a partir do sistema operacional convidado e assim por diante.

Mais tarde, quero poder capturar a imagem virtual e copiá-la para meu pendrive real. Como eu pude fazer isso? Talvez com if=usb_image.vmdk of=/dev/sdx ?

    
por Neka 26.03.2015 / 12:28

1 resposta

1

Você está usando uma camada de abstração como libvirt ? Se sim, basta adicionar um arquivo de imagem de disco como um disco USB.

Se você estiver executando kvm / qemu diretamente, a man page ( man kvm ou man qemu ) fornecerá as respostas:

USB options:

-usb Enable → the USB driver (will be the default soon)

-usbdevice devname → Add the USB device devname.

disk:[format=format]:file → Mass storage device based on file. The optional format argument will be used rather than detecting the format. Can be used to specify "format=raw" to avoid interpreting an untrusted format header.

Então, algo assim deve funcionar

dd if=/dev/zero bs=1M count=8000 of=usb.img    # Create the usb disk image
kvm ... -usb -usbdevice disk:raw:usb.img      # Start kvm/qemu

Mais tarde, você pode executar dd if=usb.img bs=1M of=/dev/sdX , mas deve certificar-se de que seu /dev/sdX é realmente o dispositivo USB! Você também precisará tornar sua imagem virtual do mesmo tamanho do seu stick (ou menor). Lembre-se de que um stick de 1 GB tem apenas 10 ^ 9 bytes, não 2 ^ 31 bytes.

    
por 26.03.2015 / 13:18