1

Я написал скрипт bash, который добавляет Grub Entry в UEFI NVRAM. Скрипты вызываются загрузочным USB linux. Эта команда добавляет запись:

efibootmgr -c -d /dev/sda -p 2 -L "Grub2" -l "\EFI\Boot\shimx64.efi" 

Скрипт работает правильно. Но позже я установил Windows из образа Partclone.

Windows перезаписывает порядок загрузки и добавляет новую запись. Это происходит во время загрузки Windows. После перезагрузки Grub2 исчезает.

Я не хочу вносить изменения в Windows (bcdedit bootmgr), потому что у меня есть готовый образ (сделанный partclone)

Можно ли отключить доступ Windows к UEFI NVRAM? Можно ли запустить Windows From Grub EFI (безопасная загрузка) без менеджера загрузки Windows (я имею в виду непосредственно winload.efi)?

Есть ли у вас какие-либо идеи?

1 ответ1

0

Я не знаю способа предотвратить запись Windows в NVRAM и изменение переменных EFI; Однако есть и другие вещи, которые вы могли бы сделать ....

Смотрите мой ответ на этот вопрос для некоторых инструментов, которые могут помочь. bcdedit , скорее всего, будет полезен в этом отношении. Вы также можете попробовать EasyUEFI , который я не использовал, когда писал предыдущий ответ.

Другой вариант - создать сценарии запуска и / или завершения работы системы, которые автоматически восстанавливают желаемую конфигурацию загрузки. Вы бы использовали bcdedit для этого в Windows, но я не достаточно пользователя Windows, чтобы предоставить подробности. Делать это в Linux вряд ли будет необходимо, поскольку Linux не является виновником; но если бы это было так, вы могли бы использовать efibootmgr - или для более легкого прикосновения вы могли бы использовать refind-mkdefault , который я добавлю к следующей версии rEFInd. По умолчанию этот сценарий устанавливает rEFInd в качестве загрузочной программы по умолчанию, но если вы передадите ему имя (имя файла или описание) другого инструмента через опцию -L , сценарий установит его вместо этого по умолчанию.

В худшем случае вы можете переименовать или переместить файл загрузчика Windows (EFI\Microsoft\Boot\bootmgfw.efi на ESP) во что-то другое и поставить Shim на его место с копией GRUB. Это приведет к запуску GRUB вместо загрузчика Windows. Вам нужно будет перенастроить настройки GRUB, чтобы правильно запустить загрузчик Windows. Инструмент Boot Repair может сделать это автоматически; эта опция находится в меню "Дополнительно" и называется что-то вроде "создать резервную копию и заменить загрузочные файлы Windows" (точное имя не помню). Основным недостатком этого подхода является то, что, если и когда Windows обновит свой загрузчик, вам придется повторно применить это исправление. Это также сбивает с толку; имена файлов на диске и загрузочные записи NVRAM будут вводить в заблуждение, что может осложнить будущий ремонт.

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