文章目錄
前言
不同於熱插拔的設備,對於硬盤可能需要長期掛載在系統下,所以如果每次開機都去手動mount
是非常痛苦的,當然Ubuntu
系統的GNOME
桌面自帶的gvfsd
也會幫你自動掛載,但是指向的路徑卻是按照uuid
命名的,對於有強迫症的我而言,這是極其痛苦的,所以希望開機就可以自動掛載硬盤到指定路徑。只關注具體如何實現可以直接跳過我的這些“廢話”,直接移步到實現步驟。
fstab
系統開機的時候會讀取/etc/fstab
這個文件中的內容,根據文件配置情況去掛載磁盤。vi /etc/fstab
,打開fstab
文件,具體如下圖所示;
參數含義
這里需要配置6個參數,<file system>
,<mount point>
,<type>
,<options>
,<dump>
,<pass>
;簡單解釋一下每個參數的含義,不能只見樹木不見森林。
- file system
文件系統,參考默認的fstab
來看,這里只需要把硬盤的UUID
正確配置即可;可以通過指令blkid
,查看硬盤的UUID
; - mount point
掛載路徑,最終硬盤會被掛載到配置的這個路徑下,但是這個路徑必須先存在,提前創建好這個路徑即可; - type
硬盤的文件系統類型,相應的有ntfs
,ext4
,fat
,vfat
等等,這里要根據實際情況設置,同樣的也可以通過指令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
這個參數用來檢查文件系統以多快頻率進行備份,系統將認為其值為0,則不需要進行備份;設置成1暫時也沒有實踐過; - pass
這個參數用來決定在啟動時需要被fsck
掃描的文件系統的順序,根文件系統"/"對應該字段的值應該為1,其他的應該逐漸遞增,如果設置為0則表示不掃描。
實現步驟
1 查看硬盤信息,並找到需要進行掛載的硬盤
sudo fdisk -l
這里我需要對/dev/sdc
進行掛載;
2 sudo mkfs.ext4 /dev/sdc
該指令會格式化硬盤,所以請先備份數據,如果硬盤的TYPE
就是ext4
則無需進行這個步驟的操作
3 sudo mkdir /home/diska
創建硬盤需要掛載的路徑,這個路徑可以根據自己的需要隨意命名;
4 查看UUID
$ blkid /dev/sdc
$ /dev/sdc: UUID="b72a8f66-73d9-42d0-92cc-ae24bee6a309" TYPE="ext4"
5 配置/etc/fstab
打開/etc/fstab
,根據對應的格式如下把UUID
(步驟4中獲取),掛載路徑(步驟4中創建),配置到文件中;
# /home/diska was my persional disk
UUID=b72a8f66-73d9-42d0-92cc-ae24bee6a309 /home/diska ext4 errors=remount-ro 0 0
配置完之后如下圖所,記得保存;
最后,重啟系統,看一下硬盤是不是已經掛載上去了;
$ cat /proc/mounts | grep sdc
$ /dev/sdc /home/diska ext4 rw,relatime,errors=remount-ro,data=ordered 0
OK,最終sdc
成功地掛載到/home/diska
路徑下了。