Я искал везде, и хороший результат не был найден. Я хочу создать виртуальный диск с помощью команды dd
, а затем создать для него различные разделы с помощью инструмента gparted
и, наконец, установить свою ОС на один раздел (# 1) и использовать qemu
для загрузки всего образа виртуального диска. вот что я пытаюсь сделать:
dd if=/dev/null of=./VirtualDisk.img bs=1M seek=1024
sudo losetup --partscan --show --find VirtualDisk.img -> bind VirtualDisk.img with /dev/loop2 device
sudo gparted /dev/loop2
#1. Create a new partition table -> msdos
#2. Create partition #1 -> Fat32, 512MiB -> /dev/loop2p1 (this one would be my bootable partition)
#3. Create partition #2 -> Fat32, 511MiB -> /dev/loop2p2
#4. Apply changes
#5. Manage Flags (partition one) -> boot, ESP
#6. Close GParted tool
dd if=./myOS.iso of=/dev/loop2p1 bs=1M #the myOS is GRUB compatible
qemu-system-x86_64 -hda ./VirtualDisk.img -enable-kvm
Booting from Hard Disk... -> Nothing else happens!!!
Самое смешное, что если я использую следующее команда:
sudo qemu-system-x86_64 -hda /dev/loop2p1 -enable-kvm
myOS загружается без каких-либо проблем. Что я здесь не так делаю?
П.С. Моей операционной системой является Ubuntu 16.04 LTS
Я решил проблему, выделив достаточно ОЗУ (параметр -m ниже):
qemu-system-i386 -vga std -m 1024 <raw_file>
(при необходимости настройте параметры загрузки GRUB перед загрузкой образа)