背景:某天当我打开自己的设备,突然发现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也表示需要更换)
磁盘应该被视为每几年必须更换的耗材,因此具有非常好的备份(自动化,日常,完整,至少是外部驱动器)至关重要。