什么是fstab
文件fstab包含了你的电脑上的存储设备及其文件系统的信息。使用fstab可以实现开机自动挂载各种文件系统格式的硬盘、分区、可移动设备和远程设备等。
fstab文件示例
我机子上的配置:
执行sudo fdisk -l显示目前硬盘分区:
Device Boot Start End Blocks Id System
/dev/sda1 * 1 2611 20972826 7 HPFS/NTFS
/dev/sda2 2612 14092 92221132+ f W95 Ext'd (LBA)
/dev/sda3 14093 14554 3711015 83 Linux
/dev/sda4 14555 14593 313267+ 82 Linux swap / Solaris
/dev/sda5 2612 6528 31463271 b W95 FAT32
/dev/sda6 6529 14092 60757829+ 83 Linux
执行cat /etc/fstab,显示fstab配置文件:
/etc/fstab: static file system information.
<file system> <mount point> <type> <options> <dump> <pass>
proc /proc proc defaults 0 0
/dev/sda3
UUID=f2f081ea-e7a5-4874-bcfb-51601ad92237 / ext3 relatime,errors=remount-ro 0 0
/dev/sda4
UUID=c4526f70-ac8e-45c1-95d9-3203a60bad3b none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
/dev/sda1 /media/disk0 ntfs defaults,user,rw,iocharset=utf8,umask=000,nls=utf8 0 0
/dev/sda5 /media/disk1 vfat defaults,user,rw,codepage=936,iocharset=utf8 0 0
fstab详解
让我们对fstab的用法进行一个详细的了解。一个典型的entry有下面的fields (fields用空格或tab分开):
<pre style="overflow: auto; margin-top: 0px; margin-bottom: 0px; color: rgb(48, 48, 48); font-size: 12.6316px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: left; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><file system> <dir> <type> <options> <dump> <pass></pre>
- file system:设备名称,可以通过ls /dev查看。
- dir:期望挂载的目录,这个必须已经存在。
- type:指挂载设备或分区为何种文件系统类型(例如:ext2, ext3, reiserfs, xfs, jfs, smbfs, iso9660, vfat, ntfs, swap等)。
- options:选项。设置一些文件系统的具体选项。这里不详细介绍,具体说明:
fat32文件系统配置如下:defaults,user,rw,codepage=936,iocharset=utf8,分配代表:默认,所有用户可以使用,可读可写,后面的一项为避免显示乱码。
ntfs文件系统配置如下:defaults,user,rw,iocharset=utf8,umask=000,nls=utf8,分配代表:默认,所有用户可以使用,可读可写,后面的一项为避免显示乱码。
- dump:是dump utility用来决定是否做备份的. 大部分的用户是没有安装dump的,所以应该写为0。
- pass: fsck会检查这个头目下的数字来决定检查文件系统的顺序,配置成0的话,开机将不做检查。
判断fstab是否正确
可以使用sudo mount -a, -a参数表明使用/etc/fstab中的配置进行挂载。如果发现配置不正确,可以再使用sudo umount /dev/XXX卸载对应设备。这样避免了每次修改重启电脑。 对于挂载失败的原因,可以通过dmesg命令查看