1./etc/fstab 文件介绍
/etc/fstab是用来存放文件系统的静态信息的文件。位于/etc/目录下,可以用命令less /etc/fstab 来查看,如果要修改的话,则用命令 vi /etc/fstab 来修改。
当系统启动的时候,系统会自动地从这个文件读取信息,并且会自动将此文件中指定的文件系统挂载到指定的目录。
2.fstab文件示例
以下是CentOS5.X fstab文件:
#
LABEL=/ / ext3 defaults 1 1
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0
注:CentOS6.X 的/ ,/boot swap设备用的是UUID。
UUID=b735fb57-4fc6-49b7-8fe7-19942c7415ea / ext4 defaults 1 1
UUID=64e6944c-7d54-4b47-9204-db65df339281 /boot ext4 defaults 1 2
UUID=b0357f1c-15c6-47f4-9859-5a910eaabae6 swap swap defaults 0 0
3.fstab文件字段详解
第一个字段
如果想把本机上的某个设备(device)挂载上来,写法如:/dev/sda1、/dev/hda2或/dev/cdrom,其中,/dev/sda1 表示第一个串口硬盘的第一个分区,也可以是第一个SCSI硬盘的第一个分区,/dev/hda1表示第一个IDE硬盘的第一个分区,/dev/cdrom 表示光驱。
此外,还可以label(卷标)或UUID(Universally Unique Identifier全局唯一标识符)来表示。用label表示之前,先要e2label创建卷标,如:e2label /dir_1 /dir_2,其意思是说用/dir_2来表示/dir_1的名称。然后,再在/etc/fstab下按如下形式添加:LABEL=/dir_2 /dir_2
第二个字段
第三个字段
第四个字段
对于大多数系统使用"defaults"就可以满足需要。其他常见的选项包括:
选项 含义
ro 以只读模式加载该文件系统
sync 不对该设备的写操作进行缓冲处理,这可以防止在非正常关机时情况下破坏文件系统,但是却降低了计算机速度
user 允许普通用户加载该文件系统
quota 强制在该文件系统上进行磁盘定额限制
noauto 不再使用mount -a命令(例如系统启动时)加载该文件系统
第五个字段
第六个字段
注:对于本地文件系统一般放在fstab里做挂载,并且结尾的两列必须是0 0,不然可能会导致系统无法正常启动。
4.fstab文件如何修复
网上修复fstab的方法有两种:
1。进入Linux单用户模式
①centos怎么让进入GRUB 菜单界面?
Linux开机引导的时候,按键盘上的e 就可以进入进入GRUB菜单界面。
②在出现GRUB引导画面时(CentOS(2.6.18-274**)),按字母e键,进入GRUB编辑状态。
③把光标移动到kernel ...那一行,再敲入“e”进入命令行编辑,
在kernel 一行的最后加上空格single,回车
敲入“b”,启动系统,即进入单用户模式,
执行 root# mount -o remount,rw /
然后/etc/fstab就可以修改了
2。用光盘进入Linux修复模式 (光盘启动按F2 接着输入linux rescue回车进入)
系统在rescue mode下,会将找到的linux系统(包括根目录、/boot、/home等)挂载在/mnt/sysp_w_picpath下
把fstab文件改正确就行了
灾难重现:
非常奇特,我CentOS6.4系统无论怎么玩fstab文件,系统都能正常起来。但似乎是单用户模式,文件系统是只读的。
[root@angelT ~]# mount
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
nfsd on /proc/fs/nfsd type nfsd (rw)
我把fstab改名了,重启机器虽然能起来,但。。
新问题出现了,虽然可以进入系统,但是是只读状态,mount也无法挂载根目录。。。
任何操作都是无效。。
方法一:使用单用户模式
单用户下执行mount -o remount,rw / 不行。因为这个方法是要加载fstab文件的,而我那个文件被我改名了,所有这个系统中根本不存在这个文件。。
可见第一种使用单用户模式的方法是行不通的。
方法二:使用救援模式
①将boot修改成光盘启动,直接按esc键到boot:界面输入linux rescue 回车进入救援模式。
注:centos 6 内存至少要1G,如果是虚拟机选择rescue也要将内存加至1G以上
②选择语言为默认english即可
③选择默认键盘为us
④默认即可(什么类型的媒体包含救援镜像)本地DVD
⑤网络设置选择no
按照以下的图操作即可,我怀疑是因为我两块磁盘的原因,有些差异,具体我再做实验。
进入rescue模式后,创建一个test目录,将/目录的设备挂载,我这系统默认为/sda3,将文件修改回来后,重启。注意修改下boot启动项哦!
OK,复活啦!!这是我的宝贝机器哦,死了可得惨了。。