假设在linux机器中同时存在SATA和USB设备,如果它们都被正确检测到,那么如何知道特定的设备(sda1 1/ sdb1)是USB设备还是SATA设备。注意:设备需要手动安装。注意: dmesg已经清除。我们不能使用/var/log/消息,因为它也被清除了。
问题是:是否有其他方法,比如从/proc或任何其他命令中知道特定设备(sda1 1/sdb1 1)是SATA或USB?
谢谢!
发布于 2011-05-18 12:56:32
您可以从/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“,所以USB驱动器是sdb。
你可以得到的另一条信息是
cat /sys/class/block/sda/removable
cat /sys/class/block/sdb/removable文件。如果文件的内容是0,那么设备是不可移动的,所以它不能是外部USB驱动器。一些SATA驱动器报告自己是可移动的,所以它可能不是确定的。
https://serverfault.com/questions/270839
复制相似问题