11

Например, если я загружаюсь из Windows PE, или удаленно, в систему с помощью psexec или другого метода, основанного на командной строке. Я знаю, что diskpart.exe позволяет вам установить активный раздел, но я не могу найти какой-либо способ узнать, какой раздел активен в данный момент.

Надеюсь, есть простой ответ, и я просто скучаю по нему ...

4 ответа4

14

Единственный способ, которым я знаю, как это сделать, близко к тому, что поставил @Maximus, но делаю следующее:

diskpart.exe
select volume 1
detail partition

Выход будет указывать

Active: Yes/No

Например:

Вы должны пройти каждый том, чтобы найти, какие из них являются активными, а какие нет. Вы можете использовать команду list volume Diskpart, чтобы показать все тома и найти тот, который вы хотите проверить первым.

7

Вы можете использовать wmic для этого. Вы можете экспортировать его в текстовый файл (>output.txt) и просматривать без переноса слов, поскольку табличный вывод может быть очень широким.

Чтобы вывести список всех разделов (посмотрите на участника BootPartition чтобы проверить, помечен ли он как active):

wmic partition

Чтобы вывести список только активных разделов, выберите where:

wmic partition where BootPartition=true

Чтобы отфильтровать, какие столбцы отображаются, используйте get:

wmic partition where BootPartition=true get DeviceID,Size

Также:

wmic partition get DeviceID,Size,BootPartition

Для получения дополнительной информации о членах partition см. Документацию Win32_DiskPartition.

BootPartition

Тип данных: логический Тип доступа: только для чтения

Раздел является активным разделом. Операционная система использует активный раздел при загрузке с жесткого диска.


Посмотрите на синтаксис WQL для получения дополнительной информации об использовании where . Взгляните на wmic partition get /? для получения дополнительной информации о get .


С wmic вы добавили преимущества удаленного управления, используя ключ /node:<servername or ip> (см. wmic /node /? для дополнительной информации. Согласно Microsoft:

WMIC может использоваться с любого компьютера с включенным WMIC для удаленного управления любым компьютером с WMI. WMIC не обязательно должен быть доступен на удаленно управляемом компьютере, чтобы WMIC мог им управлять.


Если вы можете найти какой-то программный способ (например, пакетный сценарий) получить букву диска из индекса диска и раздела, вы можете использовать цикл for с членами DiskIndex и Index (индексы диска и раздела соответственно).

2

Как фанаты Cygwin, я рекомендую использовать утилиту fdisk из пакета util-linux, если вы не используете GPT.

Если вы используете удаленное взаимодействие с системой, вам необходимо установить Cygwin в этой системе.

Если вы загружаетесь из Windows PE, вы можете вручную загрузить пакеты и извлечь их, используя подходящий декомпрессор, который может обрабатывать файлы .tar.bz2.

Пакеты, необходимые для загрузки для запуска fdisk

Пример (1 жесткий диск, 1 флешка)

$ uname -svr
CYGWIN_NT-5.1 1.7.17(0.262/5/3) 2012-10-19 14:39

$ /usr/sbin/fdisk -l | grep /dev/
Disk /dev/sda: 320.1 GB, 320072933376 bytes
/dev/sda1   *          63    83891429    41945683+   7  HPFS/NTFS/exFAT
/dev/sda2        83891430   625137344   270622957+   f  W95 Ext'd (LBA)
/dev/sda5        83891493   503332514   209720511    7  HPFS/NTFS/exFAT
/dev/sda6       503332578   625137344    60902383+   7  HPFS/NTFS/exFAT
Disk /dev/sdb: 8065 MB, 8065646080 bytes
/dev/sdb1   *          32    15753214     7876591+   b  W95 FAT32
1
select disk 0
detail disk

Посмотрите в последний столбец (Система)?

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