Opensuse 13.2 und WIndows 7 SP1 EFI

Habe die beiden oben genannten Betriebsysteme auf meinem Rechner installiert.
Als Platte fungiert eine Samsung 850 Pro 512GB. Die eine Hälfte für Windows und die Andere für Linux.
Windows hat 3 Partitionen. Eine für Bootcode (vfat), die Zweite für den Bootloader (ntfs) und die Dritte als Systempartition (ntfs).
Linux: 512MB für /boot, 50GB für /(root), 100GB für /home, 44GB für /var und 44GB für /tmp.

Als Installationsort für Grub2 habe ich den MBR der SSD ausgewählt.
Der Installer hat die Windowsinstallation nicht erkannt, was zur Folge hat, daß ich im Bios zwischen MBR und Windowsbootcode zur Zeit wechseln muß.

Gibt es eine Anleitung, wie die Windowsinstallation zu Grub2 hinzufügen kann?

Ist im Prinzip nicht viel anders als bei Grub1, ein paar Threads darüber gabs auch schon hier im Forum.
Allerdings wird Grub2’s Menü (/boot/grub2/grub.cfg) normalerweise automatisch generiert, sodass manuelle Änderungen verloren gehen.

Eigene Einträge solltest du daher entweder in grub.cfg zwischen den Zeilen “### BEGIN /etc/grub.d/90_persistent ###” und “### END /etc/grub.d/90_persistent ###” machen, oder in der Datei /boot/grub2/custom.cfg (einfach neu anlegen, falls sie noch nicht existiert).Andere Möglichkeit wäre ein Skript in /etc/grub.d/, dass den Eintrag erzeugt, /etc/grub.d/40_custom ist bereits genau dafür vorhanden einen eigenen Eintrag anzulegen.
Ich persönlich bevorzuge die Variante über /boot/grub2/custom.cfg, aber das ist Geschmackssache.

Ich hab kein Windows 7, aber mein Windows XP Eintrag schaut folgendermassen aus: (unwichtige Zeilen weggelassen)

menuentry 'Microsoft Windows XP Professional (auf /dev/sdb1)' --class windows --class os {
        insmod part_msdos 
        insmod ntfs
        set root='hd1,msdos1'
        drivemap -s (hd0) ${root}
        chainloader +1
}


Das lädt einfach den ersten Sektor von der Windows Partition und führt ihn aus (chainloading des Windows Bootloader).

Die Zeile “set root” musst du natürlich entsprechend anpassen, damit sie auf die Partition mit dem Windows Bootloader zeigt.
hd1 gibt dabei die Platte an (numeriert beginnend mit 0, hd1 ist also die zweite Platte), msdos1 die Partition (hier wird bei 1 mit dem Zählen begonnen, msdos1 ist also die erste Partition).

Da du schreibst, dass du den Bootcode auf einer vfat Partition hast, solltest du wohl diese angeben, und statt “insmod ntfs” “insmod fat” schreiben, um das richtige Dateisystem-Modul zu laden (in meiner Erfahrung ist das aber meistens gar nicht notwendig).

Nachsatz: Ich hoffe ich verstehe dich richtig, dass du die alte Legacy/MBR Partitionierung verwendest mit max. 4 primären Partitionen. Für das neuere GPT müsstest du die Partition mit “gpt1” angeben, und statt “insmod part_msdos” sollte “insmod part_gpt” stehen. (wobei diese Zeile vermutlich sowieso unnötig ist, das entsprechende Partitionsmodul sollte sowieso schon vorher geladen werden)

PS: Normalerweise sollten andere Betriebssysteme aber automatisch gefunden und hinzugefügt werden. Dafür muss aber im YaST die Option “Fremdes OS testen” aktiviert sein. (YaST->System->Bootloader->Bootloader-Optionen)

Ich benutze GPT-Patitionierung.