Auf einem Lenovo X220i Laptop befand sich schon eine Windows 7 und es sollte zusätzlich noch ein Ubuntu installiert werden. Dies war jedoch komplizierter als erwartet.
Die Windows 7 Installation lief ohne Probleme durch und legte alle benötigten Partitionen und Einstellungen an. Es konnte ohne Probleme gebootet werden. Anschließend kam Ubuntu 11.04 ins Spiel. Dieses zeigte erst den Bootloader, als die Legacy Unterstützung im BIOS wieder eingestellt wurde. Anschließend ließ sich das System jedoch erst starten, als "noefi" als Kernel Option angegeben wurde. Nach der Installation ließ sich das Ubuntu System jedoch nicht starten. Was wohl auch daran lag, dass der UEFI Code im Kernel irgendwie kaputt ist und erst ab Linux 3.0 wieder richtig funktionieren sollte.
Anschließend kam für einen Test Ubuntu 11.10 zum Einsatz, welches zwar noch im Alpha Stadium ist, aber schon einen Kernel aus dem 3.0er Zweig besitzt. Dieses System ließ sich zwar ohne Probleme installieren, konnte dann aber im Bootmenü nicht ausgewählt werden.
Das Problem kann jedoch wie folgt behoben werden. Zuerst muss das System für die Installation in das Live-System gebootet werden. Anschließend kann Ubuntu 11.10 installiert werden. Da bei der Installation keine Möglichkeit für eine Installation in den freien Speicher der Festplatte existiert, muss die Partitionierung von Hand durchgeführt werden. Nach der Installation fehlte dann immer noch der Eintrag zum Booten von Ubuntu. Um diesen anzulegen muss wie folgt vorgegangen werden.
Zunächst muss die EFI Partition gefunden werden. Dies sollte eigentlich /dev/sda1 sein. Anschließend muss diese Partition und die Partition auf die das System gerade installiert wurde mit mount eingehängt werden. Jetzt wird die Datei grub.efi von /installiertes_system/boot/grub/ nach /efi_partiton/EFI/grub/ kopiert.
Ist dies geschafft kann ein chroot in das Installierte System gemacht und dort dann folgender Befehl aufgerufen werden.
$ efibootmgr --create --gpt --disk /dev/sda --part 1 --write-signature --label "GRUB2" --loader "\\EFI\\grub\\grub.efi"
Anschließend sollte beim Neustart sofort das gerade installierte Ubuntu 11.10 starten. Windows sollte sich über das Bootmenü auswählen lassen.
Links
- Mail von Linus Torvalds in der er schreibt, dass EFI im Kernel kaputt ist (englisch)
- Ubuntu: Hilfe UEFIBooting (englisch)
- Linux: Einfaches chroot (deutsch)
- Wikipedia: EFI (deutsch)