Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Starten eines Linux ohne Bootmenu als 2. Partition

15 views
Skip to first unread message

Ralf Lehmeier

unread,
Jan 30, 2017, 2:17:04 PM1/30/17
to
Hallo!
Ich habe ein Test-Manjaro als 2. Partition, neben einem Win 7 Ultimate,
auf dem Rechner.
Nun habe ich leider den MBR so überschrieben das nur noch Win startet.

Gibt es eine Möglichkeit - Z.B eine Distri mit der ich das Linux dennoch
starten kann?
Läuft es erst einmal, dann kann ich den Bootmanager wieder installieren
und alles ist wieder gut.

MfG R.Lehmeier

Sven Hartge

unread,
Jan 30, 2017, 2:46:35 PM1/30/17
to
Debian und Ubuntu bieten beim Starten der Installations/Live-CD einen
Menüpunkt "installiertes System von Festplatte starten", welches soetwas
leistet. Vielleicht bietet Manjaro das ja auch.



--
Sigmentation fault. Core dumped.

Andreas Kohlbach

unread,
Jan 30, 2017, 2:49:38 PM1/30/17
to
AFAIK kann auch Windows andere OS, wie Linux, booten.

Sonst von Live-CD oder USB booten, die Linux Partition der Festplatte
einhängen (ist vielleicht schon, sonst im Dateimanager der Live-CD diese
anklicken).

Dann

sudo grub-install --root-directory=/wo_sie_eingehängt_ist /dev/sda

eingeben in der Annahme, sda ist die Platte, wo der neue MBR geschrieben
werden soll.

"wo_sie_eingehängt_ist" ist oft /media auf der Live-CD, und danach eine
Kombination aus Ziffern und Buchstaben. Also etwas wie

/media/12345ABCDE
--
Andreas
You know you are a redneck if
you have a picture of johnny cash, willie nelson, or elvis over your fireplace.

Thomas 'PointedEars' Lahn

unread,
Jan 30, 2017, 4:26:01 PM1/30/17
to
Andreas Kohlbach wrote:

> Sonst von Live-CD oder USB booten, die Linux Partition der Festplatte
> einhängen (ist vielleicht schon, sonst im Dateimanager der Live-CD diese
> anklicken).
>
> Dann
>
> sudo grub-install --root-directory=/wo_sie_eingehängt_ist /dev/sda
>
> eingeben in der Annahme, sda ist die Platte, wo der neue MBR geschrieben
> werden soll.
>
> "wo_sie_eingehängt_ist" ist oft /media auf der Live-CD, und danach eine
> Kombination aus Ziffern und Buchstaben. Also etwas wie
>
> /media/12345ABCDE

Die Option “--root-directory” wird anscheinend von grub-install(8)
2.02~beta2-22+deb8u1 unterstützt:

$ sudo grub-install --root-directory
grub-install: option '--root-directory' requires an argument
Try 'grub-install --help' or 'grub-install --usage' for more information.

Aber sie ist anscheinend nicht offiziell dokumentiert; nicht in der Manpage,
nicht im TeXinfo-Manual, und noch nicht mal mit “--help” oder “--usage”:

| $ sudo grub-install --help | grep root
| --efi-directory=DIR use DIR as the EFI System Partition root.
|
| $ sudo grub-install --usage | grep root
|
| $ sudo grub-install --version
| grub-install (GRUB) 2.02~beta2-22+deb8u1

Ich empfehle deshalb, stattdessen die dokumentierte Option
“--boot-directory” zu verwenden, d. h.

grub-install --boot-directory=/wo_sie_eingehängt_ist/boot /dev/sda

Denn grub-install(8) schreibt per Default seine Images in /boot/grub/. Man
muss deshalb in diesem Fall das Verzeichnis angeben, in das /boot *auf der
Ziel-root-Partition* gemountet wird.

(Die Verwendung von sudo ist in der Regel bei Rettungssystemen überflüssig,
da man bereits “root” ist.)

Falls /wo_sie_eingehängt_ist/boot/ sich normalerweise auf einer anderen
Partition befindet als /wo_sie_eingehängt_ist/, muss man das vorher auch
noch machen, sonst werden die Dateien an der fhcsalen Stelle abgelegt und
später durch das Mounten nicht-offensichtlich *überlagert* (nicht:
überschrieben). Zum Beispiel vorher

mount /dev/sda1 /wo_sie_eingehängt_ist/boot

Anschliessend sollte man *am besten in einer chroot-Umgebung, sonst müllt
man sich das GRUB2-Menü mit Einträgen für die alten Partitionen voll*
update-grub(8) ausführen, sonst wird die grub.conf nicht aktualisiert und
die Platte bootet möglicherweise trotzdem nicht:

<http://superuser.com/a/111215/125462>

(Es lohnt sich, diese Befehle in ein Shellscript zu schreiben, das man zum
Beispiel im Rettungssystem ablegt, denn das braucht man immer wieder.)

Siehe auch <https://wiki.ubuntuusers.de/GRUB_2/Installation/>.


Wichtig ist auch, dass die neue Platte bei der GRUB2-Installation denselben
Hardwarepfad hat wie den, wenn von ihr nachher gebootet wird. Denn GRUB2
speichert *diesen* in der Konfiguration, z. B. “(hd0,msdos1)” für die erste
primäre MBR-Partition auf der ersten angeschlossenen Festplatte. Ändert
sich das zum Beispiel nach dem Einbau einer neuen Platte, muss man später
händisch im GRUB2-Menü oder gar der grub.conf herumfrickeln. Also am besten
alle nicht zwingend benötigten Partitionen (*auch* die über USB
angeschlossenen) unmounten und die entsprechenden Datenträger vom Computer
trennen; nötigenfalls im BIOS/UEFI-Setup die Boot-Reihenfolge ändern (dank
Verwendung von UUIDs für Partitionen sollte die alte Platte dann trotzdem
noch booten).

Ich habe das gestern beim erfolgreichen Wechsel von einer inzwischen nicht
mehr zuverlässig arbeitenden SSD¹ als Systemplatte auf eine neue² erlebt:

Samsung liefert praktischerweise in der “Starter kit”-Variante der 850 EVO
(neue Platte) einen USB-zu-SATA-Adapter mit; wenn man dann GRUB2 auf der
über USB angeschlossenen Platte installiert, heisst diese zum Beispiel
/dev/sdb und die später zu bootende Partition hat z. B. den Hardwarepfad
“(*hd1*,msdos1)”, weil ja /dev/sda bzw. “hd0” schon die noch fest eingebaute
Platte ist. Nachdem die alte Platte ausgebaut und die neue eingebaut ist,
ist aber die *neue* Platte logisch /dev/sda und physisch *hd0*.

Ebenso muss man nach dem Synchronisieren die /etc/fstab, /etc/uswsusp.conf
und noch mindestens die /etc/initramfs-tools/conf.d/resume (letztere beide
für Hibernate/Resume) anpassen und nach letzterem auch update-initramfs(8)
mit “-t” ausführen, falls darin UUIDs von Partitionen verwendet werden (bei
der /etc/fstab ist das offensichtlich). Ich hatte, nachdem ich dann endlich
alle Daten auf der neuen Platte hatte und von dieser booten konnte, das
Problem, dass der Bootvorgang nur startete, wenn noch die alte Platte über
USB angeschlossen war (ansonsten hing der Kernel bzw. das init(8) auf dem
initramfs bei “Loading … [keine weiterführende Information]”.

Der Grund: In den genannten Dateien war die Swap-Partition per UUID
referenziert (für Swap und Hibernate/Resume), und es war natürlich noch die
UUID der Swap-Partition auf der *alten* Platte. Das war schon einerseits
witzig, andererseits zum Haareraufen: Unmittelbar nachdem ich die alte
Platte per USB angeschlossen hatte und diese erkannt worden war, lief der
Bootvorgang von der *neuen* Platte munter weiter. Gemountet auf der alten
Platte war aber nichts, somit das Problem nicht offensichtlich (deshalb
beschreibe ich es hier so ausführlich – “sharing is caring” :)). ack(1)
fand überraschenderweise auch nicht alle kritischen Konfigurationsdateien,
“grep -Inrie $alte_UUID_auf_Verdacht_mit_blkid_ermittelt /etc/” hingegen
schon.

_______
¹ Micron RealSSD C300, 128 GB; hat mindestens 3 Jahre im Dauerbetrieb
gut funktioniert; ich hatte sie mit dem Notebook etwa 2 Jahre, bevor
die ersten Schreibfehler auftraten, gebraucht gekauft.
² Samsung V-NAND SSD 850 EVO, 1 TB; sehr gute Bewertung in allen relevanten
Fachzeitschriften und von Usern. Normalerweise nicht so ein gutes
Preis-/Leistung-Verhältnis, aber in diesem Fall ein lokales Schnäppchen
aufgrund „55 Jahre SATURN“.
--
PointedEars

Twitter: @PointedEars2
Please do not cc me. / Bitte keine Kopien per E-Mail.

Thomas 'PointedEars' Lahn

unread,
Jan 30, 2017, 4:32:12 PM1/30/17
to
Captain’s log, supplemental.

Thomas 'Ingrid' Lahn wrote:

> Wichtig ist auch, dass die neue Platte bei der GRUB2-Installation
> denselben Hardwarepfad hat wie den, wenn von ihr nachher gebootet wird.
> Denn GRUB2 speichert *diesen* in der Konfiguration, z. B. “(hd0,msdos1)”
> für die erste primäre MBR-Partition auf der ersten angeschlossenen
> Festplatte. Ändert sich das zum Beispiel nach dem Einbau einer neuen
> Platte, muss man später händisch im GRUB2-Menü

Gemeint ist das Menü, was beim Booten erscheint, wenn man GRUB so
konfiguriert hat. Mit “e” kann man die Konfiguration des ausgewählten
Menüeintrags (IIUC nur temporär) bearbeiten.

> oder gar der grub.conf herumfrickeln.

Die betreffende Konfigurationsdatei hat tatsächlich den Pfad
/boot/grub/grub.cfg

Bernd Mayer

unread,
Jan 31, 2017, 5:03:36 AM1/31/17
to
Am 30.01.2017 um 20:17 schrieb Ralf Lehmeier:
> Ich habe ein Test-Manjaro als 2. Partition, neben einem Win 7 Ultimate,
> auf dem Rechner.
> Nun habe ich leider den MBR so überschrieben das nur noch Win startet.
>
> Gibt es eine Möglichkeit - Z.B eine Distri mit der ich das Linux dennoch
> starten kann?

Hallo,

Super Grub2 Disk siehe:
http://www.supergrubdisk.org/


Bernd Mayer



Ralf Lehmeier

unread,
Feb 11, 2017, 10:35:20 AM2/11/17
to
Bernd Mayer schrieb:
Danke an alle die geholfen haben.
Ich habe über den Link
https://wiki.manjaro.org/index.php/Restore_the_GRUB_Bootloader das
System wieder zum laufen bekommen.

MfG R.Lehmeier
0 new messages