Hi Gemeinde,
habe eine neues Notebook bekommen und mein altes System rüber gespielt. Nun muss ich leider auf UEFI Boot wechseln.
Konnte GRUB-efi installieren. Nachdem in der chroot-Umgebung auch die neue efi-Partition mit in /etc/fstab eingetragen war, kam unter /boot/efi auch Kram an.
Problem - ich könnte das Notebook nur mit 64Bit grml und Debian UEFI booten. Das übertragene System ist aber noch i386. Alle meine versuche einen i386 USB-Stick zu booten funktionieren aber nicht. Diese booten einfach nicht.
Habt Ihr Ideen, was das sein kann?
(Ich muss ja scheinbar von i386 booten, um mit grub-install einen i386 EFI nach /boot/efi installiert zu bekommen.)
Danke, xcomm
UEFI Boot i386? [gelöst]
UEFI Boot i386? [gelöst]
Zuletzt geändert von xcomm am 20.04.2016 14:03:12, insgesamt 1-mal geändert.
Re: UEFI Boot i386?
Es gibt sowohl das Paket grub-efi-ia32 (ia32=i386) für amd64 wie auch das Paket grub-efi-amd64 für 64 Bit/amd64.
Das heißt du kannst sogar ohne Multiarch-Unterstützung auf jeden Fall, den zu deinem efi passenden grub installieren.
Soweit ich weiß gibt es aber keine Installationsmedien, die mit dem Fall fertig werden, dass sich die efi-Architektur von der des Systems/Kernels unterscheidet. Die grub-Installation muss also von Hand gemacht werden.
Ein weiterer Nachteil ist, dass man zumindest bei der Kombination von 32 Bit efi und 64 Bit Kernel nicht auf die efi-Variablen zugreifen kann - es können also auch keine Booteinträge erstellt werden.
Dagegen hilft es meist wiederum grub von /boot/efi/efi/debian/grub[arch].efi nach /boot/efi/efi/boot/boot[arch].efi zu kopieren, weil dort die Firmware auch ohne entsprechenden Booteintrag nach etwas "bootbarem" suchen sollte.
Das heißt du kannst sogar ohne Multiarch-Unterstützung auf jeden Fall, den zu deinem efi passenden grub installieren.
Soweit ich weiß gibt es aber keine Installationsmedien, die mit dem Fall fertig werden, dass sich die efi-Architektur von der des Systems/Kernels unterscheidet. Die grub-Installation muss also von Hand gemacht werden.
Ein weiterer Nachteil ist, dass man zumindest bei der Kombination von 32 Bit efi und 64 Bit Kernel nicht auf die efi-Variablen zugreifen kann - es können also auch keine Booteinträge erstellt werden.
Dagegen hilft es meist wiederum grub von /boot/efi/efi/debian/grub[arch].efi nach /boot/efi/efi/boot/boot[arch].efi zu kopieren, weil dort die Firmware auch ohne entsprechenden Booteintrag nach etwas "bootbarem" suchen sollte.
Re: UEFI Boot i386?
Hi Smutbert,
ok - habe nochmal von 64Bit grml auf UEFI gebootet und chrootet.
Habe alles an GRUB gepurged und neu installiert.
Zu diesen Zeitpunkt ist /boot/efi leer.
Wenn ich Grub in die Platte schreibe, nimmt der die 64Bit EFI:
Problem ist, die grubx32.efi dorthin zu bekommen bzw. überhaupt eine grubx32.efi zu bekommen. (Wie wird die generiert?)
Danke, xcomm
P.S.: EFI-boot von der grubx64.efi startet auch durchaus - frist sich dann aber fest, weil das System i386 ist.
ok - habe nochmal von 64Bit grml auf UEFI gebootet und chrootet.
Habe alles an GRUB gepurged und neu installiert.
Code: Alles auswählen
apt-get install grub-efi-ia32
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
grub-common grub-efi-ia32-bin grub2-common
Suggested packages:
multiboot-doc grub-emu xorriso
The following NEW packages will be installed:
grub-common grub-efi-ia32 grub-efi-ia32-bin grub2-common
0 upgraded, 4 newly installed, 0 to remove and 296 not upgraded.
Need to get 0 B/3.759 kB of archives.
After this operation, 18,7 MB of additional disk space will be used.
Do you want to continue? [Y/n]
Preconfiguring packages ...
E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)
Selecting previously unselected package grub-common.
(Reading database ... 275233 files and directories currently installed.)
Preparing to unpack .../grub-common_2.02~beta2-36_i386.deb ...
Unpacking grub-common (2.02~beta2-36) ...
Selecting previously unselected package grub2-common.
Preparing to unpack .../grub2-common_2.02~beta2-36_i386.deb ...
Unpacking grub2-common (2.02~beta2-36) ...
Selecting previously unselected package grub-efi-ia32-bin.
Preparing to unpack .../grub-efi-ia32-bin_2.02~beta2-36_i386.deb ...
Unpacking grub-efi-ia32-bin (2.02~beta2-36) ...
Selecting previously unselected package grub-efi-ia32.
Preparing to unpack .../grub-efi-ia32_2.02~beta2-36_i386.deb ...
Unpacking grub-efi-ia32 (2.02~beta2-36) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for install-info (6.1.0.dfsg.1-6) ...
install-info: warning: no info dir entry in `/usr/share/info/gnu-crypto.info.gz'
Setting up grub-common (2.02~beta2-36) ...
Setting up grub2-common (2.02~beta2-36) ...
Setting up grub-efi-ia32-bin (2.02~beta2-36) ...
Setting up grub-efi-ia32 (2.02~beta2-36) ...
Creating config file /etc/default/grub with new version
Generating grub configuration file ...
Found background image: .background_cache.png
Found linux image: /boot/vmlinuz-4.4.0-1-686-pae
Found initrd image: /boot/initrd.img-4.4.0-1-686-pae
Found linux image: /boot/vmlinuz-4.4.0-trunk-686-pae
Found initrd image: /boot/initrd.img-4.4.0-trunk-686-pae
Adding boot menu entry for EFI firmware configuration
done
Error connecting: Could not connect: Connection refused
Code: Alles auswählen
dpkg -l | grep grub
ii grub-common 2.02~beta2-36 i386 GRand Unified Bootloader (common files)
ii grub-efi-ia32 2.02~beta2-36 i386 GRand Unified Bootloader, version 2 (EFI-IA32 version)
ii grub-efi-ia32-bin 2.02~beta2-36 i386 GRand Unified Bootloader, version 2 (EFI-IA32 binaries)
ii grub2-common 2.02~beta2-36 i386 GRand Unified Bootloader (common files for version 2)
Wenn ich Grub in die Platte schreibe, nimmt der die 64Bit EFI:
Code: Alles auswählen
grub-install /dev/sda
Installing for x86_64-efi platform.
Installation finished. No error reported.
Code: Alles auswählen
ls -latrF /boot/efi/EFI/debian
total 128
drwxr-xr-x 3 root root 4096 Apr 20 15:00 ../
-rwxr-xr-x 1 root root 119808 Apr 20 15:00 grubx64.efi*
drwxr-xr-x 2 root root 4096 Apr 20 15:00 ./
Problem ist, die grubx32.efi dorthin zu bekommen bzw. überhaupt eine grubx32.efi zu bekommen. (Wie wird die generiert?)
Danke, xcomm
P.S.: EFI-boot von der grubx64.efi startet auch durchaus - frist sich dann aber fest, weil das System i386 ist.
Re: UEFI Boot i386?
Ok, jetzt komme ich nicht ganz mit…
Du hast (softwaremäßig) ein 32 Bit-System (also vor allem einen i386-Kernel), richtig?
Die neue Hardware kann amd64, richtig?
Entscheidend ist jetzt ob die neue Hardware über ein 64 bittiges oder ein 32 bittiges UEFI verfügt. (Es gibt oder zumindest gab auch 64-Bit Computer mit 32 Bit UEFI, aber meistens stimmt die "Bittigkeit" überein.)
Wenn du aber schreibst, dass du mit 64 Bit Systemen im uefi-Modus booten konntest, dann musst du eigentlich ein 64-Bit-UEFI haben und benötigst dementsprechend grub-efi-amd64. Nach der Installation im chroot, stellst du sicher, dass dort auch die EFI System Partition unter /boot/efi gemountet ist und führst einfach
aus. Ziel musst du ihm keines sagen, er installiert den grub einfach auf die EFI Systempartitio und zwar nach /boot/efi/EFI/debian/grubx64.efi. Diese Datei kopierst du nach /boot/efi/EFI/boot/bootx64.efi
Du hast (softwaremäßig) ein 32 Bit-System (also vor allem einen i386-Kernel), richtig?
Die neue Hardware kann amd64, richtig?
Entscheidend ist jetzt ob die neue Hardware über ein 64 bittiges oder ein 32 bittiges UEFI verfügt. (Es gibt oder zumindest gab auch 64-Bit Computer mit 32 Bit UEFI, aber meistens stimmt die "Bittigkeit" überein.)
Wenn du aber schreibst, dass du mit 64 Bit Systemen im uefi-Modus booten konntest, dann musst du eigentlich ein 64-Bit-UEFI haben und benötigst dementsprechend grub-efi-amd64. Nach der Installation im chroot, stellst du sicher, dass dort auch die EFI System Partition unter /boot/efi gemountet ist und führst einfach
Code: Alles auswählen
# grub-install
Re: UEFI Boot i386?
Hi Smutbert,
der Computer ist ein 64Bit System. Dachte die UEFI-GRUB Bittigkeit hängt vom OS ab, aber Du hast Recht, es hängt wohl von der Bittigkeit des UEFI-BIOS ab.
Nun hatte es zwar nicht gleich gebootet, aber ich habe jetzt nochmal mit 64Bit Debian Bootstick gebootet.
Dort in der chroot/shell noch /boot und /boot/EFI gemounted und nach exit gab es in der Menuauswahl nun "GRUB Installation in den EFI-Wechseldatentragerpfad" oder so.
Nun, der GRUB tut damit. Sorry für das Unspektakuläre Ende.
Danke, xcomm
der Computer ist ein 64Bit System. Dachte die UEFI-GRUB Bittigkeit hängt vom OS ab, aber Du hast Recht, es hängt wohl von der Bittigkeit des UEFI-BIOS ab.
Nun hatte es zwar nicht gleich gebootet, aber ich habe jetzt nochmal mit 64Bit Debian Bootstick gebootet.
Dort in der chroot/shell noch /boot und /boot/EFI gemounted und nach exit gab es in der Menuauswahl nun "GRUB Installation in den EFI-Wechseldatentragerpfad" oder so.
Nun, der GRUB tut damit. Sorry für das Unspektakuläre Ende.
Danke, xcomm
Re: UEFI Boot i386? [gelöst]
Dieser EFI-Wechseldatentragerpfad ist genau das /boot/efi/EFI/boot/bootx64.efi also EFI/boot/bootx64.efi bzw. EFI/boot/bootia32.efi auf der EFI System Partition.
(ich habe deswegen das manuelle Kopieren der Datei vorgeschlagen, weil es diese Option bei der Installation bei mir schon einmal wirkungslos geblieben ist)
und schön dass es funktioniert - ein unspektakuläres Ende ist doch toll!
(ich habe deswegen das manuelle Kopieren der Datei vorgeschlagen, weil es diese Option bei der Installation bei mir schon einmal wirkungslos geblieben ist)
und schön dass es funktioniert - ein unspektakuläres Ende ist doch toll!