Предположим, что на 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 сообщают о себе как о съемных, поэтому это не может быть окончательным.