話說,每次開機時,我系統裡的資料碟都處在尚未掛載的狀態,所以當我開啟下載軟體或是要讀取資料時都倍感困擾,因為有些程式寫的比較不好,開啟的檔案位於未掛載磁碟中時會造成系統不穩或當機。
所以,今天我決定動手修改一下,所以認真的去爬了文,作法如下:
分割區的掛載資訊位於 /etc/fstab 中,所以需要自動掛載分割區時可以針對此檔案做修改。
※注意:修改錯誤可能造成無法開機,敬請小心。文末有檢測法。
我的系統是 Ubuntu 10.04 我用我的fstab做範例如下:
這邊會用到:修改系統唯讀檔案的方式
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' 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>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sdb2 during installation
UUID=212d001d-5be9-48ed-b832-d5cb5a188036 / ext4 errors=remount-ro 0 1
# swap was on /dev/sdb4 during installation
UUID=7c99d5c0-c1de-4d3d-85b6-c97c232d8bd6 none swap sw 0 0
#
# Use 'blkid -o value -s UUID' 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>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sdb2 during installation
UUID=212d001d-5be9-48ed-b832-d5cb5a188036 / ext4 errors=remount-ro 0 1
# swap was on /dev/sdb4 during installation
UUID=7c99d5c0-c1de-4d3d-85b6-c97c232d8bd6 none swap sw 0 0
這裏面寫的就是這個系統上分割區的掛載資訊,每一項參數用空白隔開,不過打幾個空白都一樣效果。
我的電腦上有一個NTFS的資料碟,磁碟標籤叫作 "Jake.G.Data" ,而我希望它能在開機時自動掛載
我只需要在檔案最下方加入
#Windows D slot
LABEL=Jake.G.Data /media/Jake.G.Data ntfs auto,rw 0 2
#先是檔案系統的標籤,然後是欲掛載的路徑、分割區的格式、選項、是否自動備份,最後"應該是"fsck的選項
LABEL=Jake.G.Data /media/Jake.G.Data ntfs auto,rw 0 2
#先是檔案系統的標籤,然後是欲掛載的路徑、分割區的格式、選項、是否自動備份,最後"應該是"fsck的選項
其中,"#" 字開頭的行都是註解(藍色部份),都可以隨便你打,我是打來給自己方便看的,所以最重要的是中間那一行。
紫色部份是用來指定分割區的,有很多種指定法,有LABEL、UUID,也可以直接指定。像是Ubuntu現在預設的指定方式是UUID,而我上面用的是LABEL,也可以直接寫成 "/dev/sda3" 這樣的形式。
各種方式各有優劣, 其中 UUID 是最新的方式,他也是對系統而言最好的指定方式,因為他是直接去認分割區本身,就算你更改 LABEL 或是讓它的位置從 "/dev/sda3" 變成 "/dev/sdb4" (例如在插上一個新硬碟,或是修改分割區之後就有可能發生這種事)
而用 LABEL 設定的話,可以保證 "只要 LABEL 長這樣,一律都這麼做",所以也很好用,不過要是有兩個同 LABEL 的分割區的話......
而 "/dev/sda3" 這樣子的方法就是 LINUX 最傳統的作法。
至於紅色部份,只要指定一個路徑(資料夾)即可,不過同一個路徑不能掛載兩個分割區,而且所指定的路徑中最好不要有檔案。
需要注意的是,Linux下的大寫和小寫是不一樣的,"Apple" 不等於 "apple",不可混用。
修改完之後,請於終端機輸入依次下列指令以測試是否有錯誤:
df
輸入此行指令後會列出已掛載的分割區,像是這樣:
jake@Jake-NotePC:~$ df
檔案系統 1K-區段 已用 可用 已用% 掛載點
/dev/sda2 10189120 3956604 5714936 41% /
none 1976108 304 1975804 1% /dev
none 1980616 552 1980064 1% /dev/shm
none 1980616 84 1980532 1% /var/run
none 1980616 0 1980616 0% /var/lock
none 1980616 0 1980616 0% /lib/init/rw
/dev/sda3 85152532 70475088 14677444 83% /media/Jake.G.Data
/dev/sda1 21511000 20252688 1258312 95% /media/Windows7
檔案系統 1K-區段 已用 可用 已用% 掛載點
/dev/sda2 10189120 3956604 5714936 41% /
none 1976108 304 1975804 1% /dev
none 1980616 552 1980064 1% /dev/shm
none 1980616 84 1980532 1% /var/run
none 1980616 0 1980616 0% /var/lock
none 1980616 0 1980616 0% /lib/init/rw
/dev/sda3 85152532 70475088 14677444 83% /media/Jake.G.Data
/dev/sda1 21511000 20252688 1258312 95% /media/Windows7
假設我剛剛在 fstab 裡加入了
LABEL=Windows7 /media/Windows7 ntfs auto,rw 0 2
則紅字部份表示目前我所指定的分割區已經掛載,為了測試需要,我們先將其卸載:
(若你下完 "df" 之後,你所指定的分割區並未出現,則不需要執行此步驟)
sudo umount /dev/sda1
或
sudo umount /media/Windows7
接著再度執行 "df" 應會發現剛剛的紅字已經消失
然後執行:
sudo mount -a
如果沒有任何錯誤訊息,而且再執行 "df" 之後發現你所指定的分割區已經順利掛上,你就成功嚕~
不過,如果有任何異常,請再檢查一下你的 /etc/fstab 吧
PS:如果你設定的路徑實際上不存在的話,掛載是不會成功的喔。我所設定的掛載點都是真正存在資料夾的,如果你希望設定的路徑不存在,那自己建立就好了。
關於 mount 的使用和其他詳細資訊請參考: 鳥哥
沒有留言:
張貼留言