我想对我的驱动器进行 SMART 测试,但它被禁用了。因此,我使用了
sudo smartctl -s on /dev/sda
但结果是
smartctl 5.41 2011-06-09 r3365 [i686-linux-3.2.0-26-generic] (local build)
Copyright (C) 2002-11 by Bruce Allen, http://smartmontools.sourceforge.net
=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Error SMART Enable failed: scsi error aborted command
Smartctl: SMART Enable Failed.
A mandatory SMART command failed: exiting. To continue, add one or more '-T permissive' options.
如何克服这个问题?
答案1
检查 BIOS 中是否启用了 SMART 功能。根据您的硬件,它位于不同的菜单上,但通常您可以在定义硬盘的位置或高级功能中找到它。
如果这还不够,您可以随后使用 hdparm 启用它。
检查是否可以使用它:
sudo hdparm -I /dev/sda
/dev/sda 是您要检查的硬盘
此命令将显示已启用或未启用的内容
如果尚未启用 SMART,您可以执行以下命令来启用它:
sudo smartctl --smart=on /dev/sda
当以错误结束时,可能意味着两件事:
- 你根本做不到
- 您需要指定使用的总线
对于第二部分,您必须提供更多详细信息(例如,hdparm -I 输出,硬盘型号,计算机或主板型号等)
最简单且 100% 确定的工作方法是通过更改 BIOS 内的值。
此致。
答案2
对于 Antoine Rodriguez 的答案不起作用的人(例如我的情况,因为我无法在 BIOS 中访问我的外部硬盘),你可能需要查看这个答案:https://unix.stackexchange.com/a/109736/197569
它指出您可以在运行 Smartmontools 时指定设备类型,如下所示:
-d TYPE, --device=TYPE
Specify device type to one of: ata, scsi, sat[,N][+TYPE],
usbcypress[,X], usbjmicron[,x][,N], usbsunplus, marvell,
areca,N, 3ware,N, hpt,L/M/N, megaraid,N, cciss,N, auto, test
您可以使用同一软件输入以下命令来查找您的设备类型:
smartctl --scan