LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 956|回复: 3

用GRUB2引导时必须指定系统根分区UUID或LABEL的问题

[复制链接]
发表于 2011-3-14 08:32:18 | 显示全部楼层 |阅读模式
在主机及虚拟系统中都测试过了,引导内核时需要LABEL或UUID才可成功,就像这样:
  1. linux /vmlinux-2.6.32-5-686 root=UUID=5549dc8e-b882-4992-9a8f-f1a0ae900bc3 ro
复制代码
而如果写成这样:
  1. linux /vmlinux-2.6.32.5-686 root=(hd0,msdos9) ro
复制代码
就不可以了,内核被装载后会进入ash,提示好多分区(包括/dev /sys等)无法挂载, no such file or dictionary。
在虚机机中把Squeeze安装到了(hd0,msdos1),可还是不行,也必须指定它的UUID或LABEL。
现在的问题是,如果引导一个Debian系统,而没有记住分区的UUID和LABEL,如何才能成功引导?
发表于 2011-3-14 22:28:44 | 显示全部楼层
  1. root=(hd0,msdos9)
复制代码
改成
  1. root=/dev/hda9
复制代码
或者
  1. root=/dev/sda9
复制代码
试试看
回复 支持 反对

使用道具 举报

发表于 2011-3-29 08:17:09 | 显示全部楼层
这个你还是让它自动生成的好。。至于UUID或LABEL这一块 修改grub2的模块文件
/etc/default/grub 其中有
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

然后按你所需修改。 别忘记去掉最前面的注释符号。。最后更新grub2.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-3-29 11:36:47 | 显示全部楼层
多谢楼上两位兄弟。waq兄说的方法可以很容易地成功引导,librancj兄说到的开启或关闭UUID,我刚才也测试了,如果禁用UUID的话,update-grub之后grub.cfg文件中会以root=/dev/sda9的方式标记根分区。附了张图(虚拟机中的)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表