NattyからOneiricにアップグレードしたいくつかのマシンでは、ブートごとにエラーが発生します(NTFSパーティションごとに1つ)。
Serious errors were found while checking the disk drive for /windows/c.
Press I to ignore, S to skip mounting, or M for manual recovery
この回答 の提案に従って、手動回復シェルからfsck
を実行しました。私はこの出力を得ました:
fsck from util-linux 2.19.1
fsck: fsck.ntfs: not found
fsck: Error 2 while executing fsck.ntfs for /dev/sda1
Fsck.ntfsが見つからず、command-not-found
も役に立たない。 このエラーを解消するにはどうすればよいですか?
ちなみに、Windowsがファイルシステムを修復すると思って、Windows(XP)を何度か起動してみました。しかし、どうやらWindowsはファイルシステムが問題ないと考えています。そして、allNTFSファイルシステムが影響を受けるのは奇妙です。
また、リカバリシェルにドロップしてmount -a
を発行することでこの問題を回避できますが、同僚のために無人ブートが必要です。
fsck.ntfs
は通常、ntfsfix
へのリンクにすぎません。これは、Ubuntuの標準インストールで既に利用可能なパッケージntfsprogs
からのユーティリティです。
これを永続的に解決するために、fsck.ntfsとntfsfixの間にシンボリックリンクを作成できます。
Sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
Sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs-3g
このユーティリティはリバースエンジニアリングプロセスに由来するものであり、ファイルシステムを管理する最良のオプションではないことに注意してください。NTFSファイルシステムはGNU/linuxの世界に属していません。
ntfsfix
が/bin/
の代わりに/usr/bin
にインストールされることに気付く人もいると思います。そう
Sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs
Sudo ln -nsf /bin/ntfsfix /sbin/fsck.ntfs-3g
既に/usr/bin/
からシンボリックリンクを作成している場合
Sudo rm -f /sbin/fsck.ntfs
Sudo rm -f /sbin/fsck.ntfs-3g
そして、再度シンボリックリンクを作成します。
起動時にNTFSパーティションが自動的にマウントされている場合、唯一の理由は、手動または何らかのツールを使用して/etc/fstab
に追加することです(WUBIは考慮されません)。
システムが起動時にパーティションをチェックしようとすると、/etc/fstab
の対応する行に6番目のフィールドがあり、その値は1
または2
になります。
ntfsfix
はデフォルトでfsck.ntfs
にリンクされておらず、マニュアルページで説明されているように、限られたチェック機能のみを提供します。
ntfsfixは、NTFSの一般的な問題を修正するユーティリティです。 ntfsfixは、chkdskのLinuxバージョンではありません。基本的なNTFS不整合の一部を修復し、NTFSジャーナルファイルをリセットし、Windowsへの最初の起動時にNTFS整合性チェックをスケジュールします。
一般的な解決策は、シンボリックリンクを作成するのではなく、0
の6番目のフィールドを削除するか、/etc/fstab
に設定することです。
Microの answer は機能しましたが、11.10(11.04からアップグレード)にはntfsprogsがありませんでした。 'Sudo apt-get install ntfsprogs
'はそれを解決し、リンクの提案はうまくいきました。
問題は、/usr/bin/ntfsfix
または/bin/ntfsfix
へのシンボリックリンクの欠落です。必要なリンクを作成するには:
Sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs
Sudo ln -s $(which ntfsfix) /sbin/fsck.ntfs-3
ntfsprogs
を誤ってインストールした後、同じ問題が発生します。 ntfsprogs
のインストール後、すべてのNTFSドライブが読み取り専用でマウントを開始したため、依存関係にバグがあると思います。
ntfs-3g
を引き返したとき、fsck.ntfs
は消えました。
そう:
Sudo apt-get install ntfsprogs
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
ntfs-3g
The following NEW packages will be installed:
ntfsprogs
0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded.
しかし:
apt-cache showpkg ntfs-3g
Package: ntfs-3g
Versions:
1:2011.4.12AR.4-2ubuntu3 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_oneiric_main_binary-AMD64_Packages) (/var/lib/dpkg/status)
...
Provides:
1:2011.4.12AR.4-2ubuntu3 - ntfsprogs
私はそこで何が正しい振る舞いをするべきなのか分かりませんが、それに注意してください。
2015年1月現在、ubuntu 14.04パッケージは利用できません
Sudo ln -s /bin/ntfsfix /sbin/fsck.ntfs
Sudo ln -s /bin/ntfsfix /sbin/fsck.ntfs-3g
Sudo apt-get install ntfsprogs
Package ntfsprogs is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'ntfsprogs' has no installation candidate
このスクリプトを使用して、破損したセクターの再マッピングを強制してみてください: https://techoverflow.net/blog/2015/01/07/fixing-bad-blocks-on-hdds-using-fixhdd.py/
ミラー: https://github.com/unxed/fixhdd
このスクリプトは、システムログで5秒ごとにI/Oエラーを探し、障害のあるセクターにゼロを書き込んで、hddコントローラーにそれらを再マップさせます。使用例:Sudo fixhdd.py --loop/dev/sda