Python-如何使用驱动器路径确定Linux中的启动驱动器

时间:2019-03-26 09:51:47

标签: linux python-2.7

从/ dev / sg0或/ dev / sg1之类的设备列表中,我想找到Linux中的引导驱动器。

对于获得不同类型值的不同机器。

情况1:

device = subprocess.check_output(["sudo", "sg_map26", "/dev/sg0"]),它将为“ / dev / sda”(对于/ dev / sg0)或“ / dev / sdb”(对于dev / sg1)这样的驱动器提供安装路径。

当我使用上述设备路径时,这两个是引导驱动器安装路径吗?

案例2:

xyx@myhost:~$ mount | grep -E '(/|/boot) '
/dev/sda1 on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)

如何使用设备路径进行映射以进行识别?

但是此命令为如下所示的某些客户端返回LVM2值

案例3:

xyz@myhost:~$ mount | grep -E '(/|/boot) '
“/dev/mapper/ubuntu—vg--root”

因此,当使用LVM2引导系统时,很难映射到设备路径来找到哪个引导设备。

如果您可以帮助查找具有给定设备路径的启动驱动器,将很有帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

from subprocess import check_output

df = check_output(['df']).decode()
dflines = df.split('\n')
for line in dflines:
        if '/boot' in line:
                print(line.split(' ')[0])

这给出了Linux从中引导的块设备/分区的名称。 在Debian 9上使用python 3.8进行了测试