Процесс определения того, "работает ли Linux" на диске, состоит из трех элементов.
Для шага 1 вы можете использовать 'parted', вызванный через subprocess.check_output () , и проанализировать возвращаемое значение.
Для шагов 2 и 4 используйте «mount» соотв. 'umount' через subprocess.check_call () , так как нет необходимости в синтаксическом анализе вывода.
Остается шаг 3, где вы можете использовать os.path.exists ()
для файлов, которые хотите изменить. Если вы не хотите их обновлять, вы также можете просто open ()
файлы и перехватить исключение, если они не существуют (в этом случае у вас, вероятно, нет раздела под управлением Linux. ).
Имейте в виду, что любые подкаталоги дерева каталогов Linux могут находиться в собственном разделе. Поэтому проверка, например, /mnt/boot/grub/grub.cfg
может не работать ни в разделе 1, ни в разделе 2, поскольку раздел 2 смонтирован в / boot
раздела 1.
, если вы монтируете разделы, вы сможете проверить, установлен ли внутри Linux Linux. Чтобы узнать, какой дистрибутив, проверьте файлы / etc / os-release
, / etc / lsb-release
, / etc / issue
и / etc. /issue.net
. Вы найдете название дистрибутива хотя бы в одном из них.