Назад | Перейти на главную страницу

определить конкретное устройство - это USB / SATA, кроме вывода dmesg

Предположим, что на Linux-машине у вас есть как SATA, так и USB-устройства, и если все они обнаружены правильно, как узнать, является ли конкретное устройство (sda1 / sdb1) USB-устройством ИЛИ устройством SATA. Примечание: устройства необходимо монтировать вручную. Примечание: dmesg уже очищен. мы не можем использовать / var / log / messages, поскольку он тоже очищен.

Вопрос: есть ли другой способ, скажем, из / proc или любой другой команды, с помощью которой мы узнаем, что конкретное устройство (sda1 / sdb1) является SATA ИЛИ USB?

Спасибо!

Вы можете получить эту информацию из /sys виртуальная файловая система.

Бегать find /sys -name \*sd[ab]\*. Некоторые линии от моей станции:

/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/host69/target69:0:0/69:0:0:0/block/sdb
/sys/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda

В строке с sdb есть «usb», в строке с sda его нет, поэтому USB-накопитель - это sdb.

Еще одна информация, которую вы можете получить от

cat /sys/class/block/sda/removable
cat /sys/class/block/sdb/removable

файлы. Если содержимое файла равно 0, значит, устройство не съемное, поэтому это не может быть внешний USB-накопитель. Некоторые диски SATA сообщают о себе как о съемных, поэтому это не может быть окончательным.