解決Linux無法讀寫U盤中的NTFS問題

1 問題描述

由於筆者因爲某些需要把Windows裝在了U盤上面(在這裏建議一下如果有需要請使用固態U盤),在Linux下掛載時,能讀取但並不能寫。

2 嘗試的解決方案

2.1 remount

一開始是因爲沒有讀寫權限,所以就重新掛載,命令如下:

mount -o rw,remount /dev/sda2

/dev/sda2是因爲筆者的U盤大小64G,把Windows直接裝在了裏面,默認分了兩個分區,一個是啓動分區/dev/sda1,一個是系統分區/dev/sda2

但是還是不能寫入。

2.2 ntfs-3g

首先安裝了ntfs-3g,然後再次嘗試掛載:

sudo mount -t ntfs-3g /dev/sda2 /run/media/point
sudo ntfs-3g /dev/sda2 /run/media/point

還是不能寫入。

2.3 ntfsfix

ntfsfix能修復常見的錯誤以及NTFS分區不一致的問題,嘗試了一下:

sudo ntfsfix /dev/sda2

還是不能寫入。

3 最終解決方案

再次查了一下資料(戳這裏)發現這個可能是因爲Windows的快速啓動導致的:

在這裏插入圖片描述

把快速啓動關了就行。

但是這U盤裏面的快速啓動貌似關閉不了。。。

最後在StackExchange戳這裏)上找到了答案:

在這裏插入圖片描述

核心是remove_hiberfile這個掛載選項,同時也查了一下man

在這裏插入圖片描述

在啓動Linux時,Windows是有可能處於hibernate狀態的,該狀態下是不能寫的並且強制只讀掛載,加入remove_hiberfile參數後,去除了hibernation file,這樣在筆者的環境上測試就能正常寫入了,但是要注意使用該參數可能會導致保存的Windows session 數據全部丟失:

在這裏插入圖片描述

所以最終掛載命令如下:

sudo ntfs-3g -o remove_hiberfile /dev/sda2 /run/media/point

測試了一下Windows並沒有任何損壞,因此如果出現上述的問題可以嘗試加上remove_hiberfile參數。

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