exfatへの書き込みはロード間で持続しませんか?

exfatへの書き込みはロード間で持続しませんか?

私...

  • 音楽を保存するためにSamsung Galaxy S4用microSDカードを購入しました。
  • S4に挿入してカード(exFat)をフォーマットしてください。
  • ヒューズ-exfatとexfat-utilsをインストールし、マイコンピュータにカードを挿入しました(Fedora 21、Gnome 3.14)。
  • 音楽をカードにコピーします。
    • ディレクトリ構造: Cards/Music/Artists/Albums/SongTitle.ogg
  • ファイルを開く - よく再生されます。
  • カードのアンロード
  • カードを取り出す
  • カードをコンピュータに挿入し直してください。
  • 多くのファイルやフォルダが表示されなくなっています。

    • すべてのアーティストフォルダが表示されます。
    • 一部のアルバムフォルダが表示されない
    • ほとんどの曲ファイルは表示されません。
    • ファイルとフォルダの両方が消える別のポイントがあるようです(たとえば、アルファベットの先頭が正常にコピーされました)。しかし、フォルダはファイルよりも離れています。

ベストアンサー1

カードを取り出す前に取り外しについて言及していませんでした。質問を書くときにこれが欠けていない場合、それは問題です。

あらゆる種類のディスクに書き込むことはバッファリング: オペレーティングシステムは、書き込みのためにデータをメモリに蓄積し、便利であると判断するとディスクに書き込みます。アプリケーションがファイルを書き込む順序でデータが必ずしもディスクに書き込まれるわけではありません。

これは通常アプリケーションに完全に透過的です。アプリケーションがディスクからデータを再度読み取るときにそのデータがバッファでまだ待機している場合は、そのデータを取得します。

しかし、ディスクが突然排出されると、記録されていないすべてのバッファが失われます。ディスクを再挿入すると、オペレーティングシステムはディスクが同じディスクであることを知ることができず、その間に他のコンピュータでディスクが変更されなかったため、ディスクは戻りません。 (とにかく、OSがディスクが消えたことを検出すると、バッファの内容はどの用途にも使用できないため、メモリバッファを他の目的に再利用します。)

ディスクを取り出す前に、オペレーティングシステムにディスクを使用しなくなったことを知っておく必要があります。これは…削除(ファイルシステムを使用してシステムを起動する反対のタスクを呼び出します。インストールする)。システムにファイルシステムをアンマウントするように指示すると、ディスク上のデータが最新の状態になるようにすべてのバッファをフラッシュします。一般的なデスクトップ環境では、ディスクを挿入するとすぐに自動的にマウントされます。ディスクを取り外す前に、システムに取り外しを指示する必要があります。ディスクが取り外されると、システムを取り外すには遅すぎます。多くのファイルマネージャには「アンマウント」または「取り出し」ボタンが表示され、ファイルマネージャがタスクが完了したことを知らせるのを待ちます(残りのデータ量によっては数秒かかることがあります)。カード。

これはexfat、btwとは何の関係もなく、すべてのファイルシステムとメディアで発生します。

カードの書き込みが自動的に行われるように設定できます。速度がはるかに遅くなり、書き込み回数が増えると安価なフラッシュメディアがすばやく磨耗するため、これを行わないでください(フラッシュメディアはブロックを書き換えることができる回数が制限され、更新のためにブロックを繰り返し書き換えます)。少量は、一度に大量のデータを書き込むよりも効率が悪くなります。

おすすめ記事