Я следовал инструкциям в этом ответе на связанный вопрос: Добавьте физический диск к виртуальной машине KVM
Получающийся код в .xml файле для VM следующий:
<disk type='block' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<source dev='/dev/disk/by-partuuid/d8b63353-34n6-6587-ac07-810dmf36d544'/>
<target dev='vdb' bus='virtio'/>
<boot order='2'/>
<address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
</disk>
Заметьте, как я использовал /dev/disk/by-partuuid/d8b63353-34n6-6587-ac07-810dmf36d544
для <source>
элемент, вместо /dev/sda4
.
То, что беспокоит меня, - то, что мой вариант использования состоит в том, чтобы передать раздел QEMU вместо диска. Я установил Windows 10 на нем, установщик Установки не распознает устройство хранения данных, таким образом, я должен был загрузиться viostor
драйвер от FedoraProject.
Установка Windows пошла прекрасная, и производительность удивительна, но когда VM выключен, хост-система не распознает формат раздела.
Я нашел это интересным что установщик Windows - с viostor
загруженный драйвер - создал дополнительные разделы, обычно требуемые Windows на пустом диске. Другими словами, это создало разделы внутри, что является, предположительно, разделом. Это не должно быть возможно, или таким образом, я думал.
/dev/sda4
присутствует в хосте, но не распознан как ни один файловая система NTFS (не ожидаемый, действительно), ни LVM, ни LDM (протестированный с ldmtool).
VM загружается правильно в режиме UEFI с чипсетом Q35.
Вопрос: моя процедура должна добавить раздел к корректному virt-менеджеру, или она должна только быть сделана для дисков - а не для разделов? Кроме того, с каким типом раздела или форматом я заканчивал?
Решение, кажется, передает целое блочное устройство, как /dev/sda
или эквивалент от /dev/disk/by-id/
, к <source dev=''>
установка.
Это позволяет Программе установки Windows видеть существующие разделы, включая корневой раздел в хосте.
Не должно быть никакого конфликта, пока:
Вы не пытаетесь монтировать/изменять раздел в госте, который уже смонтирован в хосте; и
Вы не монтируете/изменяете раздел в настоящее время в используемом гостем от хоста, в то время как VM включается.
Относительно первой точки, конечно, необходимо размонтировать ESP (Системный Раздел EFI) от хоста до запуска VM. Я сначала записал сценарий для этого и затем предложил лучшее решение в форме рычага автоматизации QEMU. Я делаю доступным в https://gitlab.com/ranolfi/rvirtesp.
Что в моде об этом то, что можно также загрузить виртуализированную ОС исходно, как в двойной загрузке, путем выбора ее новой записи в меню начальной загрузки материнской платы.
Я не абсолютно уверен, что это "поддерживается". Но использование его в течение почти года теперь, без проблемы.