マウントするときに、$MFTMirr does not match $MFT NTFS is either inconsistent, or there is a hardware faultのエラーが出る場合

LinuxサーバにNTFSフォーマットのHDDやSSDなどのストレージをマウントするとき、次のようなエラーが出ることがあります。

Windowsでの修復
Linuxコマンドでの修復

[参考記事] LinuxサーバでWindowsのファイルシステムNTFSを読み込む方法
[参考記事] LinuxでNTFS(Windows形式)のフォーマットをする方法
[参考記事] NTFSフォーマットのストレージの読み書きが異常に遅い場合
[参考記事] NTFSのディスクをLinuxにマウントすると読み込み専用でマウントされてしまう

$MFTMirr does not match $MFT (record 0).
Failed to mount '/dev/sde1': 入力/出力エラーです
NTFS is either inconsistent, or there is a hardware fault, or it's a SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows then reboot into Windows twice. The usage of the /f parameter is very important! If the device is a SoftRAID/FakeRAID then first activate it and mount a different device under the /dev/mapper/ directory. Please see the 'dmraid' documentation for more details.

日本語訳

NTFSに一貫性がないか、ハードウェア障害があるか、SoftRAID / FakeRAIDハードウェアです。最初のケースでは、Windowsでchkdsk /fを実行してから、Windowsを2回再起動します。 /fパラメーターの使用法は非常に重要です!デバイスがSoftRAID/FakeRAIDの場合は、最初にデバイスをアクティブにして、/dev/mapper/ ディレクトリの下に別のデバイスをマウントします。詳細については、「dmraid」のドキュメントを参照してください。

ファイルシステムの整合性が破損していることが主な理由です。

Windowsでの修復

修復するためには一度ストレージをLinuxから外し、Windows端末につなぐことで解消されることがあります。
特にコマンド操作などをせずに、Windowsに接続するだけでディスクの内容を見ることができる場合が多いです。
ただし正常な修復はされていないので、修復操作を行うほうがよいです。
この状態でLinuxに再度接続すると、ディスクの読み書きは行えるものの、ディスクを正常に修復しようとする動作が常に発生しディスクが極端に遅くなることがあります。

修復をする場合は、コマンドプロンプトでディスクチェックを行います。

chkdsk D: /f

この症状が発生する原因は、ディスクアクセス中にストレージを切断した場合などです。
(書き込み試行のファイル情報がHDDに残ったままになっていたり)

インデックスが破損していると修復作業で完全に修復することができず、FOUND.000などのフォルダにファイルが保存されることがあります。

またストレージを外して修復のできないクラウドサーバなどでは修復が難しいので、導入時のストレージ選定では考慮する点かもしれません。

Linuxコマンドでの修復

Linuxでもディスクチェックのコマンドはあり、修復できる場合があります。

ntfsfix /dev/sda1

成功時の実行例は下記です。

# ntfsfix /dev/sda1
Mounting volume... $MFTMirr does not match $MFT (record 0).
FAILED
Attempting to correct errors... 
Processing $MFT and $MFTMirr...
Reading $MFT... OK
Reading $MFTMirr... OK
Comparing $MFTMirr to $MFT... FAILED
Correcting differences in $MFTMirr record 0...OK
Processing of $MFT and $MFTMirr completed successfully.
Setting required flags on partition... OK
Going to empty the journal ($LogFile)... OK
Checking the alternate boot sector... OK
NTFS volume version is 3.1.
NTFS partition /dev/sda1 was processed successfully.

またはディスクをチェックするコマンドfsckを使います。

fsck /dev/sde

修復を行うには、aオプションを付けます

fsck -a /dev/sde

fsckはファイルシステムごとのチェックコマンドを呼び出して、実行しています。
ファイルシステムに対応するfsckがないと実行できません。

# ls -al /usr/sbin/ | grep fsck
lrwxrwxrwx.  1 root root         8  5月 11  2019 dosfsck -> fsck.fat
-rwxr-xr-x.  4 root root    336608  7月 17  2020 e2fsck
-rwxr-xr-x.  1 root root     54888  1月 21 02:04 fsck
-rwxr-xr-x.  1 root root     42520  1月 21 02:04 fsck.cramfs
-rwxr-xr-x.  4 root root    336608  7月 17  2020 fsck.ext2
-rwxr-xr-x.  4 root root    336608  7月 17  2020 fsck.ext3
-rwxr-xr-x.  4 root root    336608  7月 17  2020 fsck.ext4
-rwxr-xr-x.  1 root root     66688  5月 11  2019 fsck.fat
-rwxr-xr-x.  1 root root    101272  1月 21 02:04 fsck.minix
lrwxrwxrwx.  1 root root         8  5月 11  2019 fsck.msdos -> fsck.fat
lrwxrwxrwx.  1 root root        13 10月  9  2019 fsck.ntfs -> ../bin/ntfsck
lrwxrwxrwx.  1 root root         8  5月 11  2019 fsck.vfat -> fsck.fat
-rwxr-xr-x.  1 root root      1968  1月 12 03:29 fsck.xfs

fsck.ntfsがない場合は、ntfsprogsなどをインストールします。

yum install --enablerepo=epel ntfsprogs

fsck.ntfsでは、ボリュームのチェックは行えるものの修復は行えないことがあります。

環境によるのかもしれませんが、CentOS7からCentOS8に変更してからNTFSのエラーが多くなった気がします。

関連記事

スポンサーリンク

Raspberry Pi 4 Model Bのチップ・無線LANアンテナ

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る