[erledigt] GRUB2-einträge nach belieben sortieren?
[erledigt] GRUB2-einträge nach belieben sortieren?
abend,
in aller gebotenen kürze: wie strukturiere ich möglichst elegant und dauerhaft die vorhandenen einträge im GRUB-bootloader um bzw. ändere beliebig deren reihenfolge?
folgendes beispiel: rechner mit Windows7 auf sda1 respektive sda2, ein Debian jeweils auf sda3 und sda4, systeme wurden in angegebener reihenfolge installiert, dementsprechend wurzeldateisystem auf sda4. GRUB ordnet nun die einträge folgendermaßen an:
- Debian (sda4)
- Windows (sda1 respektive sda2)
- Debian (sda3)
wie GRUB auf derlei anordnung kommt bzw. welcher mechanismus nach welcher logik die reihenfolge genau bestimmt ist mir grundsätzlich unklar, zumal früher mit nur einem debianesken system auf sda3 es folgendermaßen zuging:
- Debian (sda3)
- Windows
lange rede, bescheidene quintessenz: wie erreiche ich folgende reihenfolge, welche auch geschichten wie beherzte update-grub's überstehen kann?
- Debian (sda4)
- Debian (sda3)
- Windows
mir ist schon bewusst, daß es für derartige probleme rein ästhetischer natur reichlich spät ist, aber es pressiert ja auch keineswegs, zumal der eigentliche lösungsansatz wahrscheinlich keine familienbibeldicken wälzer füllen dürfte. hope so.
in diesem sinne schon einmal ein vergnügliches wochenende und vielen dank im voraus.
in aller gebotenen kürze: wie strukturiere ich möglichst elegant und dauerhaft die vorhandenen einträge im GRUB-bootloader um bzw. ändere beliebig deren reihenfolge?
folgendes beispiel: rechner mit Windows7 auf sda1 respektive sda2, ein Debian jeweils auf sda3 und sda4, systeme wurden in angegebener reihenfolge installiert, dementsprechend wurzeldateisystem auf sda4. GRUB ordnet nun die einträge folgendermaßen an:
- Debian (sda4)
- Windows (sda1 respektive sda2)
- Debian (sda3)
wie GRUB auf derlei anordnung kommt bzw. welcher mechanismus nach welcher logik die reihenfolge genau bestimmt ist mir grundsätzlich unklar, zumal früher mit nur einem debianesken system auf sda3 es folgendermaßen zuging:
- Debian (sda3)
- Windows
lange rede, bescheidene quintessenz: wie erreiche ich folgende reihenfolge, welche auch geschichten wie beherzte update-grub's überstehen kann?
- Debian (sda4)
- Debian (sda3)
- Windows
mir ist schon bewusst, daß es für derartige probleme rein ästhetischer natur reichlich spät ist, aber es pressiert ja auch keineswegs, zumal der eigentliche lösungsansatz wahrscheinlich keine familienbibeldicken wälzer füllen dürfte. hope so.
in diesem sinne schon einmal ein vergnügliches wochenende und vielen dank im voraus.
Zuletzt geändert von kupe am 08.12.2011 12:31:51, insgesamt 1-mal geändert.
My bash says Ultraman.
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
Zuerst das Betriebssystem auf dem 'update-grub' ausgeführt wird, dann alle anderen von os-prober erkannten Betriebssysteme. Diese sind nach Reihenfolge der Partitionen sortiert.. ist doch logischbolivar hat geschrieben:wie GRUB auf derlei anordnung kommt bzw. welcher mechanismus nach welcher logik die reihenfolge genau bestimmt ist mir grundsätzlich unklar,
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Um die Reihenfolge zu ändern müsstest du dir die Dateien im Verzeichnis '/etc/grub.d/' anschauen. Dort findest du unter anderem die Datei '10_linux', die den Eintrag für das laufende Betriebssystem schreibt und '30_os-prober', die die Einträge für andere Betriebssysteme erstellt.
Ich hab mir mal die Datei '30_os-prober' etwas näher angesehen. Um die Einträge alphabetisch zu sortieren ändere Zeile 35 in der Datei wie folgt ab:
Code: Alles auswählen
OSPROBED="`os-prober | sort -t ':' -k 2 | tr ' ' '^' | paste -s -d ' '`"
![Laughing :lol:](./images/smilies/icon_lol.gif)
Re: GRUB2-einträge nach belieben sortieren?
Wenn es dich nicht stört, das Einträge doppelt vorhanden sind,
dann erstell eine /boot/grub/custom.cfg, Menüpunkte ungefähr so:
benenn die /etc/grub.d/41_custom als /etc/grub.d/08_custom um.
Je nachdem ob du ein bestimmtes oder das zuletzt gestartete System booten willst,
editier noch die /etc/default/grub:
dann erstell eine /boot/grub/custom.cfg, Menüpunkte ungefähr so:
Damit eigene Einträge am Anfang zur Auswahl bereitstehen,menuentry "Debian GNU/Linux, mit Linux 3.0.0-1-686-pae sda6" {
savedefault
insmod ext2
set root='(hd0,5)'
search --no-floppy --fs-uuid --set=root 9514e789-ace5-4cfe-bdb7-fd9b0564970d
linux /boot/vmlinuz-3.0.0-1-686-pae root=UUID=9514e789-ace5-4cfe-bdb7-fd9b0564970d ro vga=791 quiet
initrd /boot/initrd.img-3.0.0-1-686-pae
}
...
benenn die /etc/grub.d/41_custom als /etc/grub.d/08_custom um.
Je nachdem ob du ein bestimmtes oder das zuletzt gestartete System booten willst,
editier noch die /etc/default/grub:
Dann nur noch ein beherztes update-grub ausführen.GRUB_DEFAULT=saved
# oder (Ziffer anpassen)
GRUB_DEFAULT=0
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
Eine Rückmeldung wäre mir lieberbolivar hat geschrieben:vielen dank im voraus
![Razz :P](./images/smilies/icon_razz.gif)
Re: GRUB2-einträge nach belieben sortieren?
bei grub-Fragen doch lieber im voraus, anschließend geht's ja meist nicht mehrr900 hat geschrieben:Eine Rückmeldung wäre mir lieberbolivar hat geschrieben:vielen dank im voraus
![Twisted Evil :twisted:](./images/smilies/icon_twisted.gif)
Beware of programmers who carry screwdrivers.
Re: GRUB2-einträge nach belieben sortieren?
deine wünsche werden neuerdings bereits am ersten dezember erhört:r900 hat geschrieben:Eine Rückmeldung wäre mir lieberbolivar hat geschrieben:vielen dank im voraus
zu allererst die schlechte nachricht: aufgrund des in dieser beziehung fehlenden hintergrundwissens kann ich dir zwar nicht genau beschreiben, wieso/weshalb/warum die vorgeschlagene methode sämtliche einträge verschwinden läßt, aber fakt ist: sie tut es einfach. erschreckend und faszinierend zugleich, die überraschung war's allemal wert.
somit hat grml seine existenzberechtigung mal wieder eindrucksvoll unter beweis gestellt.
nun die bessere: die von detix beschriebene methode funktioniert natürlich einwandfrei, bringt allerdings das schon vorangekündigte problem mit sich, das ausgewählte einträge nun doppelt vorhanden sind; schwer zu beurteilen, ob das nicht auf die dauer anomale formen von hirnsausen verursacht, versuchsreihe hierzu läuft eben momentan noch...
My bash says Ultraman.
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
bolivar hat geschrieben:zu allererst die schlechte nachricht: aufgrund des in dieser beziehung fehlenden hintergrundwissens kann ich dir zwar nicht genau beschreiben, wieso/weshalb/warum die vorgeschlagene methode sämtliche einträge verschwinden läßt, aber fakt ist: sie tut es einfach. erschreckend und faszinierend zugleich, die überraschung war's allemal wert.
![Laughing :lol:](./images/smilies/icon_lol.gif)
Jetzt hab ich's doch mal selbst probiert. Funktioniert bei mir wunderbar. Du fügst nur den rot markierten Teil ein:
OSPROBED="`os-prober | sort -t ':' -k 2 | tr ' ' '^' | paste -s -d ' '`"
Wichtig ist dabei dass du den Doppelpunkt in Apostrophe, nicht Anführungszeichen setzt und den Rest der Zeile, insbesondere den accent ` zu Beginn und am Ende, nicht veränderst. Sehe natürlich gerade dass man das am Bildschirm fast nicht unterscheiden kann.. ich bin eh dafür diese Schreibweise zu verbieten und stattdessen $( ) zu schreiben
![Smile :)](./images/smilies/icon_smile.gif)
Wilde Sachen
Hallo,
Ihr macht hier wilde Sachen.
Schaut euch mal das an:
http://wiki.ubuntuusers.de/GRUB_2/Konfiguration
Könnt Ihr mir hier helfen?
http://debianforum.de/forum/viewtopic.php?f=12&t=133081 ----wurde geändert
MfG
AxelMD
Ihr macht hier wilde Sachen.
Schaut euch mal das an:
http://wiki.ubuntuusers.de/GRUB_2/Konfiguration
Viel Erfolg.Die Abarbeitungs-Reihenfolge der Skripte
Wie man sieht, werden die Skriptnamen von einer Nummer (XX_) angeführt. Die Skripte werden aufsteigend dieser Nummer entsprechend abgearbeitet. Haben zwei Skripte die gleiche Nummer, so bestimmt deren weitere alphanumerische Reihenfolge die Abarbeitung.
Ein Skript mit der Bezeichnung 10_eigenes (Skript) wird vor 10_linux zur Abarbeitung aufgerufen. Auf diese Weise lässt sich die Reihenfolge der Menü-Einträge beeinflussen.
Ein Klassiker dabei ist es, im Verzeichnis /etc/grub.d/ die Datei 30_os-prober in 09_os-prober umzubenennen, um so die Windowseinträge vor den Linuxeinträgen anzuordnen.
Könnt Ihr mir hier helfen?
http://debianforum.de/forum/viewtopic.php?f=12&t=133081 ----wurde geändert
MfG
AxelMD
Zuletzt geändert von AxelMD am 02.12.2011 15:18:30, insgesamt 1-mal geändert.
Re: GRUB2-einträge nach belieben sortieren?
das war tatsächlich der springende punkt; nachdem ich das ganze noch einmal »todesmutig« unter akribischer beachtung sämtlicher satzzeichendifferenzen hineingetappst habe, funktioniert es jetzt wirklich prächtig! merci beaucoup pour tes efforts.r900 hat geschrieben: Wichtig ist dabei dass du den Doppelpunkt in Apostrophe, nicht Anführungszeichen setzt und den Rest der Zeile, insbesondere den accent ` zu Beginn und am Ende, nicht veränderst. Sehe natürlich gerade dass man das am Bildschirm fast nicht unterscheiden kann..
allerdings harrt jetzt noch ein daraus resultiertes und eigentlich vernachläßigbares problem seiner lösung:
durch das »komlette herumdrehen« der systemauflistung werden die partition ja genau rückwärts herum aufgezählt (sda4 > sda3 > sda2 > sda1), wobei Windows7 sda1 für den eigentlichen loader und sda2 für das prinzipielle hauptsystem beansprucht.
deshalb würde ich gerne in dieser bestehenden struktur die jetzige auflistung der beiden Win7-partitionen untereinander vertauschen, also zuerst/oberhalb sda1 und darunter der im bootloader eigentlich vollkommen sinnentleerte eintrag des hauptsystems auf sda2 (folgendermaßen: sda4 > sda3 > sda1 > sda2). ginge derartiges grundsätzlich?
danke für den darüber befindlichen wiki-link, aber wobei konkret soll dir geholfen werden? dein angegebener viewtopic-link verweist sonderbarerweise wieder genau auf den jetzigen thread. kurze erklärung ist hier sicherlich recht hilfreich...AxelMD hat geschrieben: Könnt Ihr mir hier helfen?
http://debianforum.de/forum/viewtopic.php?f=27&t=132969
My bash says Ultraman.
Re: GRUB2-einträge nach belieben sortieren?
Hallo,
das war ein falscher Link, sorry.
Hier der richtige nochmals:
http://debianforum.de/forum/viewtopic.php?f=12&t=133081
MfG
AxelMD
das war ein falscher Link, sorry.
Hier der richtige nochmals:
http://debianforum.de/forum/viewtopic.php?f=12&t=133081
MfG
AxelMD
Re: GRUB2-einträge nach belieben sortieren?
Hirnsausen hin, Hirnsausen her...
Du kannst mit einer custom.cfg nicht nur die Einträge sortieren wie du willst,
sondern auch diverse Live-ISOs die irgendwo rumliegen dort bootfähig einfügen.
Sch... drauf das Einträge doppelt vorhanden sind!
Vielleicht gibt es ja die Möglichkeit die eigenen Menüpunkte von den automatisch erzeugten optisch abzutrennen,
gefunden hab ich da leider noch nichts.
Einen weiteren Vorteil sehe ich in der einfacheren Datensicherung, die custom.cfg zu sichern wird reichen.
Du kannst mit einer custom.cfg nicht nur die Einträge sortieren wie du willst,
sondern auch diverse Live-ISOs die irgendwo rumliegen dort bootfähig einfügen.
Sch... drauf das Einträge doppelt vorhanden sind!
Vielleicht gibt es ja die Möglichkeit die eigenen Menüpunkte von den automatisch erzeugten optisch abzutrennen,
gefunden hab ich da leider noch nichts.
Einen weiteren Vorteil sehe ich in der einfacheren Datensicherung, die custom.cfg zu sichern wird reichen.
Gruß an alle Debianer, und immer daran denken:
Macht ohne Haftung funktioniert nicht!
Macht ohne Haftung funktioniert nicht!
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
Das ist uns bekannt, es geht um die Sortierung der von os-prober erzeugten Einträgen unter sich.AxelMD hat geschrieben:Ihr macht hier wilde Sachen. Schaut euch mal das an: http://wiki.ubuntuusers.de/GRUB_2/Konfiguration
Hat alles seine Vor- und Nachteile. Wenn du z.B. andere Linux-Installationen hast musst du die Einträge immer von Hand anpassen. Es sei denn du arbeitest mit den Befehlen chainloader oder configfile.detix hat geschrieben:Du kannst mit einer custom.cfg nicht nur die Einträge sortieren wie du willst, sondern auch diverse Live-ISOs die irgendwo rumliegen dort bootfähig einfügen.
Da stößt die von mir auf die Schnelle gefundenen Methode an ihre Grenzenbolivar hat geschrieben:deshalb würde ich gerne in dieser bestehenden struktur die jetzige auflistung der beiden Win7-partitionen untereinander vertauschen, also zuerst/oberhalb sda1 und darunter der im bootloader eigentlich vollkommen sinnentleerte eintrag des hauptsystems auf sda2 (folgendermaßen: sda4 > sda3 > sda1 > sda2). ginge derartiges grundsätzlich?
![Smile :)](./images/smilies/icon_smile.gif)
Ich sehe gerade dass os-prober auch nur ein script ist, vielleicht kann ich da noch ein bisschen drin rumpfuschen
![Laughing :lol:](./images/smilies/icon_lol.gif)
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
So, hier nun meine minimal subversive Lösung für beliebige Reihenfolge der os-prober Einträge.
Du erstellst als root mit einem Texteditor die Datei "/usr/bin/my-os-prober" mit folgendem Inhalt:
Dann machst du die Datei mit 'chmod u+x /usr/bin/my-os-prober' ausführbar. In Zeile 35 der Datei "/etc/grub.d/30_os-prober" nimmst du das "sort..." wieder raus und ersetzt "os-prober" durch "my-os-prober". Die Zeile sieht dann also so aus wie im Original, nur dass "my-os-prober" anstatt "os-prober" da steht.
Die Reihenfolge der Einträge wird über das "for i in ..." in obigem code festgelegt. Netter Nebeneffekt, du kannst darüber auch verändern für welche Partitionen überhaupt ein Eintrag erzeugt wird. Partition 4 steht da übrigens nicht drin, weil die nicht durch os-prober sondern "/etc/grub.d/10_linux" erzeugt wird.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Du erstellst als root mit einem Texteditor die Datei "/usr/bin/my-os-prober" mit folgendem Inhalt:
Code: Alles auswählen
#!/bin/bash
OSPROBED="$(os-prober)"
for i in sda3 sda1 sda2;do
echo "$OSPROBED" | sed -n "/^\/dev\/$i:/p"
done
Die Reihenfolge der Einträge wird über das "for i in ..." in obigem code festgelegt. Netter Nebeneffekt, du kannst darüber auch verändern für welche Partitionen überhaupt ein Eintrag erzeugt wird. Partition 4 steht da übrigens nicht drin, weil die nicht durch os-prober sondern "/etc/grub.d/10_linux" erzeugt wird.
Zuletzt geändert von r900 am 04.12.2011 20:35:29, insgesamt 1-mal geändert.
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
@detix: Ich habe übrigens nichts gegen die von dir vorgeschlagene Methode. Ich habe auch einen statischen Eintrag über den ich ein iso-image vom USB-Stick booten kann. Das Eine schließt das Andere ja nicht aus ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Re: GRUB2-einträge nach belieben sortieren?
Hallo r900,
warum installierst Du Grub nicht auf den USB Stick wo sich dein Iso-Image befindet?
Wozu der Umweg über die Festplatte?
MfG
AxelMD
warum installierst Du Grub nicht auf den USB Stick wo sich dein Iso-Image befindet?
Wozu der Umweg über die Festplatte?
MfG
AxelMD
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
Weil ich dann die bootreihenfolge nicht ändern muss und jeden beliebigen USB-Stick nehmen kann ohne vorher grub drauf zu installieren. Als Umweg empfinde ich das nicht, ganz im Gegenteil. ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
Re: GRUB2-einträge nach belieben sortieren?
Hallo r900,
das hat wohl Vorteile.
Das Iso liegt einfacht auf dem dem FAT32 USB Stick?
Was und wie hast Grub2 angepaßt?
Die menutentys müssen doch sowie auf das jeweilige iso angepaßt werden.
Insofern relativiert sich dein Nichanpassungsmußvorteil.
Wie sieht dein /etc/grub.d/40_custom aus?
Was für Isos bootet Du?
MfG
AxelMD
das hat wohl Vorteile.
Das Iso liegt einfacht auf dem dem FAT32 USB Stick?
Was und wie hast Grub2 angepaßt?
Die menutentys müssen doch sowie auf das jeweilige iso angepaßt werden.
Insofern relativiert sich dein Nichanpassungsmußvorteil.
Wie sieht dein /etc/grub.d/40_custom aus?
Was für Isos bootet Du?
MfG
AxelMD
Re: GRUB2-einträge nach belieben sortieren?
herzlichen dank für diesen lösungsansatz, das scheint (auch ohne das nötige vollständige hintergrundwissen) tatsächlich die am wahrscheinlich mit abstand eleganteste lösungsmethode zu sein, zumal man jetzt ja beinahe schon willkürlich mit den einträgen respektive deren erscheinungsformen experimentieren kann.r900 hat geschrieben:So, hier nun meine minimal subversive Lösung für beliebige Reihenfolge der os-prober Einträge.![]()
Du erstellst als root mit einem Texteditor die Datei "/usr/bin/my-os-prober" mit folgendem Inhalt:Dann machst du die Datei mit 'chmod u+x /usr/bin/my-os-prober' ausführbar. In Zeile 35 der Datei "/etc/grub.d/30_os-prober" nimmst du das "sort..." wieder raus und ersetzt "os-prober" durch "my-os-prober". Die Zeile sieht dann also so aus wie im Original, nur dass "my-os-prober" anstatt "os-prober" da steht.Code: Alles auswählen
#!/bin/bash OSPROBED="$(os-prober)" for i in sda3 sda1 sda2;do echo "$OSPROBED" | sed -n "/^\/dev\/$i:/p" done
Die Reihenfolge der Einträge wird über das "for i in ..." in obigem code festgelegt. Netter Nebeneffekt, du kannst darüber auch verändern für welche Partitionen überhaupt ein Eintrag erzeugt wird. Partition 4 steht da übrigens nicht drin, weil die nicht durch os-prober sondern "/etc/grub.d/10_linux" erzeugt wird.
vor allem der besprochene »nette nebeneffekt« hat's mir besonders angetan, da er ja bezüglich der konfigurationsmöglichkeiten und ganz im gegenteil zum heute abend herumirrlichternden Nikolaus praktisch keinerlei wünsche mehr offen läßt.
jedenfalls noch einmal danke für deine bemühungen.
My bash says Ultraman.
- r900
- Beiträge: 1053
- Registriert: 09.10.2011 20:06:11
- Lizenz eigener Beiträge: GNU Free Documentation License
- Wohnort: Stockholm
Re: GRUB2-einträge nach belieben sortieren?
Ist zwar etwas off-topic, aber was soll'sAxelMD hat geschrieben:Das Iso liegt einfacht auf dem dem FAT32 USB Stick?
Wie sieht dein /etc/grub.d/40_custom aus?
![Smile :)](./images/smilies/icon_smile.gif)
Ja der USB-Stick kann ein ganz normales FAT32 Dateisystem haben. Bootfähig sein muss er auch nicht. Mein Eintrag sieht so aus:
Code: Alles auswählen
menuentry "iso-image auf USB (live.iso)" {
loopback loop (hd1,1)/live.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=/live.iso file=(loop)/preseed/ubuntu.seed noeject noprompt --
initrd (loop)/casper/initrd.lz
}
Ich habe noch einen zweiten Eintrag um iso-images von der Festplatte zu starten.
Code: Alles auswählen
menuentry "iso-image auf HDD" {
configfile (hd0,msdos6)/iso/grub-iso.cfg
}
Wie Menüeinträge für andere Live-CD's aussehen findest du evtl hier: http://www.panticz.de/MultiBootUSB
Wenn es nur kleinere Anpassungen sind kann man die auch in grub selbst vornehmen. Man kann einen Eintrag durch drücken der Taste 'e' bearbeiten bevor man ihn ausführt. Da hat man sogar TAB-Vervollständigung von Dateinamen und grub-Befehlen.AxelMD hat geschrieben:Die menutentys müssen doch sowie auf das jeweilige iso angepaßt werden.