LINUX.ORG.RU

Запуск установленной windows 11 на втором диске через qemu/kvm

 , , ,


0

2

Как запустить windows со второго диска в qemu? Пробросил второй ssd в вм через pci passthrough, но загрузочный раздел, видимо, на основном диске, поэтому система ругается, что неоткуда загружаться. Как туда этот раздел прокинуть и где конкретно лежит загрузочный файл для windows?

Пробросил второй ssd в вм через pci passthrough, но загрузочный раздел, видимо, на основном диске

Т.е. ты даже не знаешь разметки своих дисков?

Для загрузки на UEFI системах нужно две вещи:

  • запись в самом UEFI, указывающая на загрузчик, обычно это файл на FAT32 разделе
  • непосредственно сам раздел, на который указывает запись в UEFI

Вообще мне кажется лучше тебе не делать то что ты делаешь, можешь получить нерабочую винду и в виртуалке, и на реальном железе. Например драйвер десктопной NVidia из коробки детектит виртуалки.

Gary ★★★★★
()
Ответ на: комментарий от Gary

Да потерять винду не жалко - она пустая.

Нашел, что этот загрузочный раздел находится в nvme1n1p1, но меня волнует немного другая проблема: virt-manager перезагружает пк по непонятной причине, даже без запуска вм, можно просто его запустить и посидеть пару минут ничего не делая и пк перезагрузится…

KorolOrol
() автор топика
sudo -E qemu-system-x86_64 --enable-kvm -m 8192 -machine type=pc,accel=kvm \
                                                          -cpu host,hv_relaxed,hv_spinlocks=0x1fff,hv_vapic,hv_time,kvm=off \
                                                          -smp 8 \
                                                          -vga vmware \
                                                          -rtc clock=host,base=localtime \
                                                          -device qemu-xhci,id=xhci \
                                                          -device virtio-tablet,wheel-axis=true \
                                                          -netdev user,id=vmnic,smb=/ \
                                                          -device e1000,netdev=vmnic \
                                                          -drive file=/usr/share/edk2-ovmf/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
                                                          -drive file=$HOME/.config/qemu-windows.nvram,if=pflash,format=raw,unit=1 \
                                                          -drive file=/dev/sda,index=0,media=disk,driver=raw \
														  -display gtk \
                                                          -cdrom $HOME/Downloads/UEFI-Shell-2.2-22H2-RELEASE.iso

Я как-то так запускал. для чего cdrom с uefi shell подключал - уже не помню. А вот это вот, оно важно для чтобы венда думала что она на uefi загружается. У меня иначе не стартовало.

-drive file=/usr/share/edk2-ovmf/OVMF_CODE.fd,if=pflash,format=raw,unit=0,readonly=on \
                  -drive file=$HOME/.config/qemu-windows.nvram,if=pflash,format=raw,unit=1

С сетевухой, вроде тоже важно параметр указывать, венда у меня иначе сеть хоста не видела.

Ну а /dev/sda это думаю понятно, что диск с вендой.

PS: Строка запуска была выстрадана долгим гуглежом. Какие параметры зачем - уже не помню.

Loki13 ★★★★★
()
Последнее исправление: Loki13 (всего исправлений: 2)
5 января 2025 г.
Ответ на: комментарий от KorolOrol

passthrough для этого не нужен (см. комментарий от Loki13 - достаточно как drive добавить физ. устройство). Но все это проще удобнее через virt-manager делать.

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

В MS Windows возможно понадобится подключить sata/ide драйвера в реестре.

MirandaUser2
()

Создай файл для виртуального диска, подключи его к ВМ, создай на нём разметку GPT с EFI разделом.

Загрузись с установочного диска Windows в виртуальной машине, выбери восстановление, запусти командную строку с установочного диска Windows, выполни процедуру установки кода загрузчика на EFI раздел на виртуальный диск.

kostik87 ★★★★★
()