创建虚拟磁盘映像:

创建虚拟磁盘映像:

我到处搜索,但都没有找到好的结果。我想使用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

使用 GParted 工具创建分区:

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

在分区 #1 上刻录 OS iso 映像:

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 启动没有任何问题。我这里做错了什么?

PS 我的主机操作系统是 Ubuntu 16.04 LTS

答案1

我通过分配足够的 RAM(下面的 -m 选项)解决了该问题:

qemu-system-i386 -vga std -m 1024 <raw_file>

(在启动映像之前根据需要调整 GRUB 启动选项)

相关内容