Удаление GRUB из ноутбука UEFI


9

Я установил Ubuntu вместе с Windows 8, но решил удалить Ubuntu.

Сначала я загрузился в Parted Magic и, используя GParted, удалил все разделы ext4 и swap.

Это оставляет меня с теми же разделами, которые были у меня до установки Ubuntu:

/dev/sda1 ntfs WINRE_DRV
/dev/sda2 fat32 SYSTEM_DRV (my UEFI partition)
/dev/sda3 fat32 LRS_ESP
/dev/sda4 unknown Microsoft Reserved Partition
/dev/sda5 ntfs Windows8_OS
/dev/sda6 ntfs LENOVO
/dev/sda7 ntfs PBR_DRV

Я ожидал, что удаления разделов будет достаточно, чтобы удалить Ubuntu и позволить мне загрузиться обратно в Windows 8, однако при каждой загрузке я получаю следующую ошибку:

error: no such partition.

что сопровождается спасением GRUB:

grub rescue>

В моем разделе UEFI есть две директории BOOTи EFI. В BOOTодном файле - boot.sdi. В EFIкаталоге есть еще две директории, BOOTи Microsoft. Внутри BOOTдва файла, bkpbootx64.efiи bootx64.efi. В Microsoftкаталоге есть каталог с именем Boot. Внутри него находятся обычные файлы Microsoft EFI (насколько я могу судить).

Думая, что все еще остались файлы GRUB, я запустил find . -iname "*grb*"и find . -iname "*grub*"в разделе UEFI, однако нашел только один пустой файл bootx64.efi.grb(который я удалил).

Как GRUB все еще установлен, и как я могу удалить его?

Я довольно новичок в UEFI, поэтому, возможно, все должно быть подробно объяснено. Компьютер Lenovo IdeaPad Z580.

редактировать: я забыл упомянуть, я удалил ubuntuпапку в разделе UEFI.

редактировать 2: мне удалось вернуться в Windows через опцию «Восстановление системы» в настройках BIOS ноутбука. Это может или не может решить проблему.

редактировать 3: хорошо, я могу загрузиться почти нормально сейчас. Когда я загружаюсь, я вижу No partition activeпару секунд, затем загружается Windows. Как я могу удалить это?

Ответы:


28

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

Во-первых, разработчики Ubuntu решили - наиболее неразумно - создать конфигурацию GRUB, которая опирается на файлы в корневом /разделе Ubuntu ( ), а также на системный раздел EFI (ESP). Это делает GRUB уязвимым для удаления или повреждения раздела Linux, и, следовательно, затрудняет загрузку компьютера после удаления Ubuntu или если установка Ubuntu каким-либо образом повреждена. Эта уязвимость не нужна; GRUB можно настроить для поиска всех файлов поддержки и конфигурации на ESP. Если GRUB был настроен таким образом (как это делает Fedora), то удаление Ubuntu не повлияет на способность GRUB перенаправлять в Windows. Система будет по-прежнему загружаться через GRUB, но, по крайней мере, будет загружаться. Итак, позор Ubuntu за неправильную настройку GRUB.

Во-вторых, основываясь на именах файлов, которые вы упомянули, вы, кажется, в какой-то момент запускали утилиту загрузки загрузчика Ubuntu. Этот инструмент автоматически переименовывает загрузчик Windows EFI/Microsoft/Boot/bootmgfw.efiи помещает на его место копию GRUB. Он делает то же самое с резервным загрузчиком EFI EFI/BOOT/bootx64.efiи добавляет еще одну копию GRUB в качестве EFI/Microsoft/Boot/bootx64.efi, по причинам, которые я не претендую на понимание. Это сделано в качестве обходного пути для ошибки в нескольких EFI. Проблема в том, что Boot Repair делает это по умолчанию. На большинстве компьютеров это ненужно. Когда впоследствии желательно внести изменения в конфигурацию загрузки, это переименование и репликация GRUB становится сложным, так как пользователи остаются гадать о том, что происходит. Итак, позор разработчикам Boot Repair за то, что они не сомневаются в их ремонте. (Однако в свою защиту Boot Repair было бы очень трудно надежно определить, на каких компьютерах есть ошибки, требующие перемещения загрузочных файлов так, как это происходит по умолчанию.)

Еще один важный момент: в правильно функционирующей системе EFI список загрузочных программ хранится в NVRAM. EFI пробует каждую из программ в этом списке последовательно; если один из них терпит неудачу или отсутствует, пробуют следующий. Когда Ubuntu устанавливается, он добавляет свою версию GRUB вверху списка. Большинство EFI также позволяют пользователям указывать, какую загрузочную программу использовать из встроенного менеджера загрузки, но этот встроенный менеджер загрузки груб в большинстве EFI.

Суммируйте все эти факторы, и простейшим решением исходной проблемы станет:

  1. Отмените изменения в инструменте Boot Repair. Это можно сделать с помощью самого инструмента Boot Repair; в нем есть меню «Дополнительные параметры» с флажком «Восстановить резервные копии EFI». Используйте это, и несколько копий GRUB будут удалены, а загрузчик Windows будет восстановлен. Кроме того, это можно сделать вручную. Самое главное, что резервная копия bootmgfw.efi(вероятно, называемая bkpbootmgfw.efi, хотя некоторые версии Boot Repair использовали другие имена) должна быть скопирована EFI/Microsoft/Boot/bootmgfw.efiв ESP.
  2. Удалите GRUB в его официальном / правильном месте - EFI/ubuntu/grubx64.efiдля Ubuntu. Если активна безопасная загрузка, удаление EFI/ubuntu/shimx64.efiбудет необходимо. На самом деле, удаление всего EFI/ubuntuкаталога или, по крайней мере, его переименование, в любом случае сделает эту работу.

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

Обратите внимание, что в вашем случае, Мэтью, я не рекомендую делать такие вещи; у вас есть рабочая конфигурация, и, как говорится, «если она не сломана, не исправляйте ее». Возможно, на вашем ESP осталось несколько случайных файлов, но они не приносят никакого вреда, поэтому лучше просто оставить их в покое. Я представил свой ответ в надежде, что кто-то найдет его полезным.


РЕДАКТИРОВАТЬ: Выше было правильно, когда я впервые написал это, и принципы остаются теми же; однако Boot Repair больше не переименовывает загрузчик Windows автоматически и заменяет его другой копией GRUB. (Boot Repair может сделать это по желанию, но этот параметр скрыт в меню расширенных параметров, поэтому он больше не выполняется по умолчанию.) Этот факт делает восстановление после этой проблемы проще, чем это было в 2013 году. В большинстве случаев вам нужно только удалите EFI/ubuntuкаталог на ESP, чтобы заставить систему загружаться непосредственно в Windows. Если GRUB по-прежнему появляется после того, как вы это сделаете, вы, возможно, использовали опцию Boot Repair для резервного копирования и переименования загрузочных файлов, и в этом случае используется для отмены этих действий, как было отмечено ранее.

Другим вариантом является использование встроенного в компьютер менеджера загрузки (доступ к которому обычно осуществляется нажатием функциональной клавиши, Esc или Enter вскоре после включения компьютера) для обхода GRUB и загрузки в Windows. Затем вы можете использовать EasyUEFI, чтобы изменить порядок загрузки и / или удалить ubuntuзапись из списка загрузки. Это действие не удалит GRUB из ESP, но оно пропустит GRUB.


Спасибо за этот ответ! Это очень хорошо объясняет проблему. Я действительно запускал Boot Repair, но забыл включить это в этот вопрос. Я пометил это как ответ, так как это может определенно помочь кому-то в будущем и является гораздо более чистым способом решения проблемы.
Торверо

Я опаздываю, но все равно спрошу; Вы сказали, что он также заменяет загрузчик EFI по умолчанию на GRUB. Есть ли способ восстановить его, если он все еще заменен установщиком Ubuntu 18.04?
Зоя

3

Я знаю, что эта ветка старая, но я наткнулся на нее в своем поиске, когда пытался решить эту проблему для себя, и я нашел решение, которое сработало для меня, когда ни один из других ответов не имел, поэтому мне нужно было поделиться!

У меня была двойная загрузка Ubuntu на моем ноутбуке вместе с Windows 10. Я решил удалить Ubuntu и удалил его раздел, но grub все еще продолжал прерывать мой загрузчик. Перепробовав многочисленные предложения, оставленные на форумах, я наконец-то наткнулся на безумно простой и графический способ удалить его самостоятельно. (Итак, отказ от ответственности, я понятия не имею, есть ли эта опция в других версиях Windows)

Но все, что я сделал, это F12, пока компьютер загружался, чтобы войти в параметры загрузки. А в разделе « Другие параметры» я выбрал « Настройка BIOS» . С левой стороны я выбрал Boot Sequence и тут же перечислил мои разные варианты загрузки, и я мог выбрать их, чтобы изменить их порядок или удалить их или все, что я хотел. Все, что мне нужно было сделать, это убедиться, что помечен только «ubuntu», а затем я нажал « Удалить загрузку» и вышел. Это продолжалось до экрана входа в систему, и я перезагружал свой ноутбук, просто чтобы дважды проверить, что это решило мою проблему, и это было!


Похоже, что в интернете полно решений, отличных от UEFI, но это работает!
Питер Ленхардт

1

Хорошо, так что это не будет работать для каждого компьютера, который я предполагаю, но это то, что исправило это для меня .

Сначала я загрузился в «Восстановление системы» через параметры BIOS на моем ноутбуке. Это позволило мне войти в Windows, однако всякий раз, когда я загружался после этого, я получал сообщение, в котором говорилось No partition activeза секунду до загрузки Windows. Я избавился от этого, сделав следующее:

  1. Загрузка в Windows
  2. SHIFT + клик «Перезагрузка»
  3. Поиск проблемы
  4. продвинутый
  5. Командная строка
  6. Бег bootrec.exe /fixmbr

и перезагрузка. Теперь сообщение больше не появляется и все кажется нормальным.


1

Что я сделал, так это то, что после удаления Ubuntu вы можете сделать это с некоторыми из деинсталляторов или просто загрузиться с Ubuntu live CD или USB-накопитель и отформатировать разделы Linux с помощью GParted - я также отформатировал раздел EFI (FAT32), а затем сделал Восстановление загрузки Windows с установочного диска Windows.

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


1

На Surface Pro можно обойти Grub 2, выбрав опцию «Переустановить защищенные ключи загрузки» в меню UEFI.


Возможно, вам придется немного поиграть с опциями, выходящими за рамки этого - я думаю, что мне пришлось сказать что-то вроде «разрешить только ключи Windows». Я все еще получаю сообщение о недопустимой конфигурации загрузки, но она продолжит загружаться после.
bbarker
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.