Можно ли безопасно удалить grub после установки rEFInd?

Я использую rEFInd для двойной загрузки с Windows 10 на моем ПК, и я хочу удалить GRUB, потому что я не использую его, и ОС загружается из rEFInd напрямую, без GRUB (после установки rEFInd я удалил ubuntu каталог от /boot/efi/EFI).

Могу ли я сделать это безопасно? Если так, то как?

Текущее содержание моего /boot/efi/EFI:

maxim@ProBook:~$ sudo ls /boot/efi/EFI
Boot  Microsoft  refind  tools

Установленные пакеты GRUB:

maxim@ProBook:~$ dpkg -l | grep grub
ii  grub-common                                    2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader (common files)
ii  grub-efi-amd64                                 2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version)
ii  grub-efi-amd64-bin                             2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 binaries)
ii  grub-efi-amd64-signed                          1.66.2+elementary11~ubuntu0.4.1+2.02~beta2-36ubuntu3    amd64        GRand Unified Bootloader, version 2 (EFI-AMD64 version, signed)
ii  grub2-common                                   2.02~beta2-36+elementary11+r2~ubuntu0.4.1               amd64        GRand Unified Bootloader (common files for version 2)

Заранее спасибо!

1 ответ

Решение

Краткий ответ: "Да, вы можете безопасно удалить GRUB, если rEFInd работает для вас". Однако есть некоторые предостережения. В частности, всегда возможно, что что-то в будущем сломается. Например, есть ошибка # 1649326, которая не позволяет ядрам с 3.13.0-101 по крайней мере 3.13.0-106 загружаться через rEFInd (или любой другой метод, основанный на загрузчике заглушек EFI). Тем не менее, учитывая то, как Ubuntu сохраняет установленное в данный момент загруженное ядро, даже если вы столкнулись с такой проблемой, у вас должна быть возможность загрузить старое ядро ​​через rEFInd, либо на неопределенный срок, либо пока не будет найдено реальное решение.

Что касается удаления GRUB, следующая команда должна удалить пакеты:

dpkg -P grub-efi-amd64 grub-efi-amd64-signed grub-common grub-efi-amd64-bin \
        grub-common grub2-common shim-signed

Есть три предостережения:

  • Для изменения пакета может потребоваться изменение предыдущего списка пакетов. (Этот список взят с этой страницы документации rEFInd, которую я написал пару месяцев назад.)
  • Эта команда удаляет пакеты, но не двоичный файл GRUB в ESP. Чтобы удалить это, вам нужно будет набрать sudo rm -rf /boot/efi/EFI/ubuntu,
  • Ubuntu, скорее всего, попытается добавить GRUB обратно. Чтобы решить эту проблему, я лично использую пустой "фиктивный" пакет, который претендует на GRUB 3. Вы можете скачать его отсюда, если захотите его использовать. Поскольку он претендует на GRUB 3, Ubuntu не будет пытаться заменить его на GRUB 2.

Кроме того, вы можете удалить файлы в ESP, а затем просто заблокировать установленную версию GRUB с помощью команды, подобной этой:

apt-mark hold grub-efi-amd64 grub-efi-amd64-signed grub-common \
              grub-efi-amd64-bin grub-common grub2-common

Это должно держать GRUB вне ESP и предотвращать будущие обновления GRUB, хотя ваш текущий пакет GRUB технически останется установленным.

Третья возможность заключается в использовании dont_scan_file или же dont_scan_dirs в refind.conf чтобы убрать Ubuntu GRUB из меню REFInd. Это решение вообще не удалит GRUB, и имеет то преимущество, что оно должно оставаться доступным через встроенный менеджер загрузки компьютера, если он когда-либо понадобится. OTOH, если Ubuntu должен обновить GRUB, он станет менеджером загрузки по умолчанию. Смотрите эту страницу для получения дополнительных идей о том, как справиться с такими проблемами.

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