Ubuntu 启动几天后,有什么可靠的方法可以查看硬盘信息吗?
$ uptime
21:18:59 up 15 days, 10:46, 11 users, load average: 1.01, 0.82, 0.65
我知道通常可以在重启时从获取硬盘信息dmesg
,但我的系统仅启动了 15 天,我已经丢失了该信息。
这FreeBSD 查找所有已安装的硬盘信息说检查/var/run/dmesg.boot
文件。Linux 命令查找 SATA说要检查一个名为的日志文件/var/log/messages
。但在我的 Ubuntu 下,我没有这些文件:
# Run as root,
% ls /var/run/dmesg.boot || echo no found
ls: cannot access /var/run/dmesg.boot: No such file or directory
no found
& ls /var/run/dmesg* || echo no found
ls: cannot access /var/run/dmesg*: No such file or directory
no found
% ls /var/log/me* || echo no found
ls: cannot access /var/log/me*: No such file or directory
no found
% lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 15.04
Release: 15.04
Codename: vivid
# and I've also checked:
% cat /var/log/dmesg
(Nothing has been logged yet.)
% grep -i ata /var/log/boot.log
Starting Increase datagram queue length...
[ OK ] Started Increase datagram queue length.
Starting Tell Plymouth To Write Out Runtime Data...
[ OK ] Started Tell Plymouth To Write Out Runtime Data.
我的syslog
说我的有问题ata2
,但是,由于 Linux/Ubuntu 总是交换磁盘顺序,我想确切地知道我的 3 个驱动器中哪一个是ata2
。谢谢。
答案1
这取决于您要搜索的信息类型。正确的方法是使用
udevadm info -a -n /dev/sda
这将返回所有udev
已包含的信息。如果您想要分区表,
parted /dev/sda
并且p(对于打印)将显示分区表。如果您想查看 MBR(如果你有一个),那么
dd if=/dev/sda of=mbr.bin bs=512 count=1
hexdump -C mbr.bin
如果你希望在当前会话中生成消息(包括错误消息),那么
dmesg | grep sda
或类似的东西。dmesg
显示存储在 中的消息/var/log/dmesg
。当然,除非您使用systemd
,在这种情况下上述命令仍然有效,但您可以按如下方式显示内核消息:
sudo journalctl | grep sda
(sudo
很重要,如果省略它,您将只显示用户日志,而不是内核的日志)。
或者,您可以通过以下方式查询磁盘的常规信息
lshw -C disk
或者您可以使用dmidecode
(在较新版本的 Linux 上不可用),它允许您访问 BIOS 中显示的硬件(或更确切地说,在 SMBIOS,系统管理 BIOS 中)。请注意,这不会扫描您的系统,而只是报告 BIOS 所说的您的 PC 的情况。
如果这还不够,你可能不得不求助于诊断工具,例如smartctl
。
答案2
以 root 身份:
hdparm -i /dev/XXX 将告诉您磁盘的几何形状。
smartctl -i /dev/XXX 将告诉您类似的信息以及磁盘状态。