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

9

Я установил Ubuntu вместе с Windows 8, однако решил unisntall 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.

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

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

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

    
задан Torvero 05.06.2013 в 21:02
источник

5 ответов

27

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

Сначала разработчики Ubuntu решили - самое неразумно - создать конфигурацию GRUB, которая опирается на файлы в разделе root ( / ) Ubuntu, а также на EFI System Partition (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 делает это по умолчанию. На большинстве компьютеров требуется not . Когда впоследствии желательно внести изменения в конфигурацию загрузки, это переименование и репликация GRUB становится усложнением, так как пользователи оставляют гадать, что происходит. Так что, позор разработчикам Boot Repair за то, что они не справляются с их ремонтом. (В их защиту, однако, было бы очень сложно, чтобы Boot Repair надежно обнаружил, какие компьютеры имеют ошибки, требующие перемещения загрузочных файлов так, как это делается по умолчанию.)

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

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

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

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

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

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

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

    
ответ дан Rod Smith 06.06.2013 в 16:14
источник
2

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

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

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

    
ответ дан Jess 16.08.2017 в 23:46
1

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

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

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

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

    
ответ дан Torvero 05.06.2013 в 21:33
1

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

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

    
ответ дан Srdjan 18.08.2013 в 14:53
1

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

    
ответ дан user394891 04.04.2015 в 16:35