2016-11-03 5 views
0

Если я использую GetWindowsDirectory из своих онлайн-окон, я могу получить каталог, в котором установлена ​​ОС, например C: \ Windows.Как получить букву диска Windows из Windows PE?

Если я использую ту же функцию из Windows PE, я бы получил как X:\Windows (например, скриншот), ведьма означает каталог Windows из самого Windows PE. Как получить автономный каталог Windows? Как D:\Windows, или что бы там ни было.

enter image description here

Любая функция, которую вы можете предложить?

+0

Не могли бы вы определить, что вы называете «автономным каталогом Windows»? –

+0

Я имею в виду. Когда вы находитесь в среде Windows PE, вместо этого вы используете небольшую ОС, а Windows получает другой диск. Таким образом, обычно есть два диска, в которых есть все папки ОС, такие как Windows и Program Files. Мне нужно получить диск или каталог из автономной системы, а не из нее. –

+0

Я использую WinPE для развертывания WIM-изображений для целевой платформы x86 без экрана, а каталог Windows указывает на виртуальную папку X: \ Windows ... Это активная ОС. –

ответ

0

Утилита (доступна в WinPE и/или Windows) под названием mountvol.exe, в которой будут перечислены все смонтированные тома. Вы - winpe drive всегда x:, а установка «офлайн» часто (но не всегда) устанавливается на d:.

Существуют также API Windows для перечисления томов, а также FindFirstVolume и FindNextVolume. Это будут нестационарные тома, и вы можете назначить букву диска для размонтированных томов.

После того, как у вас есть список томов, вам нужно взглянуть на каждый, чтобы решить, нужен ли вам «целевой» том - вещи, такие как метка тома - наличие \ Windows и/или проверка bcd, чтобы определить, какие тома загружаются. Это не тривиально, но это возможно. База данных bcd на самом деле представляет собой куст реестра Windows, который вы можете монтировать только для чтения ... и это работа, чтобы дразнить информацию из нее.

Даже если автономный том не установлен (что было бы необычно), вы все равно можете изучить содержимое тома с помощью API окон, но вам нужно использовать префикс \\?\ и идентификатор тома (а не букву диска). Легче просто установить громкость.

Если вы действительно не можете найти автономный том, убедитесь, что физический диск присутствует. Если это не так, вам может потребоваться добавить драйверы для конкретного жесткого диска на ваш образ winPE. Как правило, вы можете получить их из операционной системы, использующей диск. В DISM есть /addDriver подкоманда для копирования драйверов из хранилища драйверов. Люди часто просто указывают на существующее хранилище драйверов на компьютере, где вы строите .wim.