分类: 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,那么,文件系统还是会正常加载并运行的。
[root@hostname home]# tune2fs -l /dev/hda4 |
[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 |