背景:某天當我打開自己的設備,突然發現ntfs分區無法寫入任何文件,提示為只讀文件系統,具體現象如下:
修復過程:排除權限問題,使用fsck進行修復無果后,使用e2fsck進行修復
顯示超級快損壞,這樣就好做了,重新修復即可:
解決方案:
一下列舉的是Ubuntu安裝過程,本人使用的archlinux系統,這里不做贅述,如果不會安裝,請自行解決
用sudo apt-get install ntfs-3g
安裝ntfs-3g。然后在NTFS分區上運行ntfsfix命令。
sanduo@archlinux:/home/sanduo> sudo ntfsfix /dev/sda2
顯示修復成功,再次往ntfs分區寫入文件無錯誤提示
以下解決方案來之互聯網,本人總結一下,希望對各位有用
1、對於較新的Ubuntus您可以一起使用-b
和-d
選項。 -b
嘗試修復壞群集和-d
來修復臟狀態。所以命令可以
sudo ntfsfix -b -d /dev/sda6
--help
顯示它們
ntfsfix v2015.3.14AR.1 (libntfs-3g)
Usage: ntfsfix [options] device
Attempt to fix an NTFS partition.
-b, --clear-bad-sectors Clear the bad sector list -d, --clear-dirty Clear the volume dirty flag -h, --help Display this help -n, --no-action Do not write anything -V, --version Display version information
2、
只是為了清除你的一些觀點。
My attempt to run fsck results in the following :
ubuntu@ubuntu:~$ sudo fsck /dev/sda ... fsck.ext2: Bad magic number in super-block while trying to open /dev/sda
現在,這並不奇怪,因為你試圖fsck的磁盤,而不是它的分區。 fsck是什么,它試圖識別FS類型。因為你已經給它原始磁盤表面,它無法識別和使用默認類型 – ext,調用fsck.ext。
fsck.ext在該位置找不到任何FS簽名,並嘗試查找超級塊。最終它失敗了,因為它的磁盤只有NTFS分區類型。
這就是為什么你有這個錯誤。
正確的命令是:
sudo fsck /dev/sda1
這將提供第一個sata硬盤的FIRST分區,而不是第一個sata磁盤本身。
3、
我剛剛使用”testdisk”(一個Linux命令行(友好))實用程序修復了我的USB驅動器。我的驅動器甚至沒有安裝在Windows和Windows 8發現像6個分區(當驅動器只有一個)。
要使用該實用程序,請安裝它:
sudo apt-get install testdisk
然后運行它:
sudo testdisk
並按照說明進行操作。您必須搜索分區,然后寫入更改。
希望這個幫助任何人。
4、做一個ntfsfix
根本不會有幫助,只是延遲了以下的基本動作:
-
盡快備份磁盤上的所有數據
-
用新的磁盤替換磁盤
沒有必要確切地檢查SMART診斷程序 – 他們只會拾取百分比的錯誤。紅旗是兩行:
[ 1019.726558] sd 0:0:0:0: [sda] Add. Sense: **Unrecovered read error** - auto reallocate failed [ 1019.726602] JBD: **Failed to read block** at offset 462
一旦磁盤開始發出不可恢復的讀取錯誤(URE),則應立即更換,僅用於數據恢復。 (過多的non-UREs也表示需要更換)
磁盤應該被視為每幾年必須更換的耗材,因此具有非常好的備份(自動化,日常,完整,至少是外部驅動器)至關重要。