Hdparm

為什麼在 hdparm 中設置設備只讀標誌很危險?

  • November 24, 2021

hdparm手冊頁-r中沒有提到該選項是危險的,但在顯示的選項幫助列表中-h說:

-r Get/set device readonly flag (DANGEROUS to set)

為磁碟驅動器設置只讀標誌是否有危險?或者這可能是一個錯字,因為幫助列表中的每個其他選項在手冊頁中都有相關的警告?

相同的選項也用於清除只讀標誌,將驅動器從只讀轉換為讀/寫。

對於真正不支持讀/寫操作的驅動器,作業系統會嘗試處理程序寫入驅動器的請求,驅動器可能會響應錯誤;但是,許多只讀驅動器並未針對處理寫入命令進行大量測試。您的驅動器有可能不會以高質量錯誤響應,從而導致作業系統對硬體狀態的理解與機器中實際存在的不同。

由於作業系統對硬體的理解與對硬體狀態的理解“不同”,因此新命令現在正在解決對真實硬體狀態的誤解。作業系統可以恢復(在某些情況下)錯誤的硬體配置,但前提是它知道存在錯誤的配置。如果它知道硬體執行良好,它就不會嘗試恢復硬體,並且可能會向已經處於不良狀態的設備發出更多命令。

為什麼沒有針對每項操作對硬體進行全面測試?對於某些硬體,完全測試硬體是沒有意義的。例如,如果您沒有測試寫入 CDROM 的錯誤程式碼是否正確,很少有人會真正生氣,因為其中許多人會相信作業系統永遠不會寫入 CDROM(因為它可以不要更換塑膠盤)。

為什麼在給出錯誤命令時硬體有時會鎖定?它與許多硬體有關,這些硬體具有處理命令的程序,這些程序以一種必須使用很少資源且執行速度非常快的方式實現。這意味著每個狀態的 100% 完全處理通常不會被程式到硬體控制器中,因為在正常執行的作業系統中永遠不會看到在其他命令之後發出的命令。此外,在某些情況下,響應所有命令的完全能力意味著較慢的硬體控制器,或者需要更大/更強大的晶片來儲存/處理命令的硬體控制器。

我希望這些擔憂能讓您對“這很危險”的評論有所了解。雖然將讀/寫設置為“只讀”通常不太危險(除非您有一個未完成的寫入待處理),但在某些情況下將其設置為“讀/寫”可能非常糟糕。

引用自:https://unix.stackexchange.com/questions/665576