No more IE!請試著使用FirefoxGoogle Chrome等瀏覽器瀏覽
標頭的可愛Alaskan Malamute來自維基百科~

2010年5月5日 星期三

筆記: Linux 中設定開機時自動掛載分割區

這篇是紀錄我今天剛做的事情

話說,每次開機時,我系統裡的資料碟都處在尚未掛載的狀態,所以當我開啟下載軟體或是要讀取資料時都倍感困擾,因為有些程式寫的比較不好,開啟的檔案位於未掛載磁碟中時會造成系統不穩或當機。


所以,今天我決定動手修改一下,所以認真的去爬了文,作法如下:

分割區的掛載資訊位於 /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


這裏面寫的就是這個系統上分割區的掛載資訊,每一項參數用空白隔開,不過打幾個空白都一樣效果。

我的電腦上有一個NTFS的資料碟,磁碟標籤叫作 "Jake.G.Data" ,而我希望它能在開機時自動掛載
我只需要在檔案最下方加入
#Windows D slot
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

假設我剛剛在 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 的使用和其他詳細資訊請參考: 鳥哥

沒有留言: