Linuxで外付けUSBドライブの書き込みキャッシュを永続的にオフにするにはどうすればよいですか(Ubuntuを使用しています)
私はもう試した:
コマンドラインメソッド:hdparm -W0/dev/sdb <----これは機能しますが、現在のドライブに対してのみ機能し、再起動後にリセットされます。
Hdparm "-k1"フラグは、設定を維持するように強制する必要がありますが、次のように表示されます。
HDIO_SET_KEEPSETTINGSが失敗しました:引数が無効です
HDIO_GET_KEEPSETTINGSが失敗しました:引数が無効です
構成ファイルの方法(永続的に行う別の方法のようです):次に見つけたのは、/ etcにある「hdparm.conf」ファイルを変更することでした。ただし、そのためには、ドライブ文字「sdb、sdc ...」などを事前に知っておく必要があるようです。
何があっても、すべてのドライブ、具体的にはすべてのUSB外部を包括的にカバーするにはどうすればよいですか?
重要な問題は..これらのUSB外付けドライブを接続する順序がわからないため、ドライブ文字が変更されるため、「sdb」ではない可能性があるため、具体的に「sdb」という名前を付けることはできません。 。
これは、接続されていないドライブ文字であっても、hdparm.confが複数回エントリを持つ可能性がある状況ですか?そうすれば、どのドライブが接続されていても、write_cacheがプリエンプティブにオフになります。それともそれは何かを台無しにするでしょうか?
可能性/ etc/hdparm.conf例(これは機能しますか?):
/dev/sda {
write_cache = off
}
/dev/sdb {
write_cache = off
}
/dev/sdc {
write_cache = off
}
/dev/sdd {
write_cache = off
}
繰り返しになりますが、これらのドライブはまだ存在していない可能性があります...アルファベットの文字を先制的にカバーするだけなので、何があっても、write_cacheはオフになっています。しかし、これよりも良い方法があるはずだと思います。
他のアイデアはありますか?またはより良いアプローチ?ありがとうございました!
-Kオプションを使用する必要があります。男hdparmから
-k Get/set the "keep_settings_over_reset" flag for the drive. When this flag is set, the drive will preserve the -dmu settings
over a soft reset, (as done during the error recovery sequence). This option defaults to off, to prevent drive reset loops
which could be caused by combinations of -dmu settings. The -k option should therefore only be set after one has achieved
confidence in correct system operation with a chosen set of configuration settings. In practice, all that is typically nec‐
essary to test a configuration (prior to using -k) is to verify that the drive can be read/written, and that no error logs
(kernel messages) are generated in the process (look in /var/adm/messages on most systems).
-K Set the drive´s "keep_features_over_reset" flag. Setting this enables the drive to retain the settings for -APSWXZ over a
soft reset (as done during the error recovery sequence). Not all drives support this feature.