ubuntu的ntfs分割槽載入

2021-08-22 16:03:25 字數 3364 閱讀 3452

看到本文標題, 您一定不解:難道ubuntu還不能自動載入ntfs分割槽?其實是可以的,不過如果你加了一塊硬碟上去,就有可能要手動新增分割槽掛載資訊了。如何新增,**新增呢?這就是本文所要說的。

先看看我碰到問題的由來,也可以供參考。ubuntu對windows分割槽的支援很不錯, 之前我剛使用ubuntu7.10時,有一塊硬碟還全是ntfs分割槽, 而無須任何配置就已經能夠讀寫ntfs分割槽了。

於是想著如何讓ubuntu啟動時自動載入ntfs分割槽, 馬上就想到了在啟動的bash中寫入mount 命令,在網上找了一番

發現,可以在/etc/rc.local中 寫入:

mount -t ntfs /dev/sda5 /media/d

…挨個寫完每個分割槽對映的目錄

/dev/sda5是硬碟裝置名, sudo fdisk -l可以看到;

/media/d 是對映的目錄

這樣做之後, 開機確實能夠看到自動載入了ntfs的分割槽, 可惜中文目錄和檔案都不見了, 搞的我很鬱悶, 還以為是誤刪了。

後來看到這篇文章:[url]

了解到ubuntu早些是通過ntfs-3g來支援ntfs的,後來得到了改進,核心就已經能支援ntfs的讀寫。並且ubuntu 是通過/etc/fstab用來配置啟動載入的分割槽。開啟來一看,我這裡的情況是,/etc/fstab中根本沒有新加的硬碟的ntfs分割槽資訊,難怪不會自動載入了。

於是在網上找了下fstab中分割槽資訊的寫法,將新硬碟上兩個ntfs分割槽的照著樣子寫了上去:

/dev/sda6 /media/game ntfs defaults 0 0

……設定好每個ntfs的分割槽後重啟,去掉前面在啟動bash中新增的mount,發現一切就正常了, 實現了自動載入和中文支援。這裡感覺fstab寫法上其實跟mount也差不多。

理解一下fstab:

[quote]

上面我們說了mount掛載儲存裝置檔案系統的辦法;現在我們再來說一說在/etc/fstab 中實現開機自動掛載檔案系統的辦法;首先我們要檢視 /etc/fstab ;主要看他的規劃寫法;

# this file is edited by fstab-sync - see 'man fstab-sync' for details

label=/1 / ext3 defaults 1 1

/dev/devpts /dev/pts devpts gid=5,mode=620 0 0

/dev/shm /dev/shm tmpfs defaults 0 0

/dev/proc /proc proc defaults 0 0

/dev/sys /sys sysfs defaults 0 0

label=swap-hda7 swap swap defaults 0 0

/dev/hdc /media/cdrecorder auto users,exec,noauto,managed 0 0

第一字段:裝置名,在這裡表示是檔案系統; 有時我們把掛載檔案系統也說成掛載分割槽; 在這個欄位中也可以用分割槽標籤;在例子中/label=/1就是linux系統安裝分割槽的標籤,至於是在哪個分割槽,可以用 df -lh 來檢視;

# df -lh

filesystem 容量 已用 可用 已用% 掛載點

/dev/hda8 11g 8.5g 1.9g 83% /

/dev/shm 236m 0 236m 0% /dev/shm

/dev/hda10 16g 6.9g 8.3g 46% /mnt/hda10

我們可以知道 label=/1是/dev/hda8的標籤;那我們用什麼命令來建立硬碟分割槽的標籤呢?

對於ext3和ext2檔案系統,我們可以用 e2label 來設定

e2label device [newlabel] 建立裝置的標籤命令

比如我們想把檔案系統為ext3 的分割槽/dev/hda5的標籤裝置為 /5 ,我們應該執行如下的命令:

# e2label /dev/hda5 /5

# mkdir /mnt/hda5 注:建立掛載/dev/hda5分割槽的目錄;

# chmod 777 /mnt/hda5 注:開啟許可權,所有使用者可讀可寫可執行;

然後我們要改/etc/fstab 中加一行

/5 /mnt/hda5 ext3 defaults 0 0

警告: 請不要在您的linux的安裝分割槽(也就是linux系統/ 所在的分割槽)實踐,會導致您的linux系統崩潰;如果想實踐,請在其它分割槽測試;

如果是reiserfs檔案系統,我們應該用

# reiserfstune -l 標籤 裝置

舉例:比如我為reiserfs 檔案系統 /dev/hda10設定標籤為 /10 ;

# reiserfstune -l /10 /dev/hda10

我們在/etc/fstab中加入一行;

/10 /mnt/hda10 reiserfs defaults 0 0

警告: 請不要在您的linux的安裝分割槽(也就是linux系統/ 所在的分割槽)實踐,會導致您的linux系統崩潰;如果想實踐,請在其它分割槽測試;

第二字段:檔案系統的掛載點;

第三字段:檔案系統型別;

第四字段:mount 命令的選項,和mount 中的-o 同理;defaults包括這些選項 rw, suid, dev, exec, auto, nouser, async;通過實踐,這個預設的還能滿足我們的需要;

第五字段:表示檔案系統是否需要dump 備份,是真假關係;1是需要,0 是不需要;

第六字段: 是否在系統啟動時,通過fsck磁碟檢測工具來檢查檔案系統,1是需要,0是不需要,2是跳過

[/quote]

可惜後來發現好景不長, 新硬碟上的兩個ntfs分割槽裝置名居然會換,一會是sdb一回又是hda,這樣就會導致掛載失敗。我換乙個名,分割槽也跟著換名, 總是對不上,搞的我十分鬱悶。接下來兩個星期都只好手動去寫mount來載入了。

後來,我想到fstab中曾經看到linux幾個分割槽在fstab中是用的uuid標識分割槽,而不是/dev/sda這樣的名稱,於是想起也用uuid來試試ntfs的兩個分割槽。還好通過mount掛載的硬碟分割槽是能夠看到uuid的,桌面生成的分割槽快捷方式點右鍵,檢視volumn選項卡,看到uuid,記錄下來,再填寫到fstab中替換掉原來的裝置名稱。重啟計算機,進入ubuntu後發現果然沒有問題了,經過反覆幾次重啟測試,也沒有發現由於分割槽裝置名稱換來換去導致的載入失敗問題。看來這個問題告一段落了,興奮阿。

檢視分割槽的uuid,可以通過命令:

sudo blkid

或者 ls -l /dev/disk/by-uuid

好奇的我,此時又覺得我一開始並沒有安裝ntfs-3g的時候,也能夠支援ntfs分割槽,那就不如解除安裝掉。再說fstab中的分割槽類別中填寫的是ntfs,而沒有用到 ntfs-3g嘛。結果導致ntfs分割槽全部都無許可權訪問,重新安裝後ntfs-3g和ntfs-config之後又恢復正常。

ubuntu環境進入NTFS分割槽掛載錯誤

問題 在ubuntu環境ntfs分割槽掛載,四個分割槽,有三個可以掛載,不能掛載那個掛載時出現error mounting dev sdb2 at media 文件 command line mount t ntfs o uhelper udisks2,nodev,nosuid,uid 1000,g...

掛載NTFS分割槽

ls lib modules 2.6.9 55.el kernel fs 方法a uname rna 一定要和核心版本相對應 rpm ivh kernel module ntfs 2.6.18 8.el5 2.1.27 0.rr.10.11.i686.rpm fdisk l mount t ntfs...

Linux掛載ntfs分割槽

kernel module ntfs 2.6.18 92.1.10.el5 2.1.27 0.rr.10.11.i686.rpm包,一開始按照第一種方法來,用uname r 檢視我的核心版本是2.6.18 194.el5,於是開始找kernel module ntfs 2.6.18 194.el5 ...