1

Кто-нибудь знает способ определения ОС, установленной на отдельном размонтированном разделе, без монтирования ее в Linux? Я пытаюсь определить, какая Windows установлена со сценарием, в то время как Live загружается в Linux, и не могу понять, как это сделать.

Он запускался в rc.local, поэтому я не могу легко подсказать пользователю (я мог бы выйти из Плимута, но я бы предпочел не делать этого)

Спасибо

3 ответа3

2

Чтобы изучить саму файловую систему, а не просто код типа раздела, вы можете использовать утилиту blkid в Linux. Вы можете передать ему идентификатор раздела или использовать его без каких-либо опций, чтобы он проверял все дисковые устройства:

$ sudo blkid /dev/sdb1
/dev/sdb1: UUID="66F7-FD24" TYPE="vfat"

Конечно, тип файловой системы не совсем диагностический; FAT может использоваться практически любой операционной системой, например. (В этом примере раздел на самом деле является системным разделом EFI (ESP), который содержит файлы загрузчика.) Раздел NTFS может быть загрузочным разделом Windows, разделом аварийного восстановления Windows или не загружаемым разделом данных. В зависимости от того, насколько надежным должен быть ваш сценарий, вам может потребоваться смонтировать раздел и начать поиск диагностических файлов, чтобы выяснить назначение раздела.

1

Это получит список разделов NTFS:

fdisk -l | awk '/NTFS/{print $1;}'

Вы не сказали, что вы хотели сделать с этой информацией. Обратите внимание, что не все эти разделы обязательно являются загрузочными.

Род Смит предлагает использовать blkid . Чтобы получить аналогичный список разделов NTFS от blkid , используйте:

blkid -t TYPE="ntfs" -o device
0

Вы можете посмотреть на таблицу разделов устройства хранения, чтобы найти тип раздела. Если это NTFS, это, вероятно, какой-то вкус Windows. Если это ext4, возможно, это какой-то вкус Linux. Если это какая-то разновидность HFS+, то, вероятно, какая-то разновидность OS X.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .