在 Linux 系统中,磁盘被手动挂载之后,如果系统重启,那么刚挂载的硬盘就会自动脱离挂载。
想要让硬盘在不会在因系统调整或重启以后脱离挂载,就必须把挂载信息写入 /etc/fstab 这个文件中。
系统开机时会主动读取 /etc/fstab 这个文件中的内容,根据文件里的配置进行磁盘挂载。这样我们只需要将磁盘的挂载信息写入这个文件中,我们就不需要每次开机启动之后进行手动挂载了。
(1)根目录是必须挂载的,而且一定要先于其他mount point被挂载。因为mount是所有目录的跟目录,其他木有都是由根目录 /衍生出来的;
(2)挂载点必须是已经存在的目录;
(3)挂载点的指定可以任意,但必须遵守必要的系统目录架构原则;
(4)所有挂载点在同一时间只能被挂载一次;
(5)所有分区在同一时间只能挂在一次;
(6)若进行卸载,必须将工作目录退出挂载点(及其子目录)之外。
# cat /etc/fstab
#
# /etc/fstab
# Created by anaconda on Thu Aug 18 17:11:48 2022
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root / xfs defaults 0 0
UUID=fbc10421-3a47-4297-982a-713515118ccc /boot xfs defaults 0 0
/dev/mapper/centos-swap swap swap defaults 0 0
/etc/fstab文件的每一行都遵循以下格式:
字段 | 含义 |
/dev/sda1 | 要挂载的磁盘盘符,也可以用UUID进行挂载 |
/data | 磁盘挂载点(可以自己创建) |
ext4/xfs... | 文件系统格式 |
defaults(option) | 所有选项全部使用默认配置,包括rw,suid,dev,exec,auto,nouser,sync |
0(dump) | 是否备份:0=不备份 |
0(fsck) | fsck选项:0=不检查 |
(1)auto - 在启动时或键入了 mount -a 命令时自动挂载。
(2)noauto - 只在你的命令下被挂载。
(3)exec - 允许执行此分区的二进制文件。
(4)noexec - 不允许执行此文件系统上的二进制文件。
(5)ro - 以只读模式挂载文件系统。
(6)rw - 以读写模式挂载文件系统。
(7)user - 允许任意用户挂载此文件系统,若无显示定义,隐含启用 noexec, nosuid, nodev 参数。
(8)users - 允许所有 users 组中的用户挂载文件系统.
(9)nouser - 只能被 root 挂载。
(10)owner - 允许设备所有者挂载。
(11)sync - I/O 同步进行。
(12)async - I/O 异步进行。
(13)dev - 解析文件系统上的块特殊设备。
(14)nodev - 不解析文件系统上的块特殊设备。
(15)suid - 允许 suid 操作和设定 sgid 位。这一参数通常用于一些特殊任务,使一般用户运行程序时临时提升权限。
(16)nosuid - 禁止 suid 操作和设定 sgid 位。
(17)noatime - 不更新文件系统上 inode 访问记录,可以提升性能(参见 atime 参数)。
(18)nodiratime - 不更新文件系统上的目录 inode 访问记录,可以提升性能(参见 atime 参数)。
(19)relatime - 实时更新 inode access 记录。只有在记录中的访问时间早于当前访问才会被更新。(与 noatime 相似,但不会打断如 mutt 或其它程序探测文件在上次访问后是否被修改的进程。),可以提升性能(参见 atime 参数)。
(20)flush - vfat 的选项,更频繁的刷新数据,复制对话框或进度条在全部数据都写入后才消失。
(21)defaults - 使用文件系统的默认挂载参数,例如 ext4 的默认参数为:rw,suid,dev,exec,auto,nouser,async
dump 工具通过它决定何时作备份. dump 会检查其内容,并用数字来决定是否对这个文件系统进行备份。 允许的数字是 0 和 1 。0 表示忽略, 1 则进行备份。大部分的用户是没有安装 dump 的 ,对他们而言 应设为 0。
fsck 读取 的数值来决定需要检查的文件系统的检查顺序。允许的数字是0, 1, 和2。 根目录应当获得最高的优先权 1, 其它所有需要被检查的设备设置为 2. 0 表示设备不会被 fsck 所检查。
查看磁盘UUID:
在 /dev/disk/by-uuid/目录下查看所有磁盘的UUID
# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx 1 root root 10 Sep 22 17:39 a4d22e3e-e112-4025-8786-611cf2b0bab0 -> ../../dm-0
lrwxrwxrwx 1 root root 10 Sep 22 17:39 ca591d45-94ab-4658-8b95-708d46fc54d5 -> ../../dm-1
lrwxrwxrwx 1 root root 10 Sep 22 17:39 fbc10421-3a47-4297-982a-713515118ccc -> ../../sda2
mount -t vfat /dev/sda1 /mnt
mount -t ntfs-3g /dev/sda1 /mnt
注意:ntfs-3g 这个格式需要安装