前言
不同于熱插拔的設(shè)備,對于硬盤可能需要長期掛載在系統(tǒng)下,所以如果每次開機(jī)都去手動mount是非常痛苦的,當(dāng)然Ubuntu系統(tǒng)的GNOME桌面自帶的gvfsd也會幫你自動掛載,但是指向的路徑卻是按照uuid命名的,對于有強(qiáng)迫癥的我而言,這是極其痛苦的,所以希望開機(jī)就可以自動掛載硬盤到指定路徑。只關(guān)注具體如何實(shí)現(xiàn)可以直接跳過我的這些“廢話”,直接移步到實(shí)現(xiàn)步驟。
df -Th
me@ai:~/s$ df -Th
文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點(diǎn)
tmpfs tmpfs 1.6G 3.1M 1.6G 1% /run
/dev/nvme0n1p2 ext4 468G 313G 132G 71% /
tmpfs tmpfs 7.8G 181M 7.6G 3% /dev/shm
tmpfs tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs tmpfs 7.8G 0 7.8G 0% /run/qemu
/dev/nvme0n1p1 vfat 511M 5.3M 506M 2% /boot/efi
tmpfs tmpfs 1.6G 128K 1.6G 1% /run/user/1000
/dev/sda vfat 3.9T 256K 3.9T 1% /home/me/s
sudo fdisk -l
Disk /dev/sda:3.81 TiB,4194304000000 字節(jié),1024000000 個扇區(qū)
Disk model: SSD
單元:扇區(qū) / 1 * 4096 = 4096 字節(jié)
扇區(qū)大小(邏輯/物理):4096 字節(jié) / 4096 字節(jié)
I/O 大小(最小/最佳):4096 字節(jié) / 4096 字節(jié)
磁盤標(biāo)簽類型:dos
磁盤標(biāo)識符: 0x00000000
sudo mkfs.msdos /dev/sda
sudo mount /dev/sda /home/me/s
fstab
系統(tǒng)開機(jī)的時候會讀取 /etc/fstab 這個文件中的內(nèi)容,根據(jù)文件配置情況去掛載磁盤。vi /etc/fstab,打開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/nvme0n1p2 during installation
UUID=18525270-8e73-4459-abdb-f2dac55fa9b3 / ext4 errors=remount-ro 0 1
# /boot/efi was on /dev/nvme0n1p1 during installation
UUID=E4BD-A69E /boot/efi vfat umask=0077 0 1
/swapfile none swap sw 0 0
/swapfile none swap sw 0 0
# my ssd disk mnt on /home/me/s
/dev/sda /home/me/s vfat defaults 1 2
參數(shù)含義
這里需要配置6個參數(shù):
<file system>,<mount point>,<type>,<options>,<dump>,<pass>;
簡單解釋一下每個參數(shù)的含義,不能只見樹木不見森林。
設(shè)備 file system
文件系統(tǒng),參考默認(rèn)的fstab來看,這里只需要把硬盤的UUID正確配置即可;可以通過指令blkid,查看硬盤的UUID;
也有地方看到,直接配置:/dev/sdamount point
掛載路徑,最終硬盤會被掛載到配置的這個路徑下,但是這個路徑必須先存在,提前創(chuàng)建好這個路徑即可;type
硬盤的文件系統(tǒng)類型,相應(yīng)的有ntfs,ext4,fat,vfat等等,這里要根據(jù)實(shí)際情況設(shè)置,同樣的也可以通過指令blkid,查看硬盤的TYPE
- options
option description
defaults use default options: rw, suid, dev, exec, auto, nouser, and async.
noauto do not mount when “mount -a” is given (e.g., at boot time)
user allow a user to mount
owner allow device owner to mount
comment or x- for use by fstab-maintaining programs
nofail do not report errors for this device if it does not exist.
dump
這個參數(shù)用來檢查文件系統(tǒng)以多快頻率進(jìn)行備份,系統(tǒng)將認(rèn)為其值為0,則不需要進(jìn)行備份;設(shè)置成1暫時也沒有實(shí)踐過;pass
這個參數(shù)用來決定在啟動時需要被fsck掃描的文件系統(tǒng)的順序,根文件系統(tǒng)"/"對應(yīng)該字段的值應(yīng)該為1,其他的應(yīng)該逐漸遞增,如果設(shè)置為0則表示不掃描。
實(shí)現(xiàn)步驟
1 查看硬盤信息,并找到需要進(jìn)行掛載的硬盤
sudo fdisk -l
這里我需要對/dev/sdc進(jìn)行掛載;
2 sudo mkfs.ext4 /dev/sdc
該指令會格式化硬盤,所以請先備份數(shù)據(jù),如果硬盤的TYPE就是ext4則無需進(jìn)行這個步驟的操作
3 sudo mkdir /home/diska
創(chuàng)建硬盤需要掛載的路徑,這個路徑可以根據(jù)自己的需要隨意命名;
4 查看UUID
/dev/sdc: UUID="b72a8f66-73d9-42d0-92cc-ae24bee6a309" TYPE="ext4"
5 配置/etc/fstab
打開/etc/fstab,根據(jù)對應(yīng)的格式如下把UUID(步驟4中獲?。瑨燧d路徑(步驟4中創(chuàng)建),配置到文件中;
/home/diska was my persional disk
UUID=b72a8f66-73d9-42d0-92cc-ae24bee6a309 /home/diska ext4 errors=remount-ro 0 0
配置完之后如下圖所,記得保存;
最后,重啟系統(tǒng),看一下硬盤是不是已經(jīng)掛載上去了;
$ cat /proc/mounts | grep sdc
$ /dev/sdc /home/diska ext4 rw,relatime,errors=remount-ro,data=ordered 0
OK,最終sdc成功地掛載到/home/diska路徑下了。
$ ls -l /dev/disk/by-uuid/
總用量 0
lrwxrwxrwx 1 root root 15 9月 27 21:54 18525270-8e73-4459-abdb-f2dac55fa9b3 -> ../../nvme0n1p2
lrwxrwxrwx 1 root root 15 9月 27 21:54 E4BD-A69E -> ../../nvme0n1p1