LINUX.ORG.RU

Как добавить возможность загрузки на EFI биосах?

 , ,


0

1

Сохранив возможность загружаться на legacy.

На винде добавление EFI загрузчика к уже установленной винде делается одной командой
«bcdboot C:\Windows /s Z: /f ALL
После этого винда умеет загружаться на любых компьютерах.

Как сделать то же самое на дебиан?
При попытке установить grub-efi и efibootmgr
получаю миллиард каких то бредовых сообщений

Следующие НОВЫЕ пакеты будут установлены:        
  efibootmgr grub-efi grub-efi-amd64{ab} grub-efi-amd64-bin{a} 
  grub-efi-amd64-signed{a} mokutil{a} shim-helpers-amd64-signed{a} 
  shim-signed{a} shim-signed-common{a} shim-unsigned{a} 
0 пакетов обновлено, 10 установлено новых, 0 пакетов отмечено для удаления, и 4 пакетов не обновлено.
Необходимо получить 3 983 kБ архивов. После распаковки 38,4 MБ будет занято.
Следующие пакеты имеют неудовлетворённые зависимости:
 grub-pc : Конфликтует: grub-efi-amd64 но устанавливается 2.06-3~deb10u3
           Конфликтует: grub-efi-amd64:i386 но его установка не запланирована
 grub-efi-amd64 : Конфликтует: grub-pc но установлен 2.06-3~deb10u3
                  Конфликтует: grub-pc:i386 но его установка не запланирована
Следующие действия разрешат зависимости:

     Удалить следующие пакеты:                     
1)     grub-pc [2.06-3~deb10u3 (now, oldoldstable)]
Зачем творится это гавно? Мне просто нужно добавить EFI загрузчик не ломая старые настройки.


Ответ на: комментарий от vbcnthfkmnth123

Чего?[br] Я щас сделаю копию всего диска, затем в копии установлю этот grub-efi, а потом попробую вручную повыдергивать необходимые файлы (не знаю что там будет - думал может уже кто то проделывал подобные манипуляции)

ZugDuk
() автор топика

Отметь grub-pc-bin как «установленный вручную», тогда grub-pc можно спокойно снести. Всё остальное — самодеятельность твоего калиговна, в ванильном дебиане grub-efi за собой shim не тащит.

alegz ★★★★
()

получаю миллиард каких то бредовых сообщений

Отпадает всякое желание помогать таким вот персонажам.

Зачем творится это гавно?

Сиди на винде, если там этого "говна" не творится.

mord0d ★★★★★
()
Ответ на: комментарий от utanho

Сидел на legacy всегда и все было хорошо. Но сейчас купил nvme накопитель, а с него, после мода биоса, можно загружаться только в EFI режиме.

До этого сталкивался со странной фигней, что бывают ноутбуки, в которых при загрузке в legacy режиме не пашет wifi.

Короче мне нужно в принципе понять как настроить EFI на debian. Пока в копии я установил пакеты grub-efi и efibootmgr, но ничего не произошло - по прежнему в legacy режиме грузится grub, а в EFI винда.

ZugDuk
() автор топика
Ответ на: комментарий от ZugDuk

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

Man bootctl

utanho ★★★★★
()
Последнее исправление: utanho (всего исправлений: 1)
Ответ на: комментарий от ZugDuk

Все должно быть в одном режиме: УЕФИ, загрузчики, системы!

Делаешь флешку для ЕФИ-режима. Запускаешь Дебиан в ЕФИ-режиме. Устанавливаешь. Он установит грубЕФИ.

andytux ★★★★★
()
Ответ на: комментарий от andytux

Я не пользуюсь флешками и не устанавливаю системы (так делают идиоты). Я пользуюсь виртуалками и добавляю к уже установленным системам нужный функционал.

ZugDuk
() автор топика
Ответ на: комментарий от andytux

Ха, ну я сделал все как хотел.

Но для этого пришлось много заморочиться - сделать копию своего диска, загрузить его обязательно в EFI режиме (а он ведь этого еще не умеет, по этому пришлось воспользоваться специальным диском supergrub2-classic-2.06s2-beta1-multiarch-CD.iso).

Установить в копии grub-efi и efibootmgr

далее

grub-install –target=x86_64-efi –efi-directory=/mnt/efi –bootloader-id=debian

На диске EFI создается нужная папка debian в которой загрузчики и какой то grub.cfg. Ее нужно забрать в основную систему, а еще нужно забрать /boot/grub/x86_64-efi.

В основной системе это положить, а еще заменить на диске EFI в папке /EFI/Boot виндовый загрузчик на любой из дебиановских (их 3 разных в папке debian, но все работают одинаково). После этого винда теряет способность загружаться, но для нее в файле /etc/grub.d/40_custom нужно прописать секции загрузки для efi и legacy режимов:

menuentry "Windows 11 efi" {
#insmod part_gpt
insmod part_msdos
insmod fat
insmod search_fs_uuid
insmod chain
search --fs-uuid --no-floppy --set=root XXXX-XXXX
chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
}


menuentry "Windows 11 legacy" --class windows --class os {
insmod ntfs
search --no-floppy --set=root --fs-uuid XXXXXXXXXXXXXXX
ntldr /bootmgr
}

Так все работает в обоих режимах биоса. Только менюшка grub в efi на компе какая то салатного цвета и плохо видно надписи (в виртуалке или в legacy режиме все нормально).

ZugDuk
() автор топика
Ответ на: комментарий от ZugDuk

Обнаружил косяк - при загрузке в efi режиме, сетевушки имеют адреса IPv6. Что означает, что параметры из /etc/default/grub не передаются ядру. Что же делать? Как удавить гадину? (IPv6)

ZugDuk
() автор топика