ubuntuusers.de

Kubuntu mit efistub booten - schneller als ein Rennpferd

Status: Ungelöst | Ubuntu-Version: Kubuntu 17.10 (Artful Aardvark)
Antworten |

undine

Anmeldungsdatum:
25. Januar 2007

Beiträge: 3400

https://wiki.ubuntuusers.de/efibootmgr/ https://askubuntu.com/questions/510856/how-to-boot-load-the-kernel-using-efi-stub-efistub-loader/511019 https://wiki.debian.org/EFIStub

Hallo Forum,

mein Kubuntu 17.10 möchte ich mit efistub booten.

Grub2 möchte ich nicht verwenden.

Kubuntu 17.10 befindet sich auf sda7 (/ root) und sda8 (/home)

Dn NVRAM Eintrag habe ich wie folgt erstellt:

sudo efibootmgr -c -d /dev/sda -p 1 -l \vmlinuz-linux -L "Kubuntu 17.10" -u "initrd=/initramfs-linux.img root=/dev/sda7"

Leider bootet mein Kubuntu 17.10 so nicht.

/boot/efi/EFI/????

Wie komme ich zu dem richtigen Eintrag in der efi-Partition?

Folgende Einträge sind vorhanden:

└── EFI
│       ├── Boot
│       │   ├── bootx64.efi
│       │   └── fbx64.efi
│       ├── Microsoft
│       │   ├── Boot
│       │   │   ├── BCD
│       │   │   ├── BCD.LOG
│       │   │   ├── BCD.LOG1
│       │   │   ├── BCD.LOG2
│       │   │   ├── bg-BG
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── bootmgfw.efi
│       │   │   ├── bootmgr.efi
│       │   │   ├── BOOTSTAT.DAT
│       │   │   ├── boot.stl
│       │   │   ├── cs-CZ
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── da-DK
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── de-DE
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── el-GR
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── en-GB
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── en-US
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── es-ES
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── es-MX
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── et-EE
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── fi-FI
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── Fonts
│       │   │   │   ├── chs_boot.ttf
│       │   │   │   ├── cht_boot.ttf
│       │   │   │   ├── jpn_boot.ttf
│       │   │   │   ├── kor_boot.ttf
│       │   │   │   ├── malgun_boot.ttf
│       │   │   │   ├── malgunn_boot.ttf
│       │   │   │   ├── meiryo_boot.ttf
│       │   │   │   ├── meiryon_boot.ttf
│       │   │   │   ├── msjh_boot.ttf
│       │   │   │   ├── msjhn_boot.ttf
│       │   │   │   ├── msyh_boot.ttf
│       │   │   │   ├── msyhn_boot.ttf
│       │   │   │   ├── segmono_boot.ttf
│       │   │   │   ├── segoen_slboot.ttf
│       │   │   │   ├── segoe_slboot.ttf
│       │   │   │   └── wgl4_boot.ttf
│       │   │   ├── fr-CA
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── fr-FR
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── hr-HR
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── hu-HU
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── it-IT
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── ja-JP
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── kd_02_10df.dll
│       │   │   ├── kd_02_10ec.dll
│       │   │   ├── kd_02_1137.dll
│       │   │   ├── kd_02_14e4.dll
│       │   │   ├── kd_02_15b3.dll
│       │   │   ├── kd_02_1969.dll
│       │   │   ├── kd_02_19a2.dll
│       │   │   ├── kd_02_1af4.dll
│       │   │   ├── kd_02_8086.dll
│       │   │   ├── kd_07_1415.dll
│       │   │   ├── kd_0C_8086.dll
│       │   │   ├── kdstub.dll
│       │   │   ├── ko-KR
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── lt-LT
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── lv-LV
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── memtest.efi
│       │   │   ├── nb-NO
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── nl-NL
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── pl-PL
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── pt-BR
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── pt-PT
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── qps-ploc
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── Resources
│       │   │   │   ├── bootres.dll
│       │   │   │   └── de-DE
│       │   │   │       └── bootres.dll.mui
│       │   │   ├── ro-RO
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── ru-RU
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── sk-SK
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── sl-SI
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── sr-Latn-RS
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── sv-SE
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── tr-TR
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   ├── uk-UA
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   └── bootmgr.efi.mui
│       │   │   ├── winsipolicy.p7b
│       │   │   ├── zh-CN
│       │   │   │   ├── bootmgfw.efi.mui
│       │   │   │   ├── bootmgr.efi.mui
│       │   │   │   └── memtest.efi.mui
│       │   │   └── zh-TW
│       │   │       ├── bootmgfw.efi.mui
│       │   │       ├── bootmgr.efi.mui
│       │   │       └── memtest.efi.mui
│       │   └── Recovery
│       │       ├── BCD
│       │       ├── BCD.LOG
│       │       ├── BCD.LOG1
│       │       └── BCD.LOG2
│       └── ubuntu
│           ├── BOOTX64.CSV
│           ├── fw
│           ├── fwupx64.efi
│           ├── grub.cfg
│           ├── grubx64.efi
│           ├── mmx64.efi
│           └── shimx64.efi

Aus dem Wiki

--loader \\EFI\\ubuntu\\grubx64.efi: Der Verweis zum Bootloader grubx64.efi wird auf die ESP und dort zum Unterverzeichis \EFI\ubuntu gesetzt. Dabei ist auf die Windows-Verzeichnis-Notation mit Backslash zu achten!

Wie komme ich zu einem Eintrag \EFI\kubuntu mit den erforderlichen Dateien?

http://www.uefi.org/registry

Greetz

undine

Die Lösung:

https://askubuntu.com/questions/510856/how-to-boot-load-the-kernel-using-efi-stub-efistub-loader/511019

4 down vote

According to the Debian wiki, this can be done in a few simple steps that will survive a kernel update.

Note: this assumes that you have an EFI partition mounted at /boot/efi.

Create /etc/kernel/postinst.d/zz-update-efistub with the following contents:

#!/bin/sh cp /vmlinuz /initrd.img /boot/efi/EFI/ubuntu/

This is a hook that will be ran on kernel update to copy the latest kernel image and initrd to the appropriate location. Then make it executable and run it:

sudo chmod +x /etc/kernel/postinst.d/zz-update-efistub sudo /etc/kernel/postinst.d/zz-update-efistub

Add the boot entry:

sudo efibootmgr -c -d /dev/sdb -p 1 -L "Ubuntu (efistub)" -l /EFI/ubuntu/vmlinuz -u "root=/dev/sdb2 rw initrd=/EFI/ubuntu/initrd.img quiet splash"

Don't forget to change the -d and -p arguments depending on where your EFI system partition is. In my case, it is /dev/sdb1, but this is likely to be different for you. You will probably also have to change the root= value in the kernel cmdline to your root partition.

(You can change the label to anything you want by changing the -L parameter.)

The boot entry you just added will become the default entry. And it won't break after a kernel update, since the hook will make sure vmlinuz and initrd.img are always updated.

sudo efibootmgr -c -d /dev/sda -p 2 -L "Kubuntu (efistub)" -l /EFI/kubuntu/vmlinuz -u "root=/dev/sda7 rw initrd=/EFI/kubuntu/initrd.img quiet splash"

Das System bootet jetzt superrasend schnell dank UEFI. Ein Rennpferd ist dagegen langsam.

sudo tree /boot/efi/EFI/
/boot/efi/EFI/
├── Boot
│   ├── bootx64.efi
│   └── fbx64.efi
├── kubuntu
│   ├── initrd.img
│   └── vmlinuz
├── Microsoft
│   ├── Boot
│   │   ├── BCD
│   │   ├── BCD.LOG
│   │   ├── BCD.LOG1
│   │   ├── BCD.LOG2
│   │   ├── bg-BG
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── bootmgfw.efi
│   │   ├── bootmgr.efi
│   │   ├── BOOTSTAT.DAT
│   │   ├── boot.stl
│   │   ├── cs-CZ
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── da-DK
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── de-DE
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── el-GR
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── en-GB
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── en-US
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── es-ES
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── es-MX
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── et-EE
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── fi-FI
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── Fonts
│   │   │   ├── chs_boot.ttf
│   │   │   ├── cht_boot.ttf
│   │   │   ├── jpn_boot.ttf
│   │   │   ├── kor_boot.ttf
│   │   │   ├── malgun_boot.ttf
│   │   │   ├── malgunn_boot.ttf
│   │   │   ├── meiryo_boot.ttf
│   │   │   ├── meiryon_boot.ttf
│   │   │   ├── msjh_boot.ttf
│   │   │   ├── msjhn_boot.ttf
│   │   │   ├── msyh_boot.ttf
│   │   │   ├── msyhn_boot.ttf
│   │   │   ├── segmono_boot.ttf
│   │   │   ├── segoen_slboot.ttf
│   │   │   ├── segoe_slboot.ttf
│   │   │   └── wgl4_boot.ttf
│   │   ├── fr-CA
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── fr-FR
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── hr-HR
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── hu-HU
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── it-IT
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── ja-JP
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── kd_02_10df.dll
│   │   ├── kd_02_10ec.dll
│   │   ├── kd_02_1137.dll
│   │   ├── kd_02_14e4.dll
│   │   ├── kd_02_15b3.dll
│   │   ├── kd_02_1969.dll
│   │   ├── kd_02_19a2.dll
│   │   ├── kd_02_1af4.dll
│   │   ├── kd_02_8086.dll
│   │   ├── kd_07_1415.dll
│   │   ├── kd_0C_8086.dll
│   │   ├── kdstub.dll
│   │   ├── ko-KR
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── lt-LT
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── lv-LV
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── memtest.efi
│   │   ├── nb-NO
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── nl-NL
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── pl-PL
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── pt-BR
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── pt-PT
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── qps-ploc
│   │   │   └── memtest.efi.mui
│   │   ├── Resources
│   │   │   ├── bootres.dll
│   │   │   └── de-DE
│   │   │       └── bootres.dll.mui
│   │   ├── ro-RO
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── ru-RU
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── sk-SK
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── sl-SI
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── sr-Latn-RS
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── sv-SE
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── tr-TR
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   ├── uk-UA
│   │   │   ├── bootmgfw.efi.mui
│   │   │   └── bootmgr.efi.mui
│   │   ├── winsipolicy.p7b
│   │   ├── zh-CN
│   │   │   ├── bootmgfw.efi.mui
│   │   │   ├── bootmgr.efi.mui
│   │   │   └── memtest.efi.mui
│   │   └── zh-TW
│   │       ├── bootmgfw.efi.mui
│   │       ├── bootmgr.efi.mui
│   │       └── memtest.efi.mui
│   └── Recovery
│       ├── BCD
│       ├── BCD.LOG
│       ├── BCD.LOG1
│       └── BCD.LOG2
└── ubuntu
    ├── BOOTX64.CSV
    ├── fw
    ├── fwupx64.efi
    ├── grub.cfg
    ├── grubx64.efi
    ├── mmx64.efi
    └── shimx64.efi

46 directories, 147 files

Was kann ich jetzt noch verbessern?

Wo, wie kann ich verschiedene Kernel booten?

Ist es wirklich sinnvoll ein /boot/efi/EFI/kubuntu zusätzlich anzulegen?

Wäre es auch nur mit /boot/efi/EFI/ubuntu möglich?

lorn10

Anmeldungsdatum:
13. Januar 2021

Beiträge: 5

Nach etwas über 3 Jahren folgt hier dann mal eine erste Antwort. ☺ Zuerst möchte ich dem originalen Thread Starter undine ein Danke aussprechen. Das hier ist effektiv der einzig richtige Weg um ein non-GRUB basiertes, direkt vom EFI aus startendes, Kubuntu bzw. Ubuntu zu erhalten. Der grösste Vorteil liegt sicher bei der schnelleren Bootgeschwindigkeit. Es gibt aber auch vereinzelte UEFI Systeme, insbesondere von Apple, welche nur auf diese Weise per efistub Linux kompatibel werden. (Mal davon abgesehen, dass man sich sein Kubuntu im legacy CSM Bios Modus installieren kann.)

Bezüglich den neueren UEFI Implementierungen gibt es nur einen nennenswerten Nachteil. Das hier vorgeführte Verfahren ist leider nicht mit der Secure-Boot Funktion moderner Systeme kompatibel. Will (oder kann) man diese nicht deaktivieren, so muss weiterhin ein Bootloader wie GRUB verwendet werden.

Ich kann zudem für ein momentan aktuelles Kubuntu 18.04.5 LTS bestätigen, dass bei diesem standardmässig das ubuntu Verzeichnis /boot/efi/EFI/ubuntu (auf der EFI ESP Partition) verwendet wird. Somit ist also seit den (späteren) 18.04 LTS Builds auch bei Kubuntu der ubuntu Bootconfig Eintrag der richtige. Eine manuelle Konfiguration wie in diesem Thread hier geschrieben ist aber natürlich immer noch möglich. Man folgt dann halt einfach nicht der offiziellen Vorgabe. 😉

Soweit ich raus finden konnte, wurde die Umstellung von /boot/efi/EFI/kubuntu nach /boot/efi/EFI/ubuntu in einem der Maintainrelease 18.04.2 oder 18.04.3 vollzogen was dann u. U. zu Problemen geführt hat. Wie auch immer, spätestens seit Kubuntu 18.10 sollte also auch bei Kubuntu das ubuntu Verzeichnis immer der Standard sein. Es ist übrigens möglich, dass zeitgleich auch die anderen Ubuntu Derivate in diesem Punkt angepasst bzw. "vereinheitlicht" wurden.

ChickenLipsRfun2eat Team-Icon

Anmeldungsdatum:
6. Dezember 2009

Beiträge: 12067

Es geht bei UEFI auch ohne GRUB mit Systemd-boot

lorn10 schrieb:

Ich kann zudem für ein momentan aktuelles Kubuntu 18.04.5 LTS

Aktuell ist anders — das ist in 3 Monaten EOL 😉

Antworten |