Как определить, подключен ли раздел EFI в Windows с помощью пакетного скрипта?
Я пытаюсь написать пакетный скрипт, чтобы определить, смонтирован ли раздел EFI в Windows.
В конечном итоге моя цель - использовать mountvol /S
(монтировать системный раздел EFI), только если раздел EFI еще не смонтирован.
diskpart
утилита с list volume
Команда имеет некоторую потенциально полезную информацию, как и mountvol
само по себе, но похоже, что оба из них потребуют некоторого анализа строки.
Есть ли способ лучше?
2 ответа
Я не уверен, что есть более простой способ... но разбор не так уж важен. Вот то, что должно делать то, что вам нужно:
@echo off
setlocal enabledelayedexpansion
echo list volume > listvol.tmp
REM Checks for "efisys" in the list volume function. If it finds it, checks status. If not healthy sets var to No
for /F "tokens=6-9 delims= " %%G IN ('diskpart /s listvol.tmp') DO IF /I %%G==efisys set mounted=%%J
if '%mounted%'=='Healthy' set mounted=Yes
if not '%mounted%'=='Yes' set mounted=No
echo Is EFI drive mounted?
echo %mounted%.
pause
del listvol.tmp
endlocal
Отредактировано, потому что я анализировал неправильное значение.
Для монтирования раздела EFI в Windows, например. Win10. Измените свою учетную запись на Администратора и щелкните правой кнопкой мыши на значке окна (слева) и выберите "Командная строка (Admin)", затем введите "diskpart", затем "выберите диск 1" (или "0", попробуйте), затем "выберите раздел 1'затем' назначьте букву =b'и YUP;).