hdparm
的-B
参数记录为:
获取/设置高级电源管理功能(如果驱动器支持)。低值意味着积极的电源管理,高值意味着更好?形式。可能的设置范围从值 1 到 127(允许降速)和值 128 到 254(不允许降速)。设置为 1 可以获得最高级别的电源管理,设置为 254 可以获得最高的 I/O 性能。 值 255 告诉 hdparm 在驱动器上完全禁用高级电源管理(并非所有驱动器都支持禁用它,但大多数会)。
这仅给出了两个可能的间隔,但并未描述不同值具有的其他影响。假设 63 和 127 等之间有什么区别。我找不到关于此的更多文档。它在某处描述吗?
我正在 Kali Live 中尝试 hdparm 将 ATA 密码添加到我的 Micron M600 自加密 SSD,我使用: hdparm --security-set-pass PASSWORD sda
但我得到:
sda: Issuing SECURITY_SET_PASS command, password="PASSWORD",
user=user, mode=high SG_IO: bad/missing sense data, sb[]: 70 00 05 00
00 00 00 0a 04 51 60 00 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00
Run Code Online (Sandbox Code Playgroud)
那么为什么会发生这种情况呢?
当我输入时hdparm -I sda
,它显示我的驱动器被“安全冻结”,我记得这意味着我无法更改任何安全设置,包括添加 ATA 密码,是这个问题吗?
我的 BIOS 不支持 ATA 密码,我以前从未设置过。
编辑:安全部分hdparm -I
:
Security:
Master …
Run Code Online (Sandbox Code Playgroud) 我正在尝试对hdparm
我的 512GB SSD SK Hynix 进行安全擦除。SSD 中安装了 Windows 10。
我从 USB 闪存驱动器启动 Ubuntu。
sudo fdisk -l
Run Code Online (Sandbox Code Playgroud)
我得到了很多不同的磁盘,结果/dev/sda
是我的 8GB 闪存驱动器,而不是 SSD。
SSD被列为:
Run Code Online (Sandbox Code Playgroud)Disk /dev/nvme0n1: 477 GiB, 512110190592 bytes, 1000215216 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: gpt
现在,当我尝试运行时hdparm -I /dev/nvme0n1
,终端给了我错误:
Run Code Online (Sandbox Code Playgroud)/dev/nvme0n1: HDIO_DRIVE_CMD(identify) failed: Inappropriate ioctl for device
如何hdparm
在我的 SSD 上使用安全擦除选项?根据互联网上另一个页面的建议, …
那么,什么更安全,为什么?
hdparm --security-erase-enhanced NULL /dev/sdX
Run Code Online (Sandbox Code Playgroud)
或者
dd if=/dev/zero of=/dev/sdx
Run Code Online (Sandbox Code Playgroud) 是否有类似于 hdparm 的实用程序可以在 Windows 8 上本地运行?
问题:
\n\xe2\x80\x9cidle3\xe2\x80\x9d 超时是否仍然与 2022 年 Western Digital Blue 硬盘相关,特别是对于他们的WD40EZAZ
产品线?或者我应该将hdparm -J
报告无效交换作为计时器已删除并且磁盘不会在愚蠢的短时间内自行停放的证据?
背景:
\n因此,在很长一段时间里,西部数据推出了 \xe2\x80\x9cGreen\xe2\x80\x9d,后来(我认为)重新标记为 \xe2\x80\x9cBlue\xe2\x80\x9d 硬盘,具有已知的不寻常功能如 \xe2\x80\x9cidle3 超时\xe2\x80\x9d(又名 \xe2\x80\x9cIntelliPark\xe2\x80\x9d),导致驱动器在不活动后停放磁头并进入低功耗状态。这本身可能并不是一件坏事,但出厂默认超时值被设置为 8 秒的低得离谱,这意味着如果您的驱动器平均每 10 秒被访问一次,它将继续停止工作并最终失败。症状包括异常高的Load_Cycle_Count
SMART 属性和(可能)驱动器最终过早发生故障。
西部数据(据我所知)告诉人们,如果他们有这种活动,可以使用他们的其他颜色线,但他们确实发布了一个(令人震惊的)MS-DOS 实用程序,该实用程序允许将wdidle3
计时器设置为不同的(即理智的)值。(此外,他们至少改变了一次关于原始值含义的想法,导致更多混乱。)这个实用程序是逆向工程的(我猜 \xe2\x80\x94 或者也许他们决定不作恶并记录它所做的事情)及其功能在 Linux 工具idle3ctl
(of idle3-tools
) 和-J
标志中实现hdparm
。
这不是古老的历史:我有两个 4TB 西部数据蓝色硬盘,型号WD40EZRZ-22GXCB0
,于 2020-09 购买,它实现了空闲 3 计时器,我认为默认值设置为几秒。
然而,几周前,我购买了另一块 4TB 西部数据蓝色驱动器(WD40EZAZ-00SF3B0
这次的型号),并且hdparm -J
无法idle3ctl
访问空闲 3 计时器。
我有一个旧磁盘,它经常卡在某种形式的循环中,我经常需要执行完全重启才能让它“解开”,于是我发现了这个hdparm -w
命令。但是,其联机帮助页将此命令列为危险命令:
-w
执行设备重置(危险)。不要使用此选项。它存在于不太可能的情况,否则可能需要重新启动才能使混乱的驱动器恢复到可用状态。
有哪些危险,它们是否超过了硬重启导致数据丢失的危险?
这两个选项看起来很混乱。例如:根据手册页-B 254“不允许停转”。但是,使用 -B 254 -S 1 进行测试时,驱动器确实会在 5 秒后停止旋转。
-B 查询/设置高级电源管理功能(如果驱动器支持)。低值意味着积极的电源管理,高值意味着更好的性能。可能的设置范围为值 1 到 127(允许停转)和值 128 到 254(不允许停转)。设置为 1 可实现最高程度的电源管理,设置为 254 可实现最高 I/O 性能。值 255 告诉 hdparm 在驱动器上完全禁用高级电源管理(并非所有驱动器都支持禁用它,但大多数都是这样)。
-S 将驱动器置于空闲(低功耗)模式,并设置驱动器的待机(停转)超时。驱动器使用此超时值来确定在关闭主轴电机以节省电量之前等待的时间(没有磁盘活动)。在这种情况下,驱动器可能需要长达 30 秒的时间来响应后续磁盘访问,但大多数驱动器要快得多。超时值的编码有些特殊。值为零表示“超时已禁用”:设备不会自动进入待机模式。1 到 240 之间的值指定 5 秒的倍数,产生 5 秒到 20 分钟的超时。241 到 251 之间的值指定 1 到 11 个 30 分钟单位,产生 30 分钟到 5.5 小时的超时。值 252 表示超时 21 分钟。值 253 设置供应商定义的 8 到 12 小时之间的超时期限,值 254 被保留。255 被解释为 21 分加 15 秒。请注意,某些较旧的驱动器可能对这些值有非常不同的解释。
我一直在尝试在希捷硬盘上设置密码:
sudo hdparm --user-master m --security-set-pass pwd /dev/sda
Run Code Online (Sandbox Code Playgroud)
我得到
Issuing SECURITY_SET_Pass command, password="pwd", user=master, mode=high SECURITY_SET_PASS: Input/output error
为什么我总是收到那个错误?
在我的 Linux Mint 17.1 系统上,我使用 Western Digital WD20EZRX HDD 进行备份。为了最大限度地降低功耗并延长驱动器的耐用性,我希望 HDD 通常处于停转待机状态,并且仅在明确需要时才启动。
这可以通过两种方式实现: 简单的方法是使用 手动将 HDD 设置为待机模式hdparm -y /dev/sdb
。但是,缺点是驱动器在启动期间旋转,直到被脚本再次设置为休眠。因此,我想让驱动器在 Standby,
PUIS 中通电,以防止它在第一次启动。
一些 WD 驱动器支持 PUIS,尽管它被Western Digital称为PM2,即电源管理 2 模式。使用跳线启用此功能,
如此 WD 知识库文章 中所述。可以使用hdparm
以下方法验证此配置的结果:
# hdparm -I /dev/sdb | grep "Power-Up In Standby"
* Power-Up In Standby feature set
Run Code Online (Sandbox Code Playgroud)
但是,即使在 Grub 启动屏幕显示之前,驱动器在启动过程中仍会旋转。这可能是一个错误配置的引导加载程序,它在所有连接的 HDD 上寻找操作系统?
hdparm ×10
hard-drive ×8
linux ×6
ata ×2
boot ×1
disk-cleanup ×1
grub ×1
opal ×1
secure-erase ×1
security ×1
ssd ×1
standby ×1
ubuntu ×1
windows-8 ×1