Re: GRUB mit zwei bootbaren Disks
Am 22.08.2012 22:29, schrieb Michael Schuerig:
Wie erstellst Du die Kopie? Per dd if=/dev/sda of=/dev/sdb? Oder
mountest Du Dateisysteme und kopierst dateiweise z.B. mit rsync?
Die HD ist viel größer als die SSD und enthält eine Obermenge.
Insbesondere Musik brauche ich nicht auf der SSD. Die SSD ist auf /
gemountet und mit Bind-Mounts habe ich Verzeichnisse, die es nur auf der
HD gibt, eingehängt. Regelmäßig mache ich mit rsync Kopien der SSD an
die korrespondierenden Stellen auf der HD.
Dann würde ich rsync sagen, dass es die boot/grub/menu.lst nicht
kopieren soll. Eventuell noch einen zweiten Kopierjob hinterher, der die
menu.lst als menu.lst.sourcesystem oder so sichert.
Die beiden Partitionen versiehst Du mit unterschiedlichen Labels oder
UUIDs. In der menu.lst des normalen Systems hinterlegst Du statt dem
sd__-Device das Label bzw. die UUID der normalen Partition. Auf der
Kopie entsprechend das/die der Kopie.
Außerdem änderst Du in der Kopie die Einträge für den Kernel auf
/vmlinuz und den für die initrd auf /initrd.img.
Warum: Die Debian-Kernel-Pakete sorgen normalerweise automatisch dafür,
dass diese Symlinks auf den jeweils aktuellen Kernel zeigen. GRUB
beherrscht Symlinks. Das Update der menu.lst, was normalerweise nach
einem Kernelupdate erfolgt, dient eher dazu, verschiedene
Kernelversionen im Bootmenü anbieten zu können. Das brauchst Du ja aber
für Deinen Fall gar nicht.
Dann musst Du GRUB noch in den MBR der zweiten Platte schreiben, und ihm
klarmachen, dass die zweite in diesem Fall die erste Platte ist:
grub<<END
device (hd0) /dev/sdb # Hier NUR /dev/sd_ anpassen, nicht hd_!
root (hd0,0) # Hier NUR die Zahl nach dem Komma ggf. anpassen!
setup (hd0)
quit
END
In Deine menu.lst im normalen System könntest du noch hinter der
Markierung "### END DEBIAN AUTOMAGIC KERNELS LIST"
den Block einkopieren, der in der menu.lst auf dem Reservesystem steht -
mit dem Unterschied, dass statt root(hd0,0) nun root(hd1,0) hineingehört.
Die Device-Namen bzw. Nummern musst Du natürlich auf Deinen Fall anpassen:
sdb führt zu hd1, sdc zu hd2 usw.
Partition 1 gibt "hd_,0", Partition 2 gibt "hd_,1" usw.
/boot/grub/device.map muss natürlich Einträge für beide Platten
enthalten, also z.B.:
(hd0) /dev/sda
(hd1) /dev/sdb
Falls das nicht drinsteht, schreibt grub-install --recheck /dev/sda die
Datei neu.
Das ganze gilt für grub-legacy - falls es mit GRUB2 überhaupt
funktionieren sollte, möge es Dir jemand anderes erklären.
Gruß
Stefan
Reply to: