直接启动 Linux
本节介绍无需制作完整可启动镜像,直接在 QEMU 中启动 Linux 内核的方法, 非常适合快速测试内核。
语法如下:
qemu-system-x86_64 -kernel bzImage -drive file=rootdisk.img,format=raw -append "root=/dev/sda"
-kernel 指定内核镜像,-append 提供内核命令行,-initrd 可指定
INITRD 镜像。
-shim 指定 shim.efi。若启动启用了安全启动的 UEFI 固件,并通过
-kernel 让 UEFI 启动指定内核,就需要该选项。
指定后,客户机 UEFI 先加载、验证并运行 shim。它通常由微软签名,因而能被 固件接受。shim 再加载并验证 Linux 内核。内核通常由发行版签名,验证证书 编入 shim,因此 shim 与内核必须来自同一发行版。
安装介质上的 shim.efi 通常位于 EFI/BOOT/BOOT{X64,AA64}.EFI,
EFI/$distro/ 中也可能有第二份。
若不需要图形输出,可用 -nographic 禁用,并将虚拟串口和 QEMU 监视器
重定向到控制台。典型命令为:
qemu-system-x86_64 -kernel bzImage -drive file=rootdisk.img,format=raw -append "root=/dev/sda console=ttyS0" -nographic
按 Ctrl+a c 在串口控制台和监视器间切换,见 图形前端按键。