[收集整理]root=LABEL=/与root=/dev/hda2有什么区别?

来源:互联网 发布:大众汽车销售数据 编辑:程序博客网 时间:2024/06/05 10:41
 
title Red Hat Linux (2.4.22) 
        root (hd0,1) 
        kernel /boot/vmlinux-2.4.20 ro root=LABEL=/
        initrd /boot/initrd-2.4.20.img 
 
我来说一下这个LABEL吧。 
/dev/hdc2这种属于绝对硬盘定位,hda-d分别代表两个IDE通道的4个接口,hdc2就是第二个IDE接口主盘的第二分区,这是linux最早采用的标示硬盘分区的方法,优点是简单直观。 
缺点就是不灵活,比如如果我把硬盘接到另外的ide口或者调换主从盘,则分区表示方法就会变掉,grub和fstab还按照老的标示挂盘的话就会造成无法引导。 

所以Redhat从9(好像8也有,记不清了)开始使用了新的硬盘分区表示方式-----分区Label。简单说就是给每个分区一个类似于windows磁盘卷标的特殊Label信息,grub和fstab通过查找这个Label来定位磁盘分区。即使因为某些原因hdc变成hdd或者其他hdX,但分区的label没变的话,grub还是可以通过label找到这个分区。Redhat的分区工具一般会把分区的挂接点作为分区的label,例如根分区的label就是“/”usr分区的label就是“/usr”,依次类推。 
采用了label的标示方式后就不用担心设备名字换掉的问题了,同时grub.conf和fstab都要采用label的方式来定位磁盘分区,大家可以对照自己机器的grub.conf和fstab来看就知道了。 
忘了说一点,察看和修改分区label的工具为e2label。 

对于lz的问题应该是属于编译内核时没有打开内核的label支持功能,导致grub无法找到label对应的分区,具体这个选项名字叫什么忘记了,好像不是前面某位所说的UFS吧,不过分区Label功能确实是来自UFS。 

刚才查了一下,这个选项在我的AS4系统里面叫做BSD disklabel (FreeBSD partition tables) support,默认是选中的,不知道RH9是不是这个,或者真的有可能放在UFS支持里也说不定。
原创粉丝点击