您好,我从亚马逊购买了一块 Sandisk 固态硬盘,它比我从 Sandisk 购买的完全相同的硬盘慢得多。我想知道是否有任何方法可以检查固态硬盘的使用年限和使用情况,以查看我是否购买了二手固态硬盘。我是从 Windows 开始使用 Ubuntu 的新手,所以请像对待 5 岁小孩一样解释一下。谢谢
答案1
使用这些smartmon
工具,您可以查看它Power_On_Hours
以了解驱动器启动所需的时间。
在安装后的终端窗口中smartmontools
sudo apt install smartmontools
运行以下命令获取主机中所有驱动器的通电时间:
ls /dev/sd[a-z] | while read drv; do echo -n "$drv "; sudo smartctl -a $drv | grep Power_On_Hours | awk '{print $NF}'; done
命令分解:
ls /dev/sd[az]- 列出所有驱动器 /dev/sd?AZ
读取 drv- 为找到的每个驱动器设置一个名为 $drv 的变量
执行 echo -n "$drv "; sudo smartctl -a $drv- 为每个找到的驱动器启动循环。获取找到的所有驱动器的所有参数。
grep 开机时间- 返回驱动器上的开机小时数
awk'{打印$NF}'- 仅返回最后一个字段,因为这是我们正在寻找的。
完毕: 完成循环。
它不是 100% 准确的,但可以让您了解驱动器可能在另一台打开电源的计算机上使用多长时间。
请参阅下面的示例:
terrance@terrance-ubuntu:~$ ls /dev/sd[a-z] | while read drv; do echo -n "$drv "; sudo smartctl -a $drv | grep Power_On_Hours | awk '{print $NF}'; done
/dev/sda /dev/sdb 82578
/dev/sdc 71124
/dev/sdd 32215
/dev/sde 478
/dev/sdf 28062
/dev/sdg 6698
/dev/sdh 1939
在我的列表中,我的/dev/sda
实际上不支持,smart
因为它是外部 USB 驱动器,所以它没有列出小时数,但其余的都有。是的,我的sdb
驱动器已经通电 9 年多了。它是 WD 250GB SATA 驱动器。
希望这有助于让您了解驱动器的使用时间。
答案2
您可以使用以下命令获取有关计算机中任何硬盘的详细信息hdparm
:
sudo hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: LITEON CV3-DE256
Serial Number: ABCDEFGHIJK12345 <====
Firmware Revision: TD86201
Transport: Serial, ATA8-AST, SATA II Extensions, SATA Rev 2.6, SATA Rev 3.0
...
...
从那里你可以提取序列号,并检查制造商或供应商的网站。Sand Disk 的支持网站,您必须登录/注册才能根据序列号检查信息。
正如你想要的 5 岁小孩那样的解释:
1.打开终端:
按Ctrl++AltT
或者
打开 Dash(Super,右侧的 Windows 按钮Alt)并输入终端,现在打开它。
2.使用 找出你的硬盘名称sudo fdisk -l
,应该是后面的内容磁盘 /dev/SOMETHING。系统会要求您输入密码,请输入密码,请注意,出于安全原因,密码不会显示在屏幕上。
3.复制粘贴并sudo hdparm -I /dev/sda
替换/dev/sda
为您的硬盘名称。
答案3
- 跑步
sudo apt install smartmontools
- 运行
sudo fdisk -l
以输出系统上的驱动器列表。例如,在我的系统上,我的主驱动器显示为 /dev/nvme0n1。 - 使用 验证这一点
mount | grep 'on / type'
。输出将显示相同的驱动器位置以及附加的分区号。例如,在我的系统上它是 /dev/nvme0n1p3。 - 运行
sudo smartctl --xall /dev/yourdevice
(不带 p#)。
答案4
我的 Power_on_hours 结果中有一些括号,因此我不得不修改 Terrance 的命令以将其删除。以下是对我有用的方法:
ls /dev/sd[a-z] | while read drv; do echo -n "$drv "; sudo smartctl -a $drv | grep Power_On_Hours | sed "s/([^)]*)/()/g" | tr -d '(*)' | awk '{print $NF}'; done
以下是我已行驶天数的信息:
ls /dev/sd[a-z] | while read drv; do echo -n "$drv "; sudo smartctl -a $drv | grep Power_On_Hours | sed "s/([^)]*)/()/g" | tr -d '(*)' | awk '{print $NF/24}'; done