Я пытаюсь написать сценарий удаления/резервного копирования раздела OEM (что просто возвращает систему к устаревшей версии, не имеющей практического применения).
Во многих системах использование DISKPART list partition
возвращает больше разделов типа recovery
: один является официальным разделом Microsoft Recovery Tools (WinRE), а другие исходят от OEM-производителей.
Первым шагом является безопасное определение положения раздела WinRE. Я не нашел прямого пути в bcdedit
или PS, кроме:
$renv=(bcdedit /enum "{default}" | Select-String "^recoverysequence" | Out-String | Select-String "{.+}").Matches.Value
(bcdedit /enum $renv | Select-String "^device" | Out-String | Select-String "\[.+\]").Matches.Value
Это возвращает строку вроде:
[\Device\HarddiskVolume1]
где номер тома — это раздел, который будет использоваться в Diskpart
. (Остальные разделы восстановления и разделы типа OEM могут быть заархивированы).
Это правильная процедура для идентификации раздела WinRE?
Есть ли более прямой и / или лучший подход?