Dies und Das

Probleme, die man ohne Technik nicht hätte und wie man sie löst.

Linux und Windows auf UEFI

Vor kurzem habe ich mir einen neuen PC angeschafft. Und weil ich zukunftssicher einkaufen wollte, habe ich darauf geachtet, daß das Mainboard mit UEFI ausgestattet ist und die beiden Platten schön groß sind. Bei Größen jenseits von 2TB müssen diese mit GPT partitioniert werden, MBR hat ausgedient. Es hat eine ganze Weile gedauert, bis ich herausgefunden habe, wie man ein 64bittiges Windows 7 und Ubuntu parallel auf dieser Hardware möglichst komfortabel installiert.

  1. Zuerst habe ich auf der zweiten Festplatte Windows installiert. Dabei muß darauf geachtet werden, daß man vom DVD-Laufwerk im UEFI-Modus bootet. Mein Asus-Board bietet bei entsprechenden CDs bzw. DVDs zwei Optionen an, einmal "normal" Booten und einmal den UEFI-Bootmodus.
  2. Anschließend habe ich Ubuntu auf der ersten Festplatte installiert. Dabei habe ich zunächst übersehen, daß die Ubuntu-CD auch im UEFI-Modus gestartet werden kann. Die Auswahl des Standard-Bootmodus hat zur Folge, daß eine Grub2-Version installiert wird, die auf GPT-Platten auf einer speziell für Grub bereitgestellten Partition (Partitionstyp EF02) landet. Wenn man so vorgeht, klappt jedoch der nächste Schritt nicht und Windows und Linux müssen immer manuell durch Drücken der Taste F8 (oder einer anderen Taste bei anderen Boards) und die darauf folgende Auswahl der zu bootenden Platte bzw. des Windows Boot-Managers gestartet werden. Das nervt, wenn man beim Starten des PC gerade mal wieder abgelenkt ist und dann ist frei nach Murphy natürlich immer das System gebootet worden, welches man gerade nicht haben wollte. Also Ubuntu (oder welches Linux auch immer) unbedingt ebenfalls im UEFI-Modues booten und installieren. Dann wird auch für Ubuntu ein Menüeintrag im UEFI-Bios eingerichtet, der zunächst wie gehabt über F8 ausgewählt werden kann.
  3. Anschließend kann man Windows in Grub2 einklinken, indem man in die Datei /etc/grub.d/40_custom folgenden neuen Abschnitt aufnimmt:
    menuentry "Windows 7" {
     insmod part_gpt
     insmod fat
     insmod search_fs_uuid
     insmod chain
     search --fs-uuid --no-floppy --set=root 1234-5678
     chainloader (${root})/efi/Microsoft/Boot/bootmgfw.efi
    }
    
    Dabei ist anstelle von 1234-5678 die uuid der eigenen EFI-System-Partition zu verwenden, Außerdem modifiziert man in der Datei /etc/default/grub noch die nachfolgenden Einträge, die dafür sorgen, daß das Grub-Menü dauerhaft angezeigt wird und zur Auswahl des zu startenden Systems auffordert:
    #GRUB_HIDDEN_TIMEOUT=0
    #GRUB_HIDDEN_TIMEOUT_QUIET=true
    GRUB_TIMEOUT=-1
    
    Die beiden Einträge für das "hidden timeout" kommentiert man wie im obigen Beispiel aus oder löscht sie ganz, wenn man sicher ist, daß man sie nicht mehr braucht. Danach ruft man update-grub auf und kann anschließend immer Ubuntu booten und hat trotzdem die Möglichkeit zur Auswahl von Windows 7 aus dem Grub-Menü.
  4. Windows geht standardmäßig davon aus, daß die Hardware-Uhr die lokale Ortszeit hat und Linux wird zumeist so installiert, daß es von einer UTC-basierten Uhrzeit ausgeht. Anstatt nun Linux auf die lokale Uhrzeit umzubiegen, ist es sinnvoller Windows 7 beizubringen mit UTC zu arbeiten. Dazu muß man den nachfolgenden Eintrag in die Registry aufnehmen und Windows neu starten:

     Windows Registry Editor Version 5.00
    
     [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation]
         "RealTimeIsUniversal"=dword:00000001
    

    Nun sind Windows und Linux auf einem UEFI-basierten PC so installiert, daß beide Systeme gut miteinander auskommen können.