Chinaunix首页 | 论坛 | 博客
  • 博客访问: 305012
  • 博文数量: 81
  • 博客积分: 3813
  • 博客等级: 中校
  • 技术积分: 945
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-24 18:14
文章分类

全部博文(81)

文章存档

2013年(1)

2012年(2)

2011年(54)

2010年(15)

2009年(9)

分类: LINUX

2009-10-15 10:58:07

现在,在新的Linux系统如CentOS中打开/etc/fstab,你会看到类似下面的条目:

$vi /etc/fstab

LABEL=/                 /                       ext3    defaults        1 1

LABEL=/opt              /opt                    ext3    defaults        1 1

......

 

       这里的LABEL是放在硬盘分区信息中的标签,可以使用e2label来给一个分区做标签:

e2label /dev/sda1  /opt

 

 

早些时候,/etc/fstab是类似于这样的:

/dev/hda1                 /                       ext3    defaults        1 1

/dev/hda2                 /opt                    ext3    defaults        1 1

......

这样的fstab会出问题。如果又加了一个硬盘,设为master盘,这样新的硬盘会被识别为/dev/hda,而原来的硬盘被识别为/dev/hdb。这样的话,上述的fstab不修改系统不会从新的硬盘加载根系统。如果新硬盘没有相应的分区和系统,系统当然启动失败。

       有了LABEL机制,可以把原来的硬盘分区全部e2label上,fstab中根据分区的label来加载。这样,即使加了新硬盘,只要新硬盘的label和目前的硬盘没有相同的label,那么,文件系统还是会正常加载并运行的。

 
 
 
而在Linux中,启动设备有两种表示方法

  一种是:

  root=/dev/hd[x][n]

  这个是直接指示;

  另外一种是:

  root=LABEL={LABEL}

  这个解析为

  root= LABEL={LABEL}

  你的就是这种情况

  说明是根据卷标找到根设备。

   [root@hostname home]# tune2fs -l /dev/hda4
  tune2fs 1.32 (09-Nov-2002)
  Filesystem volume name: /
  ...... 


  这里看到我的hda4的LABEL是“/”
 

  [root@hostname home]# cat /etc/grub.conf | grep root   

    # root (hd0,3)   

    # kernel /boot/vmlinuz-version ro root=/dev/hda4   

    root (hd0,3)

  kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/ hdc=ide-scsi


  在grub的注释中已经说明了root是hda4,也就是root=LABEL=/的作用。


阅读(1991) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~