archlinux開機掛載分區

心血來潮的安裝了archlinux.發現很多內容和ubuntu都很不一樣.

至少目前爲止,除了速度快以外,我對於它的印象沒有好過.實在是太坑爹了.到處都是陷阱.

言歸正傳,說到archlinux的開機加載,簡直就是部血淚史.整整搞了兩天才搞定一行代碼.

首先說說我的場景:

我三系統共享兩個ntfs的分區.windows自不必說了.ubuntu下我把掛載命令寫進了rc.local(sudo mount -o gid=1000,uid=1000 /dev/sda5 /media/alai/work).可以完美的擁有讀寫權限,並且屬主是我的普通用戶,而不是root..

但是現在問題來了,archlinux採用的並不是這樣一個開機啓動的方式.我並沒有找到這樣一個確切的腳本.我試過自己寫掛載腳本,然後放到/etc/xdg/autostart這個目錄下.但是腳本寫的不好,加載的有問題.想來想去.決定迴歸到系統文件,最終選定了/etc/fstab.

關於fstab的文件格式我就不多說了.我也沒有了解多少.網上這類博客都很多.我只說別人漏掉的.

可能很多人沒有注意到,用網上的教程或者manual提供的方法,掛載的目錄的屬主都是root.當然有人說可以加rw來讓所有用戶可讀寫.這樣不是不可以.但是很彆扭.我就遇到了一個不是很樂觀的場景,下載了一共文件以後執行,但是連root都提示權限不足.實在尷尬.

看了網上的關於fstab文件中第四個字段的說明,隱約覺得他就是mount -o後面的參數.以這個點作爲出發點.再去做一個嘗試.

/dev/sda1		/media/alai/system 	ntfs-3g		user,rw,suid,exec,gid=alai,uid=alai	0 2
/dev/sda5		/media/alai/work 	ntfs-3g		user,rw,suid,exec,gid=alai,uid=alai	0 2
/dev/sda6		/media/alai/others 	ntfs-3g		user,rw,suid,exec,gid=alai,uid=alai	0 2

上面這段代碼完美的解決了我的問題.


現在我們去驗證上面的那個假設.把上面的第四段的參數全封不動的放到一個mount命令的後面來使用一下:


最開始的時候我查的是man fstab .這裏面的說明比較少.當我有了上面的假設的時候,我man mount看了一下.

可以看到,第一句話所說的.我的結論有失偏頗.mount的選項和fstab是互通的,只是有的的選項只能用在fstab裏面.

另外有個問題還要再說明一下,就是可能有人注意到我的mount的文件格式是ntfs-3g的.這個問題在網上也找了很久的答案.發現在archlinux系統中使用mount的時候,如果你要以可寫的權限掛載這個格式的分區,就會出現問題.因爲這個格式並不支持寫入.報錯如下:

logfile is not clean , mounting read-only, mount in windows.

很奇怪的是ubuntu下面我沒有遇到這樣的問題.不管他.

這個問題也好解決,用ntfs-3g替代ntfs格式就可以了.只需要安裝一個工具即可.

[root@alai alai]# sudo pacman -Ss ntfs-3g
extra/ntfs-3g 2015.3.14-1 [installed]
    NTFS filesystem driver and utilities
[root@alai alai]# sudo pacman -S ntfs-3g   # 執行這條命令就行,上面的-Ss是爲了查看有沒有找個包.

ok,問題解決了.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章