Linux开机自动挂载分区

Automatically Mount Disks on Linux Start-up

# 开机自动挂载

在给系统新增了磁盘以后,如果重启系统我们会发现找不到存储;但是使用fdisk -l可以看到存储空间,说明存储还在。这是因为关机后,挂载已经自动卸载掉了。我们当然可以手动再次将其挂载,但如果每次重启都需要这样手动操作会很不方便。因此我们可以利用自动挂载,这样系统每次开机的时候就可以自动将磁盘挂载上去了。

修改/etc/fstab文件

vim或者nano打开/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>
UUID=a81dd710-993c-4e3f-901a-e6bf2cdbf7dd /              ext4    defaults,noatime,discard 0 1
UUID=DA18-EBFA                            /boot/efi      vfat    umask=0077 0 2
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
UUID=000CD54D00014CB1                     /mnt/Ogrema    ntfs    defaults         0 0
UUID=8EF257AE5A2BABB0                     /mnt/Karazhan  ntfs    defaults         0 0
UUID=20E5F700538CA3AB                     /mnt/Xandar    ntfs    defaults         0 0

可以很明显的看到文件有6列。
第1列是设备名或者卷标;
第2列是挂载点(也就是挂载目录);
第3列是所要挂载设备的文件系统或者文件系统类型;
第4列是挂载选项,通常使用defaults就可以;
第5列设置是否使用dump备份,置0为不备份,置1,2为备份,但2的备份重要性比1小;
第6列设置是否开机的时候使用fsck检验所挂载的磁盘,置0为不检验,置1,2为检验,但置2盘比置1的盘晚检验。

# 本文示例

/dev/sda5挂载到/mnt/Karazhan

首先使用sudo blkid /dev/sda5命令查看设备UUID,获得输出如下:

/dev/sda5: LABEL="Karazhan" BLOCK_SIZE="512" UUID="8EF257AE5A2BABB0" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="ce11e894-ece4-4c1e-a358-e85789be0b58"

得知/dev/sda5的UUID为8EF257AE5A2BABB0,利用nano/vim/gedit编辑/etc/fstab,在文件最后添加如下代码:

UUID=8EF257AE5A2BABB0   /mnt/Karazhan  ntfs    defaults    0 0
# 或者也可以使用PARTUUID
PARTUUID="ce11e894-ece4-4c1e-a358-e85789be0b58UUID=8EF257AE5A2BABB0"   /mnt/Karazhan  ntfs    defaults    0 0

将上面的命令添加进fstab后,为了避免可能的错误,我们可以使用sudo mount -a命令来检验编辑的内容是否有错。执行sudo mount -a命令后,用df -h命令查看会发现磁盘已经挂载成功,说明输入没有错误。下次重启的时候系统就可以自动进行挂载了。

[dotin13@Manhattan ~]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
dev             7.8G     0  7.8G   0% /dev
run             7.8G  1.7M  7.8G   1% /run
/dev/sdb1        39G   22G   15G  60% /
tmpfs           7.8G   85M  7.7G   2% /dev/shm
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
tmpfs           7.8G  105M  7.7G   2% /tmp
/dev/sda5       211G  180G   31G  86% /mnt/Karazhan
/dev/sda3       200M   36M  164M  18% /boot/efi
/dev/sdb3        58G   29G   27G  53% /home
tmpfs           1.6G   20K  1.6G   1% /run/user/120
tmpfs           1.6G   68K  1.6G   1% /run/user/1000

# 注意

  1. 根目录必须优先于其他挂载点
  2. 挂载点必须为已经存在的目录
  3. 卸载时必须保证当前磁盘没有发生读写操作
  4. 不建议使用/dev/sda5的形式代替UUID,因为多硬盘的设备中,每次开机时设备号可能不同,导致无法开机

参考:显示“A start job is running for /dev/sdx”,无法开机
原载:CSDN Blog,有修改。