QEMU Conectar disco físico [fechado]

3

Eu criei uma máquina virtual do windows no meu pc do Ubuntu usando o seguinte script (encontrado on-line).

#!/bin/bash

configfile=/etc/vfio-pci1.cfg

vfiobind() {
    dev="$1"
        vendor=$(cat /sys/bus/pci/devices/$dev/vendor)
        device=$(cat /sys/bus/pci/devices/$dev/device)
        if [ -e /sys/bus/pci/devices/$dev/driver ]; then
                echo $dev > /sys/bus/pci/devices/$dev/driver/unbind
        fi
        echo $vendor $device > /sys/bus/pci/drivers/vfio-pci/new_id

}

modprobe vfio-pci

cat $configfile | while read line;do
    echo $line | grep ^# >/dev/null 2>&1 && continue
        vfiobind $line
done

sudo qemu-system-x86_64 -enable-kvm -M q35 -m 6144 -cpu host \
-smp 4,sockets=1,cores=4,threads=4 \
-bios /usr/share/qemu/bios.bin -vga none \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=root.1 \
-device vfio-pci,host=02:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on \
-device vfio-pci,host=02:00.1,bus=root.1,addr=00.1 \
-device virtio-scsi-pci,id=scs \
-drive file=/home/bas/windows7.img,id=disk,format=raw -device scsi-hd,bus=virtio.0,drive=disk \
-drive file=/home/bas/Downloads/Windows7Pro.iso,id=isocd -device ide-cd,bus=virtio.1,drive=isocd \
-hda /dev/sdd
-boot menu=on

exit 0

O arquivo vfio-pci1.cfg contém apenas o endereço pci para a placa de vídeo e os dispositivos usb (teclado e mouse). O script passa um dos meus videocards para uma máquina virtual. Eu estarei executando 2 dessas vms ao mesmo tempo para que eu possa jogar com um amigo no mesmo computador, então a inicialização dupla não é uma opção.

Se você iniciar a máquina virtual, ela usará a placa de vídeo real para exibição.

A máquina virtual inicia e funciona bem. Eu só quero adicionar uma unidade física a ela para poder compartilhar um volume que tenha somente jogos (sem disco de sistema) para a máquina virtual, mas posso descubra como fazer isso.

    
por Bas van Langevelde 12.01.2015 / 17:51

1 resposta

2

Pela documentação: link

Você deveria ser capaz de fazer

  -hda /dev/sdX

Mas, como esse é o Windows, você basicamente tirou o disco rígido do computador e o inseriu em outro. Então ele vai ter que encontrar um novo hardware, etc. Você pode atrapalhar seriamente seu disco do Windows no processo. Isso provavelmente não é uma ótima idéia ... Sugiro que você crie um instantâneo do disco do Windows e use-o.

Você também deve usar bus = virtio para esses outros dispositivos de bloco, muito mais rápido.

    
por ppetraki 13.01.2015 / 15:39