Also,
(0. Wenn ich von grub rede meine ich grub nicht grub2. Ich hab nicht viel Plan von grub2, es wird über eine Metaconfigdatei irgendwo in 8| /etc konfiguriert, und über grub-mkconfig werden dann die eigentlichen Konfigdateien nach /boot/grub/ generiert (es ist wirklich nicht schwierig über synaptic nach grub-legacy zu wechseln) /ich benutzt grub2 auf einem usb stick um *iso dateien zu booten, für ein einfaches hdd dualboot ist es übertrieben komplex.)
1. Sowohl Windows als auch /boot (incl. der Grub-Dateien (nach Belieben das gesamte System)) können jeweils auf einer beliebigen Partition auf einer beliebigen Platte liegen.
2. Das Bios übergibt den Bootvorgang, je nachdem wie es eingestellt ist, an die interne Platte oder die UB-Platte, genauer, an deren bootloader. Das sind die ersten 466 Byte, ein Teil des MBR. (Problem, wenn die UB abgedockt ist, wird an die interne Platte übergeben. Dazu später)
3. Sowohl Grub, als auch Windows wollen jeweils ihren eigenen Bootloader installieren. Zumindest bei Ubuntu kann man das auch wärend der installation unterdrücken, ist aber nicht ganz offensichtlich, man muss aufmerksam sein.
4. Man hat nun die Wahl, ob man grub verwendet, und sowohl Windows als auch Linux zu booten (orthodox), oder den bootloader von windows. (unorthodox, funktioniert aber auch, nur bieten das keine Installationsroutinen an). Grub kann den Bootmanager von Windows starten (das ist die ntldr) der bootloader von windows wird dann normalerweise nicht mehr gebraucht. Windows kann von Hause aus kein grub starten, aber es kann den Bootvorgang einer beliebigen andere Partition übergeben, und ein bootloaderimage (z.b. das von grub) Zuhilfe nehmen.
Für was man sich nun entscheidet, die entsprechende partition, auf die der Bootloader zugreifen soll, sollte die erste Partition der Platte sein, die bootbar markiert ist. (Ausnahme chainload oder boot.ini + grub Bl Image.
5. das Bootmenu wird im Windowsfalle über die boot.ini generiert (evtl. ist die schreibgeschützt und versteckt, normalerweise auf c
im grub Falle über die /boot/grub/menu.lst (und die /boot/grub/devices.cfg bei grub2 über eine unübersichtliche Zahl von dateien in /boot/grub/
6. Um ein grub image zu erstellen macht man ein
Code:
dd if=/dev/hdX of=/pfad/grub.mbr count=1 bs=512
Das X musst Du der entsprechenden Platte anpassen, "pfad" wohin du schreiben willst
und kopiert die Datei irgenwohin wo man von Windows drauf zugreifen kann.
7. In einem banalen XP speichert man die grub.mbr nach c:\ (oder welchem Buchstaben auch immer boot.ini und ntldr liegen) man öffne die boot.ini und trage Grub als menüpunkt ein, und setzte die Sekunden, welche zum auswählen die zur Verfügung stehen sollen z.B. auf 8. Die Syntax der boot.ini
ist hier beschrieben
8. Wenn man sich entscheidet, Windows von grub(1!) aus zu starten und das grub wurde von der 1. Platte gestartet (also der Platte, die im bios als erste Bootplatte eingetragen ist, Windows aber auf der 2. Platte ist, dann muss Grub Windows noch vorgaukeln es sei auf der ersten Platte, sonst will Windows nicht.
Das passiert in dem Windowseintrag der menu.lst mit der option
. Normalerweise installiert man erst Windows, dann Linux (incl. Grub oder Grub2), Die Linuxinstallation erkennt Windows im Idealfall, und legt einen eintrag in der menu.lst (sofern grub, nicht grub2) an. Im idealfall auch, wenn Windows auf einer anderen Platte liegt, und im noch idealeren Fall klappt auch das eintragen von map (0,1) usw.
Hier ist aber ein Spezialfall. Die erste Platte (Ultrabase) wird hin und wieder abgedockt, und schwupps, ist die zweite interne HDD die erste. Daher finde ich das auch etwas unglücklich, zuerst von der Ultrabase zu booten, weil man immer ein Exotensystem im auge behalten muss, aber es hat sofern möglich gewisse Eleganz.
9. Nun bietet sich natürlich an: Linux, incl. Grub ist auf der UB Platte, die wird, sofern angedockt auch zuerst gebootet, und wenn man trotz Docking nach Windows booten will, wählt man das eben in grub aus. Ohne Ultrabase ist die Kiste linuxfrei und man bootet mittels windowsmbr. Das sei soweit graue Theorie, dementsprechend das Folgende:
Ich würde testweise wie folgt vorgehen:
- Windows mit CD/DVD in der Ultrabase installieren
- UB Platte rein, UB PLatte als erste bootbar machen, Ubuntu draufdudeln (dabei zumindest /home falls gesondert auch /boot als ext3 mit 128 inode, damit man später von windows aus drauf zugreifen kann)
- grub2 mit grub-legacy austauschen
- Rebooten, und gucken, ob ubuntu noch läuft.
- in die /boot/grub/menu.lst gucken, ob da was von map (0,1) und chainload +1 steht
- wenn nicht, map (0,1) (1,0) eintragen (und nach grub und map googeln und gucken, ob hanseatic sich nicht mit der syntax vertan hat)
- Windows über grub booten
- undocken und windows normal booten
10. Wenn hier unerwähnt oder überlesen irgend ein Rescue and Recovery oder Truecrypt im Spiel ist, hab ich mir nen Wolf fürn A.... getippt :S X(
11. Vorschlag: Thread nach Ultrabay Dualboot umbenennen.
12. Vorschlag: Thread nach Linux und OSX verschieben.