web-dev-qa-db-ja.com

Windowsのクラッシュが原因でLinuxにNTFSパーティションを「安全でない状態」でマウントさせるにはどうすればよいですか?

WindowsとLinuxの間で共有されるNTFSパーティションがあります。このパーティションはLinuxのホームフォルダを保持しているので、読み取り/書き込みモードでマウントできること、およびログインする前にマウントされることが重要です

Windowsの高速ブートを無効にして、パーティションが「安全でない状態」のままにならないようにしました。これは、Linuxが読み取り専用モードでマウントするか、まったくマウントしないかのいずれかです(エラーメッセージ このように )。ただし、Windowsはある程度定期的にクラッシュするため、パーティションが安全でない状態になります。

私はこれを回避するために多かれ少なかれntfsfixをうまく使用しましたが、今日それが私のファイルのいくつかを破壊したので、それは本当の解決策ではないようです。 (アクセスしようとすると、[errno 5] input/output errorエラーが発生します。)

現在、/etc/fstabに次の行でパーティションをマウントしています。

UUID=78C806C74DE61D21   /mnt/data   ntfs    defaults,uid=rawing,rw      0 0

これに伴う問題は、パーティションが安全でない状態のままになっている場合、パーティションを読み取り専用モードでサイレントにマウントすることです。通常、気付くのに数分かかりますが、これは非常に面倒です。


だから、私の質問は:

  • Windowsがクラッシュした場合でも、NTFSパーティションを「安全な」状態のままにすることは可能ですか? (NTFS形式のパーティションに代わるものがある場合は、それを聞いて喜んでいますが、ホームフォルダーを保持する必要があることに注意してください)
  • いいえの場合、とにかく「安全でない」パーティションを読み取り/書き込みモードでマウントするようにLinuxを構成することは可能ですか。データ損失のリスクなしに?
  • いいえの場合、少なくともLinuxに「パーティションが読み取り専用モードでマウントされました!」のような警告を表示させることはできますか?すぐに問題に気付くように?
1
Aran-Fey

最後に聞いたところによると、Linuxプログラムは/home内の一部のファイルのアクセス許可と所有権機能に依存することが多く、これらの機能はNTFSによって提供されないため、NTFSはLinux /homeパーティションとしての使用には適していませんでした。たとえば、~/.ssh/内の一部のファイルは、正しく機能するために特定の権限が必要です。したがって、/homeには、NTFSまたはその他のLinux以外のファイルシステムを使用しないでください。 (あなたLinux/Unixスタイルのファイルシステム機能を提供するHFS +または他の何かを使用することで逃げることができるかもしれませんが、それはほとんどの人が横断したことのない領域です。)

WindowsとLinux間でファイルを共有するには、共有データパーティションを/home、または/home/{your-username}以外の場所にマウントするのが最適です。ただし、/home/{your-username}/sharedなどのその場所のサブディレクトリにマウントすることもできます。物事を機能させるのに役立つ場合は、共有ディレクトリ内の場所を指すシンボリックリンクを作成することもできます。

または、/homeにLinuxネイティブファイルシステムを使用し、そのファイルシステムにWindowsドライバーを使用することもできます。 Ext2fsd やParagonの ExtFS for Windows。 など、いくつかのそのようなドライバーが存在します。それらのうちの1つが機能するか、または互いに推奨します。

あなたの質問にもっと直接的に取り組むために:mount.ntfsユーティリティはあなたが望むことをするかもしれないいくつかのオプションを含んでいます。私の目には、最も有望なのはrecoverです。これは、一貫性のない状態であるとフラグが立てられている場合でも、NTFSボリュームのマウントを強制することになっています。ただし、これは私が「安全」と呼ぶものではないことに注意してください。 Windowsを起動して修復するなど、ボリュームで他のことを行う前にファイルを回復する方法として、これを読み取り専用マウントと組み合わせて試すだけです。このオプションを試したことがないので、実際に何ができるかを約束することはできません。試してみる必要がある場合は、最初に「スクラッチ」ボリュームを試してみるか、Webでそれを使用している人々のレポートを検索することをお勧めします。

Linux ntfsfixプログラムがNTFSボリュームを修復すると思うかもしれません。しかし、それは非常に最小限のチェック、さらに最小限の修復を行い、Windowsで注意が必要であるとフラグを立てます。したがって、NTFSボリュームの修復は、実際にはWindowsのみの操作であるAFAIKです。実際問題として、デュアルブートコンピュータがクラッシュした場合(いずれかのOSを実行している場合)、Windowsで起動して、Linuxで起動する前にWindowsが共有NTFSファイルシステムを修復できるようにすることをお勧めします。 (現時点では、WindowsでもFATファイルシステムを修復できますが、Linuxには少なくとも適切なFAT修復ツールdosfsckが用意されているため、必要に応じてFATパーティションをLinuxから修復できます。)

2
Rod Smith

たぶん今は役に立たないかもしれませんが、私は このリンク 私のために働いたのと同じ問題を見つけました。

これは、永続的な解決策としてWindows 8および10の高速起動を無効にすることを提案し、一時的な解決策としてコマンドSudo ntfsfix /dev/sdXY。理解を深めるために投稿全体を読んでください...

2
biayo