磁盘被手动挂载之后都必须把挂载信息写入/etc/fstab这个文件中,否则下次开机启动时仍然需要重新挂载。系统开机时会主动读取/etc/fstab这个文件中的内容,根据文件里面的配置挂载磁盘。这样我们只需要将磁盘的挂载信息写入这个文件中我们就不需要每次开机启动之后手动进行挂载了。
在说明这个文件的作用之前我想先强调一下挂载的限制。
(1)根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的。
(2)挂载点必须是已经存在的目录。
(3)挂载点的指定可以任意,但必须遵守必要的系统目录架构原则
(4)所有挂载点在同一时间只能被挂载一次
(5)所有分区在同一时间只能挂在一次
(6)若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
下面我们看看看/etc/fstab文件,这是我的linux环境中/etc/fstab文件中的内容
# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <dump> <pass>
# / was on /dev/vda1 during installation
UUID=2210e062-8163 / ext4 errors=remount-ro 0 1
第一列:Device:磁盘设备文件或者该设备的Label或者UUID
1)查看分区的label和uuid
Label就是分区的标签,在最初安装系统时填写的挂载点就是标签的名字。简单点的方式我们可以通过下面这个命令来查看
blkid
/dev/vda1: UUID="2210e062-8163" TYPE="ext4" PARTUUID="40530346-01"
/dev/vdb: SEC_TYPE="msdos" LABEL="config-2" UUID="1065-E1AD" TYPE="vfat"
2)使用设备名和label及uuid作为标识的不同
使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。
使用 label 挂载就不用担心插槽顺序方面的问题。不过要随时注意你的Label name。
至于 UUID,每个分区被格式化以后都会有一个UUID作为唯一的标识号。使用uuid挂载的话就不用担心会发生错乱的问题了。
第二列:Mount point:设备的挂载点,就是你要挂载到哪个目录下。
第三列:filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等
第四列:parameters:文件系统的参数
第五列:能否被dump备份命令作用:dump是一个用来作为备份的命令。通常这个参数的值为 0 或者 1
0 代表不要做dump备份
1 代表要每天进行dump的操作
2 代表不定日期的进行dump操作
第六列:是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。
0 不要检验
1 最早检验(一般根目录会选择)
2 1级别检验完成之后进行检验
如果不小心错误更改了这个文件,可以手动remount。