Установщик Ubuntu перезаписывает загрузчик Windows 8 на диск, на который он не был установлен

Это все началось, когда я пошел устанавливать Ubuntu в раздел на моем внешнем жестком диске. В установщике Ubuntu LiveUSB конфигурация состояла в том, чтобы создать раздел ext4 в пустом пространстве на внешнем жестком диске (/ dev / sdc3) и записать загрузчик в / dev / sdc. Установка завершилась удачно, и я смог нормально загрузиться в новый раздел Ubuntu - с одним уловом.

После перезапуска меня встретила жалоба от Secure Boot (Secure Boot Violation - Invalid подпись), которая была странной, учитывая, что я не говорил установщику трогать оригинальный загрузчик (или что-нибудь, в этом отношении) на / dev / sda. После отклонения жалобы я получил запрос в GRUB, что также странно, поскольку я не дошел до того, что смог выбрать порядок загрузки. Я перезагрузился без внешнего жесткого диска, чтобы убедиться, что он находится на главном диске, а не на внешнем, и в этот момент GRUB дал мне терминал, а не меню. Нажатие «выхода» вернуло меня в Windows 8.

Я попытался стереть GRUB, загрузившись в Windows в режиме командной строки и используя bootrec /fixmbr и bootrec /fixboot, но это не дало эффекта, и GRUB остался.

Итак, мои вопросы:

  1. Почему установщик Ubuntu решил записать GRUB в / dev / sda и / dev / sdc, когда я указал / dev / sdc в качестве раздела загрузчика и / dev / sdc3 как установочный раздел Ubuntu?
  2. Как избавиться от GRUB с помощью чего-то другого, кроме Windows, в режиме восстановления?
1
задан 23 July 2014 в 08:13

2 ответа

Забудьте все, что Вы когда-либо знали об установке загрузчика, по крайней мере, относительно рассматриваемого компьютера. Вы пытаетесь применить предположения BIOS EFI (не-BIOS) компьютер, и они не применяются. (Да, я знаю, что большинство людей и даже производителей, называют EFIs BIOS, но что беспорядок правых дел. Посмотрите сообщение в блоге Adam Williamson на этом предмете для получения дополнительной информации.) Windows bootrec /fixmbr команда предназначается для контакта с начальной загрузкой режима BIOS и так неподходящая Вам. Я не знаю о bootrec /fixboot; это могло бы или не могло бы быть полезно на основанном на EFI компьютере.

Под EFI все загрузчики и связанные программы находятся в Системном разделе EFI (ESP), который является разделом FAT, цель которого состоит в том, чтобы содержать загрузчики и связанные файлы. Обычно, компьютер будет иметь всего один ESP, хотя законно для компьютера иметь несколько ESPs. Компьютер с двумя дисками мог бы иметь один, два, три, или больше ESPs. В случае компьютера мульти-ESP это неясно, какой установщик Ubuntu будет использовать. В теории установщик Ubuntu должен использовать ту, идентифицированную как "раздел начальной загрузки EFI" (их собственное нестандартное имя ESP) в установщике; однако, у меня есть свои сомнения относительно того, делает ли Ubuntu последовательно это. (У меня не было шанса посмотреть на это подробно.) В любом случае установщик Ubuntu сохраняет подсказку режима BIOS для того, где установить загрузчик при установке в режиме EFI, но это абсолютно бесполезно! Я думаю, что существует отчет об ошибках об этом на Панели запуска, но быстрый поиск не поднял его.

В теории, затем, основанному на EFI компьютеру можно было установить десятки загрузчиков. Какой встроенное микропрограммное обеспечение на самом деле использует? Это определяется рядом записей NVRAM, которые определяют загрузчики и перечисляют порядок, в котором их нужно судить. Записи NVRAM определяют загрузчики разделом и именем файла.

Неясно, имеете ли Вы один, два, или больше ESPs; однако, потому что записи NVRAM определяют загрузчики разделом и именем файла, та деталь чрезвычайно не важна. Возможности состоят в том, что то, что произошло, - то, что Ubuntu добавила GRUB к ESP и добавила запись в NVRAM компьютера сообщение этого использовать GRUB по умолчанию. (На самом деле это указало бы на Контейнер, который является одним из инструментов Linux для контакта с Защищенной загрузкой. Контейнер затем запустит GRUB.) я не уверен, почему Вы следовали за Защищенной загрузкой, предупреждающей GRUB. Возможно, у Вас есть запись NVRAM, которая указывает непосредственно на GRUB, не проходя Контейнер, сопровождаемый записью, которая указывает на Контейнер. Это объяснило бы это, но AFAIK установщик Ubuntu не устанавливает вещи этот путь.

Под EFI можно отредактировать записи NVRAM для управления порядком загрузки. В Linux, efibootmgr утилита делает это задание. В Windows можно использовать bcdedit или сторонняя программа как EasyUEFI. Используя efibootmgr, введите одну только команду, чтобы видеть список записей загрузки, затем использовать -o опция установить порядок загрузки, как в efibootmgr -o 5,3,8 иметь микропрограммную попытку Boot0005 во-первых, затем для запуска Boot0003 если это перестало работать, и наконец попробовать Boot0008. (Конечно, необходимо будет установить порядок для системы, на основе вывода efibootmgr без любых опций.) Большинство EFIs имеет свой собственный диспетчер начальной загрузки, чтобы позволить Вам выбрать загрузчик. Детали варьируются значительно от одного компьютера до другого, все же. Необходимо обычно нажимать функциональную клавишу рано в процессе начальной загрузки для получения до этого диспетчера начальной загрузки.

3
ответ дан 23 July 2014 в 08:13
  1. я думаю, что необходимо было бы сказать этому НЕ устанавливать на/dev/sda, как это - то, где это устанавливает по умолчанию.

  2. Используя диск восстановления Windows следуют этим инструкциям http://www.fixedbyvonnie.com/2013/12/how-to-repair-the-efi-bootloader-in-windows-8/ , я полагаю, что все еще необходимо воссоздать хранилище Данных загрузочной конфигурации (BCD) для устранения проблемы (/fixmbr bootrec/fixboot, недостаточно).

0
ответ дан 23 July 2014 в 08:13

Другие вопросы по тегам:

Похожие вопросы: