在hdparm
手册页中,该-r
选项并未被提及为危险的,但在-h
其显示的选项帮助列表中显示:
-r Get/set device readonly flag (DANGEROUS to set)
为磁盘驱动器设置只读标志是否有危险?或者这可能是一个拼写错误,因为帮助列表中的每个其他选项在手册页中都有相关的警告?
答案1
相同的选项还用于清除只读标志,将驱动器从只读转换为读/写。
对于确实不支持读/写操作的驱动器,操作系统将尝试处理程序写入驱动器的请求,驱动器可能会响应错误;但是,许多只读驱动器并未经过严格测试来处理写入命令。您的驱动器有可能不会响应高质量错误,从而导致操作系统对硬件状态的理解与机器中实际存在的硬件状态不同。
由于操作系统对硬件的理解与对硬件状态的理解“不同”,因此新命令现在正在消除对真实硬件状态的误解。操作系统可以恢复(在某些情况下)错误的硬件配置,但前提是它了解错误配置的存在。如果它知道硬件运行良好,它就不会尝试恢复硬件,并且可能会向已经处于不良状态的设备发出更多命令。
为什么没有针对每个操作都对硬件进行全面测试?对于某些硬件来说,全面测试硬件是没有意义的。例如,如果您没有测试写入 CDROM 的错误代码是否正确,很少有人会真正生气,因为其中许多人会相信操作系统永远不会写入 CDROM(因为它可以不要更换塑料盘)。
为什么硬件有时会在发出错误命令时锁定?它与许多硬件有关,这些硬件具有处理命令的程序,这些程序以必须使用很少的资源并且运行速度非常快的方式实现。这意味着对每个状态的 100% 完整处理通常不会被编程到硬件控制器中,因为在正确运行的操作系统中永远不会出现在其他命令之后发出的命令。此外,在某些情况下,响应所有命令的完全能力意味着较慢的硬件控制器,或者需要更大/更强大的芯片来存储/处理命令的硬件控制器。
我希望这些担忧能让您对“这很危险”评论背后的想法有所了解。虽然将读/写设置为“只读”通常不太危险(除非您有待处理的未完成写入),但在某些情况下将其设置为“读/写”可能非常糟糕。