如果没有initramfs / initrd支持,以下内核命令行将不起作用:
linux /bzImage root=UUID=666c2eee-193d-42db-a490-4c444342bd4e ro
如何在不需要initramfs / initrd的情况下通过UUID识别我的根分区?
我也不能使用像/ dev / sda1这样的设备名称,因为分区驻留在USB-Stick上,需要在不同的机器上工作.
解决方法:
UUID标识文件系统,而PARTUUID标识分区(即重新格式化后保持完整).没有initramfs / initrd,内核只支持PARTUUID.
要查找机器中块设备的PARTUUID,请使用
sudo blkid
例如,这将打印出来
/dev/sda1: UUID="XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX" TYPE="ext2" PARTUUID="f3f4g3f4-02"
您现在可以修改linux命令行,如下所示:
linux /bzImage root=PARTUUID=f3f4g3f4-02 ro
这将使用PARTUUID f3f4g3f4-02从分区引导,在本例中为/ dev / sda1.
标签:linux,uuid,kernel,grub,boot
来源: https://codeday.me/bug/20190814/1654960.html