У меня та же проблема, что и в этом разделе:[ Получение согласованности порядка загрузки UEFI BIOS при подключении / удалении USB?

Как я могу поддерживать указанный пользователем порядок загрузки, когда CMS/EFI автоматически удалит недопустимую загрузочную запись, если она не обнаружена?

Когда я вхожу в программу установки и устанавливаю порядок загрузки следующим образом, загружается с помощью CMS:

  1. USB (grub4dos)
  2. Диск 1 (windows 7)
  3. Диск 2 (Windows 7)

Это идет хорошо и как указано, пока я держу USB-накопитель вставленным. Но как только я извлекаю USB-накопитель, перезагружаюсь один раз без него и снова вставляю диск, это произойдет:

  1. Диск 1 (windows 7)
  2. Диск 2 (Windows 7)
  3. USB (grub4dos)

По ссылке выше, это, вероятно, плохая реализация производителя моей платы. Но я просто надеюсь, что для этого есть обходной путь.

1 ответ1

0

Я предполагаю, что под "CMS" вы подразумеваете модуль поддержки совместимости (CSM).

В любом случае, я не знаю истинного решения проблемы, с которой вы столкнулись; однако существует потенциальный обходной путь: вы можете написать программу EFI, которая будет корректировать порядок загрузки любым удобным для вас способом и установить его в качестве программы загрузки по умолчанию. Я не знаю ни одной программы, которая бы это делала (хотя программа fallback.efi/fbx64.efi распространяемая во многих дистрибутивах Linux, в принципе приблизительно похожа - но она работает только для загрузчиков EFI и не будет работать для любых произвольных загрузочное USB-устройство). Таким образом, вам нужно было бы написать программу самостоятельно, что является нетривиальной задачей, если вы уже не достаточно эксперта, чтобы не задавать этот вопрос.

Самая близкая вещь к готовому обходному пути, о котором я знаю, - мой собственный менеджер загрузки rEFInd. Это определенно излишне для вашей проблемы, но вы можете установить его, отредактировать refind.conf чтобы включить загрузку BIOS/CSM/legacy-mode (через строку параметров scanfor ), и установить в строке default_selection что-то, что подхватит ваше загрузочное устройство USB , К сожалению, точное описание загрузочного USB-устройства может отличаться для разных устройств, поэтому даже этот обходной путь может не сработать, если у вас нет ограниченного набора устройств, которые вы хотите загрузить. ОТО, может быть, это будет работать; вам нужно попробовать это, чтобы узнать. (Жизнеспособность зависит от того, как ваша прошивка называет загрузочные USB-устройства; если есть согласованная строка, уникальная для USB-устройств, например, «USB», то этот подход может сработать. Если устройства USB имеют совершенно уникальные имена и их много, rEFInd не сильно поможет.) Использование rEFInd усложнит ваш путь загрузки и добавит некоторое время к процессу загрузки, даже если вы настроите его с таймаутом 0.

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

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