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
參數。