Какой надежный способ узнать информацию о жестком диске в 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 . Благодарю.

2 ответа2

2

Это зависит от того, какую информацию вы ищете. Правильный способ заключается в использовании

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 говорит ваш компьютер.

Если этого недостаточно, возможно, вам придется прибегнуть к диагностическому инструменту, такому как smartctl .

1

Как корень:

hdparm -i /dev /XXX расскажет вам геометрию диска.

smartctl -i /dev /XXX сообщит вам аналогичную информацию, а также состояние диска.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .