關閉所有 USB 外部磁碟機上的寫入快取 (Debian / Ubuntu / Linux)

關閉所有 USB 外部磁碟機上的寫入快取 (Debian / Ubuntu / Linux)

如何在 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 都會關閉。我認為一定有比這更好的方法..

還有其他想法嗎?或者更好的方法?謝謝你!

答案1

您需要使用 -K 選項。來自 man 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.

相關內容