[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GRUB2: von anderer Partition booten



Am Dienstag, 5. Juni 2012 schrieb Andre Tann:
> Martin Steigerwald, Montag 04 Juni 2012:
[…]
> > Dann ist nach meinem bisherigen Stand die Idee mit der vorgeschobenen
> > Custom-Konfiguration (siehe eines meiner anderen Postings) wohl als
> > temporäre Übergangslösung geeignet.
> 
> Also in /etc/grub.d hab ich schon herumgeguckt, und bin auch auf
> 40_custom gestoßen. Da steht drin:
> 
> ===schnipp
> #!/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.
> ===schnapp
> 
> Was soll denn jetzt da rein, etwa sowas?

Na, das was da steht. Nach dem Kommentar so ein funktionierender GRUB-
Konfigurationseintrag.

Das Skript gehört den GRUB-Entwickler IMHO eigentlich um die Ohren 
gehauen.

exec ersetzt den Shell-Prozess, der das SKript ausführt durch ein tail auf 
die Skript-Datei ab Zeile 3. Das heißt, wenn Du das ausführst, oder 
update-grub, dann wird der Teil ab der dritten Zeile ausgegeben. update-
grub übernimmt die Ausgabe in die grub.cfg.

martin@merkaba:~> /etc/grub.d/40_custom 
# 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.
martin@merkaba:~>

Und wie Du siehst, könntest Du den Kommentar sogar entsorgen. Ich würd ihn 
aber drin lassen, damit jederzeit deutlich ist, was die GRUB-Entwickler da 
eigentlich für einen Unfug treiben.

> ===schnipp
> #!/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 'Debian GNU/Linux, with Linux 2.6.32-5-amd64' --class debian
> \ --class gnu-linux --class gnu --class os {
>         insmod part_msdos
>         insmod xfs
>         insmod raid
>         insmod mdraid
>         set root='(md0)'
>         search --no-floppy --fs-uuid --set [meine UUID von / hier]
>         echo    'Loading Linux 2.6.32-5-amd64 …'
>         linux   /boot/vmlinuz-2.6.32-5-amd64 \
>         root=UUID=[meine UUID von /boot hier]  ro  quiet
>         echo    'Loading initial ramdisk …'
>         initrd  /boot/initrd.img-2.6.32-5-amd64
> }
> ===schnapp

Sieht gut aus.

insmod xfs noch ersetzen, falls es ein anderes Dateisystem ist. Namen der 
Module findest Du in /boot/grub

> Das habe ich jetzt einfach per Copy&Paste aus einer Maschine
> übernommen, die von md0 starten kann, nur die UUIDs müßte ich halt
> entsprechen

Logisch.

> Ist das so gedacht? Kommt mir komisch vor, weil in den anderen Dateien
> überall Skripte drin sind.

Fast. Als 40_custom landet das hinter den offiziellen Einträgen.

Daher meine Idee cp -p 40_custom 09_custom, damit es vor 10_linux, aber 
nach dem Header und dem Desktop-Thema landet. Schau bei Dir besser nach. 
ob das bei Dir auch so ist. Ich habs hier in Sid nachgeschaut.

Das gesagt: Ich hab das mit GRUB 2 noch nie probiert. No warranties 
whatsoever und so ;).

Ich würde mir /boot/grub/grub.cfg sicherheitshalber dann nochmal 
anschauen, obs update-grub auch entsprechend eingebaut hat.

-- 
Martin 'Helios' Steigerwald - http://www.Lichtvoll.de
GPG: 03B0 0D6C 0040 0710 4AFA  B82F 991B EAAC A599 84C7


Reply to: