/etc/fstab修改及mkfs(e2label)相关应用与疑问

我们将以问题开始说明:

案例:

由于n年前的误操作,导致系统启动的时候,提示如下错误:
Couldn't find matching filesystem:LABEL=/iloveyao
*** An error occurred during the filesystem check.
***Dropping you to a shell; the system will reboot
***When you leave the shell 



故障分析:

linux系统在启动的时候,为了加载相关的文件系统,会去检查配置文件 /etc/fstab ,然后按照其内容将相关分区mount以供我们使用。在系统启动后,我们还可以cat /etc/mtab 查看那些文件系统已经mount。也就是说 /etc/mtab 他和 /etc/fstab 的不同点在于:一个是确实已经mount的(包括操作系统建立的虚拟文件等)、一个是准备mount(但不一定都是mount成功的)。

其中,如果 /etc/fstab 配置错误,或者对文件系统进行了相关操作,但是没有更新 /etc/fstab ,就会导致相应问题出现。
根据上面的提示,我们可以判断, 由于系统没有发现label名称为 /liloveyao 的分区,从而导致系统无法正常启动。而且我们也可以推断出,这个出错的配置在 /etc/fstab 文件中的大概内容如下(如果是默认安装的linux9):
LABEL=/iloveyao            文件名                  ext3    defaults        1 2
这里简要解释上面一下:
第一列:代表我们要加载分区的label名称,除了使用label名称,我们也可以直接使用分区的设备名称,如 /dev/sda3 或者 /dev/sda6。需要注意label的名称要加“/”,否则,启动时会报错。
第二列:代表该分区加载到哪个 目录文件,例如为 /iloveyao ,当然目录名称可以任取,但是关键是要确实存在这个目录名称。
第3列:代表文件系统
第4列:代表启动的时候加载分区
第5、6:linux对齐检查备份使用的,除了 / 分区,其他正常分区多为 1 2

那么,系统为什么没有label名称为 /liloveyao 的分区呢?
最大的可能就是:
a、分区存在,但是分区上次启动前,被改了 label 名称
b、分区移走了,当然 label 也就没有了
附:有一种情况,就是 label名称为  /iloveyao 的分区存在,但在 加载的目录文件不存在,这个时候,系统提示是不一样的。



解决方法:
a、针对a的情况,重新修改该分区的label名称即可,例如该分区设备名称为 /dev/sda6 ,那么修改方法有:
e2label /dev/sda6 /iloveyao
还有:mkfs.ext3 -L /iloveyao /dev/sda6
之后重新启动。
b、针对b的情况,需要修改 /etc/fstab 文件,将关于 /iloveyao 的那行删除,然后重启。


***这里引申出一个问题,就是不知道各分区的 label名称是什么,怕修改错了,把正常的分区的label也改了,解决方法是使用下面的命令进行修改前的检查:
fdisk -l
然后:
e2label /dev/sda1  (或者为 /dev/hda1 ,下同 )
e2label /dev/sda2
e2label /dev/sda3
e2label /dev/sda5
e2label /dev/sda6
……
然后:cat /etc/fstab 或者 df 
发现配置正常的分区,就不要去改了。


《《《《《《《《《《《《《《《《 我爱瑶分隔河》》》》》》》》》》》》》》》》》》》

***上面的分享结束了,下面小弟也有个问题要请教大家:是关于mkfs的问题
第1组命令:2个命令输出稍有不同
mkfs.ext3 -T news /dev/sda5   (指定该分区文件系统的块大小为4096)
mkfs.ext3 -b 4096 /dev/sda5

第2组命令:完全等价
mkfs.ext3 -i 4096 /dev/sda5  (指定每个inode的字节数为4096)
mkfs.ext3  /dev/sda5

上面各命令的输出结果在下面。我很想知道这2组命令处理的分区在 系统性能、文件存放、inodes数量上面有些什么区别?
什么情况下需要使用第一组的命令重新创建分区?

谢谢!


<------------------------------------我爱瑶分隔线----------------------------------->
# mkfs.ext3 -T news /dev/sda5 
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
124544 inodes, 124495 blocks
6224 blocks (5.00%) reserved for the super user
First data block=0
4 block groups
32768 blocks per group, 32768 fragments per group
31136 inodes per group
Superblock backups stored on blocks: 
        32768, 98304

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

<------------------------------------我爱瑶分隔线----------------------------------->
# mkfs.ext3 -b 4096 /dev/sda5
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
124544 inodes, 124495 blocks
6224 blocks (5.00%) reserved for the super user
First data block=0
4 block groups
32768 blocks per group, 32768 fragments per group
31136 inodes per group
Superblock backups stored on blocks: 
        32768, 98304

Writing inode tables: done                            
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

<------------------------------------我爱瑶分隔线----------------------------------->
# mkfs.ext3 -i 4096 /dev/sda5
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
124928 inodes, 497983 blocks
24899 blocks (5.00%) reserved for the super user
First data block=1
61 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

mkfs.ext3: Attempt to write block from filesystem resulted in short write while zeroing block 497976 at end of filesystem
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 37 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

<------------------------------------我爱瑶分隔线----------------------------------->
[root@lisp root]# mkfs.ext3 /dev/sda5
mke2fs 1.32 (09-Nov-2002)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
124928 inodes, 497983 blocks
24899 blocks (5.00%) reserved for the super user
First data block=1
61 block groups
8192 blocks per group, 8192 fragments per group
2048 inodes per group
Superblock backups stored on blocks: 
        8193, 24577, 40961, 57345, 73729, 204801, 221185, 401409

mkfs.ext3: Attempt to write block from filesystem resulted in short write while zeroing block 497976 at end of filesystem
Writing inode tables: done                            
Creating journal (8192 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

作者: 阿4is痞男   发布时间: 2010-09-19