DualBoot Windows 7 Professional und Debian Wheezy (EFI) mit gemeinsam genutzter Partition

Mein Ziel war das Aufsetzen eines DualBoot-Rechners mit Windows 7 Professional und Debian Wheezy mit dem Vorhaben, beim Booten (mit EFI) über Grub eines der Systeme starten zu können. Wider Erwarten gab es mehrere Stolpersteine, die dieses Vorhaben etwas erschwert haben. Daher möchte ich hier eine kleine Kurzzusammenfassung meiner Erkenntnisse zum Besten geben. Dies stellt keine Installationsanleitung dar, sondern soll lediglich als kleiner Hinweiskatalog dienen.

Hinweis 1: Erst Windows, dann Debian…
Zunächst sollte man Windows installieren, erst danach Debian.

Hinweis 2: Windows-Installation mit GPT-formatierter Festplatte
Schon bei der Installation von Windows muss darauf geachtet werden, dass die Festplatte mit gpt formatiert wird, nicht mit mbr. Anderfalls erkennt Debian bei Installation bzw. Auswahl der Partionen Windows nicht.

Leider ist die Installation von Windows 7 Pro mit gpt nicht sehr intuitiv. Installiert man z.B. mit einem Datenträger über ein DVD-Laufwerk, muss im Bootmenü des Rechners ganz zu Anfang für die Installation zwingend der Laufwerkeintrag mit “UEFI *Laufwerkname*” ausgewählt werden, nur dann formatiert Windows mit gpt, andernfalls mit mbr. Während der Installation konnte ich keinen erkennbaren Unterschied zwischen diesen beiden Varianten feststellen, ausser das Windows bei der gpt-Variante bei der Partitionierung zwei Bootpartitionen anlegt (aber scheinbar nur eine davon nutzt)!

Feststellen wie die Platte tatsächlich formatiert wurde kann man unter Windows erst nach erfolgter Installation unter “Computerverwaltung” -> “Datenspeicher”-> “Datenträgerverwaltung”. Mit Rechtsclick auf den entsprechenden Datenträger lässt sich unter “Eigenschaften” -> “Volume” erkennen, ob mit mbr oder gpt formatiert wurde.

gpt

Hinweis 3: Partionierungsüberlegungen
Bereits bei der Installation von Windows sollte man sich während der Partionierung Gedanken darüber machen, wie die Festplatte insgesamt fertig partioniert aussehen soll. Möchte man, dass Debian und Windows zusätzlich noch eine Partition gemeinsam nutzen (z.B. ntfs oder fat formatiert), sollte man bereits hier diese Partition vorsehen. Hat man z.B. eine 1 TB – Platte legt man bei der Windowsinstallation beispielhaft folgende Partitionen an:

1. Partition: 600 GB (Windows fügt beim Anlegen der 1. Partition automatisch Bootpartionen hinzu)
2. Partition: 200 GB (die später gemeinsam genutzte Partition)

Die restlichen 200 GB bleiben frei und können für die Debianinstallation genutzt werden.

Hinweis 4: Debian installieren mit EFI Boot
Hat man Windows erfolgreich installiert, so kann Debian installiert werden. Auch hier gibt es bei der Partitionierung etwas zu beachten: es sollte vorab eine EFI-Boot-Partition angelegt werden, andernfalls lässt sich Debian später nicht starten (zumindest nach meiner Erfahrung). Also legt man unter “Manuell” erstmal eine Partition mit 256 MB an und konfiguriert sie auf EFI Boot. Danach kann man (wer es einfach haben möchte) auf geführte Partitionierung gehen – mit freien Systemspeicher nutzen – und lässt die Partitionierung und anschließend die Installation durchführen.

Hinweis 5: Grub2
Hat man nun auch Debian erfolgreich installiert, sollte beim Booten des Rechners Grub2 starten. Ist der Windowseintrag hier noch nicht vorhanden, muss dieser noch manuell hinzugefügt werden. Ich zeige an einem kurzen Beispiel wie das aussehen könnte:

  1. Erstellung eines Skripts “11_Windows”
    Hierfür ist es notwendig, dass man weiß, von welcher Partition aus Windows bootet um festzustellen, mit welchem Typ diese formatiert ist und wie die uuid lautet.
    Mithilfe von z.B. “gparted” lässt sich herausfinden, wie die Partition heißt und wie sie formatiert ist, in meinem Beispiel ist es “/dev/sda1″ und fat32.boot_partition

    Um nun die uuid herauszufinden setzt man mit root-Berechtigung bzw. sudo folgenden command ab (in meinem Fall mit dem oben ermittelten /dev/sda1):
    sudo grub-probe -t fs_uuid -d /dev/sda1

    Jetzt kann man das Skript erstellen (die fettmarkierten Einträge sind mit den ermittelten Werten anzupassen):

    #! /bin/sh -e
    echo "Windows 7 Pro (EFI-Modus)" >&2
    cat << EOF
    menuentry "Windows 7 Professional (EFI-Modus)" {
    insmod fat ODER ntfs
    insmod chain
    search --no-floppy --fs-uuid --set=root ermittelte UUID
    chainloader /EFI/Microsoft/Boot/bootmgfw.efi
    }
    EOF

  2. Skript ausführbar machen und kopieren
    Das Skript muss ausführbar sein, also muss dies hinzugefügt werden:
    chmod +x 11_Windows

    Jetzt muss das Skript nach /etc/grub.d/ kopiert bzw. geschoben werden:
    sudo cp 11_Windows /etc/grub.d/

  3. Grub2 updaten
    Zum Schluss müssen die Einträge noch upgedatet werden:
    sudo update-grub

Damit sollte nun beim Booten des Rechners auch ein Windowseintrag vorhanden und auswählbar sein, so dass Windows startet.

Hinweis 6: Gemeinsam genutzte Partition
Hat man sich, wie oben beschrieben, bereits eine Partition angelegt, muss diese nur noch mit einem Typ formatiert werden, mit dem beide Betriebssystem arbeiten können, wie z.B. fat32 oder ntfs. Formatieren lässt sich die Partition z.B. mit “gparted”.