QEMU Connect physical disk [closed]

Я создал виртуальную машину windows на моем ПК ubuntu с помощью следующего скрипта (найденного в Интернете).

#!/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

Файл vfio-pci1.cfg содержит только pci-адреса для видеокарты и usb-устройств (клавиатуры и мыши). Сценарий передает одну из моих видеокарт виртуальной машине. Я буду запускать 2 таких виртуальных машины одновременно, чтобы играть в игры с другом на одном компьютере, поэтому двойная загрузка - не вариант.

Если вы запустите виртуальную машину, она будет использовать реальную видеокарту для отображения.

Виртуальная машина запускается и работает нормально Я просто хочу добавить физический диск к ней, чтобы я мог поделиться томом, на котором есть только игры (без системного диска) с виртуальной машиной, но я не могу найти, как это сделать.

4
задан 13 January 2015 в 23:53

1 ответ

На документацию: http://wiki.qemu.org/download/qemu-doc.html#host_005fdrives

Необходимо просто смочь сделать

  -hda /dev/sdX

Но, так как это - Windows, Вы в основном просто вынули свой жесткий диск из Вашего компьютера и вставили его в другого. Таким образом, это пойдет и иметь для нахождения новых аппаратных средств и т.д. Вы могли бы серьезно испортить свой диск Windows в процессе. Это, вероятно, не прекрасная идея... Я предлагаю, чтобы Вы создали снимок диска Windows и использования это вместо этого.

Необходимо также использовать bus=virtio для тех других блочных устройств, намного быстрее.

3
ответ дан 1 December 2019 в 10:05

Другие вопросы по тегам:

Похожие вопросы: