Virtual machine QEMU中的内核参数顺序重要吗?

Virtual machine QEMU中的内核参数顺序重要吗?,virtual-machine,qemu,kvm,Virtual Machine,Qemu,Kvm,我面临一些有趣的问题。更改传递给-append的内核参数的顺序会更改结果 通过以下工作运行我的QEMU VM: -append "root=/dev/disk/by-id/virtio-rootfs rootflags=rw flatcar.first_boot=1 tsc=reliable no_timer_check= rcupdate.rcu_expedited=1 i8042.direct=1 i8042.dumbkbd=1 i8042.nopnp=1 i8042.noaux=

我面临一些有趣的问题。更改传递给
-append
的内核参数的顺序会更改结果

通过以下工作运行我的QEMU VM:

-append "root=/dev/disk/by-id/virtio-rootfs rootflags=rw flatcar.first_boot=1 tsc=reliable no_timer_check= rcupdate.rcu_expedited=1 i8042.direct=1 i8042.dumbkbd=1 i8042.nopnp=1 i8042.noaux=1 noreplace-smp= reboot=k console=hvc0 console=hvc1 cryptomgr.notests= net.ifnames=0 pci=lastbus=0"
但是,如果将
root=
放在末尾,则它不起作用,并且找不到根卷,因此无法装入


所以我现在想知道。顺序真的重要吗?如果是这样的话,背后有什么逻辑?有什么规则要遵循吗?

我通过检查哪些标志被传递到系统并检查
cat/proc/cmdline
来解决问题,我发现标志被双引号引用,因此内核解析失败

我无法重现您的问题,但我会尝试从不需要值的标志中删除尾随的
=
无计时器检查
无替换smp
加密管理器.notests
…除此之外,换行符预取?