[[Vorlage(Archiviert, "Keine der angegebenen Windowsversionen wird noch unterstützt.")]] {{{#!vorlage Wissen [:Desktop-CD: Ubuntu von einer Live-CD starten] [:GParted#Installation: Starten des Partitionseditors] [:Manuelle Partitionierung:] [:GParted: Setzen von Markierungen im Partitions-Manager] [:GRUB_2/Skripte: Die Konfiguration des Bootmanagers GRUB bearbeiten] [:Terminal#GNOME-Ubuntu: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(2)]] = Multi-Boot-Installation mit versteckten Windows-Systemen = [[Bild(Wiki/Icons/ubuntu.png,48,align=left)]] [[Bild(Wiki/Icons/windows_users.png,48,align=left)]] Dieser Artikel beschreibt, wie man mehrere Windows-Systeme unabhängig voneinander neben einer oder auch mehrerer Ubuntu-Installationen einrichtet. Dabei werden die Windows-Installationen voreinander versteckt. == Warum verstecken? == Installiert man mehrere Windows-Systeme auf einem Computer, so landen die eigentlichen Startdateien, um Windows laden zu können, standardmäßig alle auf der selben Partition. Über den Bootmanager der zuletzt installierten Windows-Version werden dabei die schon vorhandenen Windows-Systeme gestartet. Dies funktioniert aber automatisch nur, wenn die zuletzt installierte Windows-Version die zuvor installierten Windows-Versionen erkennen kann. Das ist in der Regel nur bei der neuesten Windows-Version der Fall. Deswegen muss man entweder eine bestimmte Installationsreihenfolge einhalten - nämlich von alt nach neu - oder man muss auf recht umständliche Art einem älteren Windows-Bootmanager beibringen, ein neueres Windows zu starten. Installiert man auf ein solches System Ubuntu, so wird standardmäßig [:GRUB_2/Grundlagen:GRUB 2] der Haupt-Bootmanager für das gesamte System, über den dann auch der Bootmanager der zuletzt installierten Windows-Version aufgerufen wird. Somit hat man zwei Boot-Menüs mit teilweise gleichen Auswahl-Möglichkeiten hintereinander, was viele als verwirrend und ineffektiv empfinden. Versteckt man aber die Windows-Versionen voreinander, so werden deren Boot-Dateien auf die Partition installiert, auf die auch das jeweilige Windows-System installiert wird. Dadurch sind die Windows-Versionen voneinander unabhängig, so dass die Reihenfolge der Windows-Installationen beliebig erfolgen kann. Über GRUB 2 kann man dann jeweils direkt den Bootmanager der Windows-Version laden, die man auch starten möchte. == Vor- und Nachteile des Versteckens == Das Verstecken der Windows-System-Partitionen hat aber auch nicht nur Vorteile: || '''Vorteile''' || '''Nachteile''' || || <^cellstyle=width:50%;> GRUB kann direkt den Bootmanager der Windows-Version starten, die letztlich auch geladen werden soll. || <^cellstyle=width:50%;> Mit dieser Methode kann man neben Ubuntu maximal drei Windows-Versionen installieren, da die [wikipedia:Partitionstabelle:] auf der Festplatte eines IBM-DOS-kompatiblen PC nur maximal vier Primär-Partitionen aufnehmen kann. || || <^> Nach Entfernen eines Windows-Systems bleiben die noch vorhandenen Windows-Systeme ohne Nacharbeiten über GRUB startbar. || Da die Systeme voreinander versteckt werden, kann man zunächst nicht von einem Windows-System auf ein anderes Windows-System zugreifen. Dazu muss die entsprechende Windows-Partition erst manuell sichtbar gemacht werden. || || <^> Die Reihenfolge, in der die Windows-Versionen aufgespielt werden, spielt keine Rolle. || Sollte Ubuntu und damit auch GRUB deinstalliert werden, sind Nacharbeiten notwendig, um alle vorhanden Windows-Versionen wieder starten zu können. || || XP löscht normalerweise alle Wiederherstellungspunkte, die es auf der Partition von neueren Windows-Versionen findet. Das Problem ist bei Microsoft bekannt und die offizielle [https://support.microsoft.com/kb/926185/de Support Page von Microsoft] {de} schlägt einige Änderungen in der Registry vor. Das Verstecken von neueren Windows-Versionen vor Windows XP umgeht diese Problematik. || || = Vorgehensweise = Wie bereits eingangs erwähnt, spielt die Installations-Reihenfolge keine Rolle. Das gilt aber nur, wenn man folgende Grundsätze beachtet: {{{#!vorlage Warnung Sind auf dem Computer bereits andere Betriebssysteme vorhanden, so sollten wichtige Daten vor einer weiteren Installation gesichert werden. Hat man für die bereits installierten Betriebssysteme außerdem kein Installations-Medium zur Hand, so sollte man von dem betreffende System ein vollständiges Backup anlegen. }}} 1. Primär-Partitionen, die für die jeweilige Windows-Installation nicht genutzt werden sollen, müssen unbedingt zuvor [#Schritt-3---Verstecken-der-Windows-Partition-mit-der-Ubuntu-Live-CD versteckt] werden, da andernfalls die Startdateien für das zur Installation stehende Windows unter Umständen nicht auf die gewünschte Primär-Partition abgelegt werden. Zudem schützt dies davor, dass die Primär-Partitionen, die für die Installation nicht genutzt werden sollen, bei der Installation eventuell beschädigt werden. 1. Um nach einer Windows-Installation sämtliche Systeme starten zu können, muss GRUB, sofern er bereits installiert war, [:GRUB_2/Reparatur: wiederhergestellt] und [#Schritt-6---Anpassen-der-Konfigurationsdatei-des-GRUB angepasst] werden. == Schritt 1 - Vorbereitung der Festplatte mittels Ubuntu-Live-CD == Als erstes startet man das System mit der [:Live-CD:][1], öffnet GParted[2] und partitioniert die Festplatte manuell[3]. Dabei ist es wichtig, dass für die Windows-System-Partitionen jeweils eine Primär-Partition eingerichtet wird, so dass sich folgendes Partitions-Schema empfiehlt: || '''Partition''' || '''Bezeichnung''' || '''Inhalt''' || '''erforderlich/optional''' || || <-2>1. Primär-Partition || XP || Windows XP || erforderlich || || <-2>2. Primär-Partition || Vista || Windows Vista || erforderlich || || <-2>3. Primär-Partition || Win7 || Windows 7 || optional || || <-2>Erweiterte Partition || erweitert || || erforderlich || || || 1. Logische Partition || Ubuntu || Ubuntu || erforderlich || || || 2. Logische Partition || swap || Auslagerungsdatei (Swap) || erforderlich || || || 3. Logische Partition || windata || Windows-Daten || optional || Die Bezeichnung und der Inhalt der Partitionen ist austauschbar. So könnte die 1erste Primär-Partition z.B. auch Windows 7 und die zweite Primär-Partition Windows XP aufnehmen. Abschließend setzt man die Markierung der ersten Primär-Partition auf ''"boot"''[3] und stellt die beiden anderen Primär-Partitionen auf ''"hidden"''. == Schritt 2 - Installation der ersten Windows-Version == [[Bild(Wiki/Icons/hd-windows.png,48,align=left)]] Als nächstes startet man das System mittels der Windows-Installations-CD/DVD, welche man auf die erste Primär-Partition installieren will. Welche Version das ist, ist wie bereits erwähnt egal, sofern man wie in Schritt 1 beschrieben, die übrigen Primär-Partitionen versteckt hat. == Schritt 3 - Verstecken der Windows Partition mit der Ubuntu Live-CD == Nach erfolgreicher Windows-Installation startet man das System nun wieder mit der Ubuntu-Live-CD, öffnet GParted und setzt die Partition, auf der man gerade das Windows installiert hat, auf ''"hidden"'' und entfernt die Markierung ''"boot"''. Außerdem setzt man die Partition, auf der nun das nächste Windows installiert werden soll, auf ''"boot"'' und entfernt dort das ''"hidden"''. == Schritt 4 - Installation der nächsten Windows-Version == [[Bild(Wiki/Icons/hd-windows.png,48,align=left)]] Nun startet man die zweite Windows-Version von der entsprechenden Installations-CD/DVD und installiert diese auf der zweiten Primär-Partition. {{{#!vorlage Hinweis Je nach verwendeter Windows-Version werden die versteckten Partitionen innerhalb des Windows-Setup zwar angezeigt, können für eine Installation aber nicht ausgewählt werden bzw. es kommt zu einer Fehlermeldung, falls man es versehentlich doch versucht. }}} == Schritt 5 - Installation von Ubuntu == [[Bild(Wiki/Icons/hd-linux.png,48,align=left)]] Jetzt kann Ubuntu installiert und eingerichtet werden. Bei der Installation ist dabei darauf zu achten, dass man die Option im Setup anwählt, die einem das manuelle Festlegen und Ändern der Partitionen erlaubt. Dort kann man dann die bereits erstellten Ubuntu-Partitionen den gewünschten Einhängepunkten zuweisen. == Schritt 6 - Anpassen der Konfigurationsdatei des GRUB == [[Bild(Wiki/Icons/Oxygen/text-x-generic.png,48,align=left)]] Damit die Windows-Versionen entsprechend weiterhin voreinander versteckt bleiben, muss man die Konfigurationsdatei des GRUB anpassen. {{{#!vorlage Warnung Windows kann nicht von einer versteckten Partition starten! }}} === GRUB 2 === GRUB 2 erkennt zwar mittels des Skriptes '''/etc/grub.d/30_os-prober''' grundsätzlich die Starteinträge der verschiedenen Windows-Versionen auch dann, wenn deren Partition versteckt sind, die so generierten Einträge kümmern sich aber nicht um das Sichtbar- bzw. Unsichtbarmachen der verschiedenen Windows-Versionen. Also muss auch hier manuell nachgebessert werden. Zunächst kann man aber die mittels os-prober erkannten Starteinträge aus der Datei '''/boot/grub/grub.cfg''' kopieren und als Grundlage für die angepassten Einträge verwenden. Nachdem man diese Einträge aus dem Abschnitt `30_os-prober` kopiert hat, öffnet man die Datei '''/etc/grub.d/40_custom''' zur Bearbeitung und fügt sie dort ein. GRUB 2 verwendet `parttool`, um Partitionen zu bearbeiten. Damit kann man unter anderem Partition sichtbar machen oder verstecken sowie die Boot-Markierung setzen: [[Bild(Wiki/Icons/Oxygen/preferences-system.png,48,align=left)]] {{{#!code bash #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "Microsoft Windows XP Home Edition (on /dev/sda1)" { insmod ntfs parttool (hd0,1) hidden- parttool (hd0,3) hidden+ parttool (hd0,2) hidden+ parttool (hd0,1) boot+ set root=(hd0,1) search --no-floppy --fs-uuid --set 12acd9f9acd9d6f7 drivemap -s (hd0) ${root} chainloader +1 } menuentry "Windows Vista (loader) (on /dev/sda2)" { insmod ntfs parttool (hd0,2) hidden- parttool (hd0,1) hidden+ parttool (hd0,3) hidden+ parttool (hd0,2) boot+ set root=(hd0,2) search --no-floppy --fs-uuid --set 5aec3f20ec3ef5bb chainloader +1 } menuentry "Windows 7 (loader) (on /dev/sda3)" { insmod ntfs parttool (hd0,3) hidden- parttool (hd0,1) hidden+ parttool (hd0,2) hidden+ parttool (hd0,3) boot+ set root=(hd0,3) search --no-floppy --fs-uuid --set 66ab81cd593c1aa6 chainloader +1 } }}} In diesem Beispiel befindet sich auf '''sda1''' Windows XP, auf '''sda2''' Windows Vista und auf '''sda3''' Windows 7. In den jeweiligen Abschnitten wird im `search`-Befehl die UUID der entsprechenden Partition angegeben (z.B. `12acd9f9acd9d6f7`). Diese Angaben müssen der tatsächlich vorgefundenen Situation angepasst werden. Nun speichert und schließt man das Skript '''40_custom'''. Danach muss man noch dafür sorgen, dass das Skript '''/etc/grub.d/30_os-prober''' nicht mehr abgearbeitet wird, in dem man die Datei '''/etc/default/grub''' zur Bearbeitung öffnet und dort folgende Zeile einfügt: {{{ GRUB_DISABLE_OS_PROBER=true }}} Schließlich öffnet man ein Terminal[6] und übernimmt die Anpassungen mit folgendem Befehl endgültig: {{{#!vorlage Befehl sudo update-grub }}} #tag: Ubuntu, Installation, GRUB, Partitionierung