• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Grub auf externe Festplatte

Ich möchte eine Festplatte für einen noch nicht vorhandenen Rechner fertig machen. Dazu habe ich die vorhandene Festplatte als externe Platte an meinen Laptop angeschlossen, partitioniert , Dateisystem hergestellt und / und /home vom Laptop kopiert. Die fstab ist auch entsprechend geändert. Allerdings bin ich mir bei grub sehr unsicher: wenn ich mit chroot in das kopierte System wechsle, wie bekomme ich eine gültige Grub-Version hin und den Loader in den MBR der externen Platte? Ein erster Versuch landete im MBR des Laptops und der Bootloader hatte zwar die passenden Einträge für den Fall, dass die Platte als sda eingebaut ist, was aber natürlich nicht mit dem Laptop übereinstimmte. Aber da bin ich gut rausgekommen ...

Spielwurm
 
Als erstes mountest du die beiden Partitionen der Platte z.B. /mnt
Code:
mount /dev/sdb1 /mnt
mount /dev/sdb2 /mnt/home

Als nächstes musst du noch /dev, /sys und /proc nach /mnt mounten.

Code:
mount -t devtmpfs /dev /mnt/dev
mount -t sysfs /sys /mnt/sys
mount -t none /proc /mnt/proc

In die chroot Umgebung wechseln:
Code:
chroot /mnt /bin/bash

Kurz testen ob alle Platten in der chroot Umgebung auftauchen und dann mit
Code:
grub-install /dev/sdb

Wenn du die externe Platte später in einen neuen Rechner einbaust, wirst du u.U. nicht darum herum kommen Grub erneut neu zu installieren bzw. per Grubshell die Konfiguration zu korrigieren, weil die Platte im neuen Rechner wieder als /sda verwendet wird.

Du könntest es allerdings mit einem kleinen Trick umgehen. Du installierst dir KVM mit HW Virtualisierung. Anschließend unmountest du die externe Platte und machst folgendes:

Code:
kvm -hda /dev/sdb -cdrom rescue.iso -boot d -k de -sdl

und boote in das Rescue System. Als rescue.iso kannst du ein ISO-Image von einer SuSE Live-DVD verwenden. Dann führst du obiges Prozedere durch und gut.
 
Jedem GRUB 2-Abhängigen kann ich nur empfehlen, sich die Super Grub2 Disk zu holen. In Deinem Fall startest Du den neuen PC damit, startest daraus das Linux auf der Festplatte, und installierst im laufenden System mit gewohnten Mitteln den Bootloader neu.

Wenn Du GRUB legacy verwendest, dann teile uns das mit.

spoensche schrieb:
Wir sind hier bei openSUSE, dieses zu GRUB legacy gehörende Programm funktioniert nur ohne Parameter (wenn /etc/grub.conf nicht existiert oder nicht brauchbar ist, wird die Datei via YaST erzeugt), und bei GRUB legacy ist der ganze Zirkus nicht notwendig.
 
Gut, danke, soweit habe ich das verstanden. Ich war schon im neuen System - wie schon geschrieben. Ich arbeite - wenn es nicht wg. Uefi unbedingt nötig ist - mit dem einfachen Grub und komme ohne großes Problem über den Editiermodus von einem nicht startwilligen Grub in das System, werde das dann mit dem neuen Rechner machen. Was mich allerdings noch interessiert: ist grub-install unabhängig davon, ob die Platte nun sda oder sdb ist oder hält sich das Script an die Einträge in der fstab?

Spielwurm
 
Eine Bootloader-Installation in den MBR führt Yast immer für die Boot-Platte aus, somit kann grub-install ohne manuellen Eingriff in /etc/grub.conf auch nichts anderes.

Sorge dafür, daß die externe Platte in der Datei /boot/grub/device.map des internen System eingetragen ist (als (hd1) bzw. mit der nächsten freien Nummer). Im internen System richtest Du Dich im Prinzip nach http://www.linupedia.org/opensuse/GRUB_wiederherstellen#GRUB_im_MBR, wobei find zwei Zeilen liefern wird, Du nimmst den Wert (hd1,Y) und in der setup-Zeile (hd1) [wenn alles klappt, kannst Du danach den PC von der externen Platte starten].

P. S. Der Befehl chroot kommt bei diesem Vorgehen nicht vor.
 
Oben