如果我使用-initrd文件而不是正常启动,为什么QEMU需要很长时间才能启动?

时间:2018-03-26 00:59:16

标签: linux-kernel virtual-machine qemu

QEMU可以选择使用-kernel-initrd映像来引导VM。但是,当我使用它时,如果我只是运行普通的Ubuntu版本,QEMU需要很长时间才能完全启动。

这是正常执行(大约需要6秒才能登录页面):

qemu-system-x86_64 -enable-kvm -smp 2 -m 4096 -drive file=~/ubuntu.img,if=virtio,cache=none -drive file=~/drive_10G.raw,format=raw,if=virtio,cache=none -redir tcp:7777::22

然后,如果我以另一种方式运行,我可以指向内核和initrd图像,则需要更多时间(大约需要26秒):

sudo qemu-system-x86_64 -smp 2 -cpu host -m 4096 -enable-kvm -kernel ~/kernel/arch/x86_64/boot/bzImage -initrd ~/initrd.img-4.13.8 -append "root=/dev/mapper/ubuntu--vg-root ro earlyprintk console=ttyS0" -drive file=~/ubuntu.img,format=raw,if=virtio,cache=none -drive file=~/drive_10G.raw,format=raw,if=virtio,cache=none -redir tcp:7779::22 -serial stdio

正如您所注意到的,启动时间差异很大,从6秒到26秒不等。这让我感到困扰,因为我需要多次重启VM,而不是比之前慢4倍。

P.S。:我必须在我的HOST终端中获取QEMU的串行输出,因为我可以在运行时跟踪内核消息。这就是我使用-serial stdio选项的原因。

P.S.2。:我的HOST机器是Intel Xeon E3-1270 v5 3.6GHz 4核8线程+ 32GB内存。

P.S.3。:我的GUEST机器正在运行UBUNTU服务器14.04 LTS + linux-4.13.8

0 个答案:

没有答案