1。 问题的产生:
使用fdisk创建新分区/dev/sda8, 然后用mkfs -t ext3 -c /dev/sda8格式化分区, 再在/etc/fstab中添加了如下一行:
LABEL=/my_data /my_data defaults 1 2
重启后失败,提示无法mount文件系统:无法找到"/my_data"的LABEL。
2。解决方案一:
这是因为在fstab中使用了LABEL,而实际的硬盘分区中并未存储相应的LABEL。可以进入maintainence mode (Repair filesystem)后用tune2fs来为分区添加LABEL:
$ tune2fs -L <volunme label> <device>
在本次案例中:
$ tune2fs -L /my_data /dev/sda8
重启后没有刚才的fatal error了,但还是提示无法加载:找不到/my_data。其实这次是因为找不到挂载点/my_data, 只要在根目录下建立这个目录就可以了。
3。解决方安二:
fstab中不实用LABEL,而是用具体的device:
/dev/sda8 /my_data defaults 1 2
然后建立/my_data目录这个挂载点就可以了。
进一步的疑问:
1。 LABEL到底是存储在哪里?
2。 tune2fs的进一步用法。。。
3。 在maintenence模式下,虽然输入了root密码,但并没有root权限,导致无法用vi去更改/etc/fstab的内容和属性。
经验:
此处前后两次报错,虽然都是显示/my_data的问题,但第一次是属于分区未建立相应的LABEL, 第二次是未建立挂载点,是两次完全不同的错误。但从信息上容易混淆。建议以后将LABEL和挂载点使用不同的名字(CentOS自动建立的其他分区都使用相同的名字)。