LinuxSir.cn,穿越时空的Linuxsir!

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

很郁闷的 用LABEL启动失败的问题

[复制链接]
发表于 2010-2-11 10:07:52 | 显示全部楼层 |阅读模式
lake:~$ su - root
Password:
-su-3.2# e2label   /dev/sda3
LFS
-su-3.2#


lake:~$ cat /etc/fstab
# Begin /etc/fstab

# file system  mount-point  type   options         dump  fsck
#                                                        order

LABEL=LFS        /           ext3   defaults        1     1
.........
# End /etc/fstab
lake:~$




lake:~$ cat /etc/grub/menu.lst
#Begin /boot/grub/menu.lst
default 0
timeout 30
color green/black  light-green/black
title LFS 6.3-2.6.24
root (hd0,2)
kernel /boot/lfskernel-2.6.24  root=LABEL=LFS
..........

现在的问题是Grub启动root=/dev/sda3 一切OK
但是root=LABEL=LFS 就会失败 VFS .....
有什么注意选择吗
我看了 我的Grub版本不新0.97  尝试了下NTFS是绝对不认识的
可能是这个问题吗??
 楼主| 发表于 2010-2-11 10:50:58 | 显示全部楼层
e2label对ext3的分区会有兼容问题吗??
谢谢
回复 支持 反对

使用道具 举报

发表于 2010-2-11 13:52:00 | 显示全部楼层
e2label 对 ext3 没有兼容问题

Grub 0.97 对 NTFS 绝不会不认识
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-11 15:41:22 | 显示全部楼层
和NTFS是没有关系的。
GRUB引导root=/dev/sda3是可以的
为什么lable就不行,那个兄弟支个招?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-11 20:16:55 | 显示全部楼层
成功了
必须加载一个initrd。  用了一个redhat enterprise的启动虚拟盘文件
为什么label会和这个有关呢?
事实上 我尝试了redhat enterprise linux启动是必须虚拟盘文件
但是我的lfs已经把所需要的驱动编译进内核了, 直接root=/dev/sda3是成功的
为什么label不可以啊?
回复 支持 反对

使用道具 举报

发表于 2010-2-17 11:17:40 | 显示全部楼层
个人觉得应该是内核不支持 root=LABEL=... 的写法, 而使用了 initrd 之后, initrd 中的程序可以处理, 比如用脚本通过 /proc/cmdline 中记录的 root=LABEL=... 的内容来处理, 从而达到支持这种写法的目的. 而 /etc/fstab 中的部分没问题是因为 mount 命令支持这样的写法.

在 linux 的代码中的 Documentation/m68k/kernel-options.txt 中查到:

Syntax: root=/dev/<device>
    or: root=<hex_number>

不知道是不是通用的, 还是只针对 m68k 平台的. 而在 Documentation/kernel-parameters.txt 中没有详细的 root= 的说明.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-2-21 15:14:06 | 显示全部楼层
我的感觉也是这样的
initrd的脚本重新挂接根目录盘做了很多事情
多谢
回复 支持 反对

使用道具 举报

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

本版积分规则

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