У меня сейчас два загрузчика; У меня есть GRUB и EasyBCD, которые я создал до правильной установки Linux. После переустановки Ubuntu во второй раз GRUB пришел в норму, но теперь, когда у меня есть основной загрузчик GRUB, я хотел бы удалить второй. Дело в том, что когда я выбираю "Ubuntu", он загружается прямо в Ubuntu, но если я нажимаю на Windows, то показывает второй, что раздражает.

Вот меню GRUB, которое я хотел бы использовать.

Я бы хотел избавиться от этого меню, которое открывается после выбора Windows Boot Manager из меню GRUB.

Я не хочу делать никаких ошибок (под этим я подразумеваю, что я не хочу удалять первый загрузчик, который дает мне доступ к Ubuntu и Windows), поэтому я публикую этот вопрос, потому что я действительно не знаю, если Я просто удаляю EasyBCD, он не удалит второй GRUB (наверное?).

Еще одна вещь, я не понимаю, это говорит, что у меня есть 3 записи, а затем у меня также есть по умолчанию?

2 ответа2

1

Я мало знаком с Linux или grub, но так как у вас не было ответов в течение нескольких месяцев, я постараюсь ответить на основе того, что я знаю о среде загрузки Windows. Если ничего другого, возможно, этот ответ подтолкнет кого-то, кто знает лучше, к ответу.

Во-первых, EasyBCD не является загрузчиком Windows и не устанавливает загрузчик Windows. Это просто инструмент с графическим интерфейсом, который вы можете использовать после загрузки Windows - замена инструмента командной строки bcdedit и вкладки "boot" в msconfig. EasyBCD позволяет вам изменять базу данных конфигурации загрузки Windows (BCD) проще, чем с помощью встроенных инструментов Windows. (Примечание: BCD на самом деле является кустом реестра, точно так же, как куст "системы" или "программного обеспечения", но он обычно не загружается во время работы Windows.)

Но даже после установки EasyBCD он не устанавливает новый "загрузчик Windows". Ваш второй экран не отображается EasyBCD. Это отображается с помощью bootmgr, который поставляется с Windows. В начале последовательности запуска Windows, bootmgr отображает меню загрузки Windows, как вы видите на втором экране. Меню определено в BCD. (Это для Vista и позже. Для XP и более ранних версий программа, которая отображает меню, называется ntldr, а меню определяется текстовым файлом boot.ini.) Когда вы выбираете версию Windows в меню BCD, bootmgr загружает и запускает winload.exe, который загружает остальную часть Windows с диска.

Обычно прошивка вашей машины (EFI, похоже) загружает bootmgr. При установленном grub EFI загружает grub. Grub предоставляет вам меню, включающее "Менеджер загрузки Windows". Когда вы выбираете это, grub загружает bootmgr и затем удаляется. Остальная часть загрузки Windows происходит так же, как если бы grub там не было.

Вы не можете избавиться от bootmgr, потому что grub не знает, как делать то, что делает bootmgr (обычно для загрузки winload). Вы можете удалить EasyBCD, но это не изменит настройки вашего меню. BCD все еще будет в своем текущем состоянии. То же самое для того, что Grub использует для определения своего меню.

Хотя это небольшая загадка, почему в вашем BCD есть три записи (как отображает EasyBCD)... но bootmgr отображает только одну опцию (для Windows 8.1). Возможно, по какой-то причине ему не нравятся эти записи "Ubuntu".

После этого остается загадкой, почему меню отображается вообще, когда отображается только одна опция. Обычно, когда в BCD есть только одна опция, меню не отображается; это просто пропускает это.

Для меня также является загадкой, почему у вас вообще есть опции "убунту" в BCD. Я не думаю, что bootmgr имеет какое-либо представление о том, как загрузить Ubuntu. Я думаю, что путь к загрузке Ubuntu вообще не может включать grub ... если только grub, как и bootmgr, не использует базу данных конфигурации загрузки Windows, что мне кажется маловероятным. Но, как я уже сказал, я не знаю много о Linux или Grub.

Быстрое косметическое исправление - использование EasyBCD для установки времени ожидания около 2 секунд. Вы по-прежнему увидите второе меню, но только на две секунды.

Если вы не возражаете против экспериментов и небольшого риска, вы можете попробовать это:

  1. Загрузите Windows.
  2. Используйте EasyBCD для сохранения текущего BCD (кнопка резервного копирования / восстановления).
  3. Изучите материал под кнопкой резервного копирования / восстановления и убедитесь, что вы понимаете, как восстановить BCD из резервной копии, которую вы только что сделали.
  4. Используйте EasyBCD, чтобы удалить две опции "Ubuntu" из BCD.
  5. Перезагрузитесь и посмотрите, что получится.

Я думаю, что результатом будет то, что вы хотите. Если это не так, я не могу себе представить, что это помешало бы вашей способности загружать Windows. Поэтому, если результат плохой (вы больше не можете загружать Ubuntu), тогда вы можете загрузить Windows, использовать EasyBCD, чтобы восстановить BCD из резервной копии, перезагрузиться, и вот вы здесь.

0

Я знаю, что это старый пост, но я потратил пару часов, пытаясь исправить этот экран второго загрузчика на своей машине, и, наконец, нашел решение для меня, и я собираюсь описать его, чтобы, возможно, сэкономить кому-то время , Прежде всего, парень выше совершенно прав насчет Windows Bootmgr, и в Windows есть инструмент для его настройки вручную, и вам даже не нужен EasyBCD. Инструмент bcdedit, доступ к которому можно получить через командную строку. Я нашел два способа решения проблемы:

  1. Когда у вас есть только одна запись ОС в настройках bootmgr, она загружается автоматически после выбора windows в grub. Таким образом, вы можете удалить все остальные записи параллельно окнам и записи менеджера загрузки. Для этого выполните следующие действия:

    • Откройте cmd от имени администратора, введите «bcdedit /store c:\Boot\BCD» и нажмите Enter. Это должно показать все существующие записи в bootmgr.
    • Определите записи, которые вы хотите удалить, глядя на строки описания и идентификатор каждой из них. Вы ДОЛЖНЫ сохранить "Диспетчер загрузки Windows" и записи версий Windows, в противном случае у вас будут проблемы при загрузке.
    • Чтобы удалить запись, просто выполните «bcdedit /store c:\Boot\BCD /delete ID», где ID - это идентификационный код записи. Пример: "bcdedit /store c:\Boot\BCD /delete {5e384e54-f790-11e8-8d8-83334a362d08}". "-" и "{}" необходимы.
  2. Вы можете просто установить запись Windows в качестве системы по умолчанию и установить время ожидания на 0, чтобы bootmgr автоматически загружал окна после выбора окон в grub.

    • Откройте cmd от имени администратора и выполните команду: "bcdedit /store c:\Boot\BCD" и скопируйте идентификатор своего окна
    • запустите "bcdedit /store c:\Boot\BCD /default ID"
    • запустите "bcdedit /store c:\Boot\BCD /timeout 0"

Этого должно быть достаточно. Я рекомендую второй способ, при котором вы не рискуете удалить окна и записи bootmgr.

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

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