Как редактировать/удалить/добавить пункты загрузки в загрузочное меню UEFI?Качаем UEFI Shell, копируем его в файл /EFI/boot/bootx64.efi на FAT32 флешку, и загружаемся с нее. После удачной загрузки шелла должно появиться приглашение командной строки
Shell>Выше приглашения должен отобразиться список имеющихся подключенных дисков (fs0:, fs1:, BLK0, и тому подобное). Чтобы еще раз вызвать этот список в случае необходимости, воспользуйтесь командой
map fs*Из полного имени диска можно почерпнуть некоторую информацию о диске. Например:
PciRoot(0x0)/Pci(0x1,0x1)/
Ata(0x0)/
HD(
1,
MBR,0x27212721,0x3F,0x13FA6D9)
отсюда
Ata(0x0)-интерфейс подключения диска, а также порт контроллера
HD-это жесткий диск
1-количество разделов на диске
MBR-схема разметки
Найдя таким образом необходимый диск, нужно перейти в него
fs0:затем при помощи старых добрых досовских команд dir и cd нужно нащупать и перейти в каталог с загрузочными efi-файлами. Обычно это /EFI/boot/. Затем, находясь в этом каталоге, можно, введя имя файла загрузчика, сразу же загрузиться в него. Чтобы добавить нужный файл в список загрузочных записей, желательно сначала считать уже имеющиеся записи при помощи команды
bcfg boot dumpЗатем, чтобы добавить загрузочный файл в этот список, нужно ввести
bcfg boot add N filename.efi "label" Где
N-порядковый номер записи (если на ее месте что-то было-этот пункт перезапишется)
filename.efi-имя файла с загрузчиком
label-имя, под которым эта запись будет отображаться в списке
Можно снова просмотреть список загрузочных записей через
bcfg boot dump и убедиться, что все на месте. Можно перезагружаться и проверять.
Для удаления записи из списка используется команда
bcfg boot rm Nгде
N-номер записи
Пример скрипта поиска загрузчика на NTFS разделе:
ˇcls
echo -off
for %a in fs0 fs1 fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fs10 fs11 fs12 fs13 fs14 fs15 fs16 fs17 fs18 fs19 fs20 fs21 fs22 fs23 fs24 fs25 fs26 fs27 fs28 fs29 fs30
if exist %a:\efi_shell\drivers\ntfs.efi then
load %a:\efi_shell\drivers\ntfs.efi
map -r
cls
goto end_load
endif
endfor
:end_load
fs0:
for %b in fs0 fs1 fs2 fs3 fs4 fs5 fs6 fs7 fs8 fs9 fs10 fs11 fs12 fs13 fs14 fs15 fs16 fs17 fs18 fs19 fs20 fs21 fs22 fs23 fs24 fs25 fs26 fs27 fs28 fs29 fs30
if exist %b:\EFI\Boot\bootx64.efi then
%b:\EFI\Boot\bootx64.efi
endif
endfor
Обозвать startup.nsh (utf16-LE) для автозагрузки при старте шелла. Положить в ту же папку, где и сам шелл, например EFI\Boot\bootx64.efi
Или вызывать из любого местоположения (startup > Enter)
Сообщение отредактировал Shoore - 31.10.14, 16:34Причина редактирования: NTFSbootscrypt