staging.inyokaproject.org

GRUB-Menü: Ubuntu 18.04 zusätzlich zu 22.04 und Windows in GRUB einbinden

Status: Ungelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 10674

Hej Hartmut2,

Hartmut2 schrieb:

...Ich dachte mir, 2 gleiche UUID's wären nicht gut in 1 System und habe via 'gparted' der /dev/sdb2 eine neue UUID vergeben und diese auch in der zugehörigen /etc/fstab angepasst.

das hast Du gut gemacht.

Frage: muß ich diese neue UUID auch noch in der zugehörigen /boot/grub/grub.cfg anpassen oder erledigt der der Befehl 'sudo update-grub' automatisch mit?

das erledigt ein sudo-update-grub

Du kannst auch prüfen, wie der grub aus der 18.04 Installation (sdb2) arbeitet:

  • im 22.04 ein sudo apt install boot-info-script, dann ein sudo bootinfoscript und ein sudo mv /root/RELULTS.txt ~ Mit dem letzten Befehl machst Du die Datei "RESULTS.txt" in Deinem home-Verzeichnis zugänglich. Poste diese hier als Anhang, dann können wir sehen, ob Maßnahmen erforderlich sind für das alte 18.04.

P.S., ich verstehe Dein Zögern bezüglich sudo update-grub überhaupt nicht!

Gruß black tencate

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: Zähle...

black_tencate schrieb:

P.S., ich verstehe Dein Zögern bezüglich sudo update-grub überhaupt nicht!

Ich habe einmal 1 Woche und viel Hilfe aus dem Forum gebraucht, um meinen nicht mehr bootenden PC zu reparieren, das möchte ich nicht so gern wiederholen, deshalb frage ich lieber vorher etwas genauer. Bitte um Verständnis.

Anbei die gewünschte RESULTS.txt. Danke für Deine / Eure Unterstützung.

Gruß Hartmut

RESULTS.txt (99.0 KiB)
Download RESULTS.txt

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 14945

Hallo Hartmut2,

Die Datei wird mit jedem Update des Grub2 neu erstellt.

Gruss Lidux

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 10674

Hej Hartmut2,

das einzige, was Du tun mußt: Starten, "Ubuntu 18.04.6 LTS (18.04) (on /dev/sdb2)" auswählen – es ist längst im Menü von 22.04 ❗ – und in 18.04 ein

  • sudo grub-install --force /dev/sdb2

fertig!

Gruß black tencate

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Es hat leider nicht funktioniert. Habe den gewünschten Befehl eingegeben:

hg6@i3300:~$ sudo update-grub
[sudo] Passwort für hg6:
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-72-generic
Found initrd image: /boot/initrd.img-5.15.0-72-generic
Found linux image: /boot/vmlinuz-5.15.0-71-generic
Found initrd image: /boot/initrd.img-5.15.0-71-generic
Found linux image: /boot/vmlinuz-4.15.0-194-generic
Found initrd image: /boot/initrd.img-4.15.0-194-generic
Found linux image: /boot/vmlinuz-4.15.0-193-generic
Found initrd image: /boot/initrd.img-4.15.0-193-generic
Found linux image: /boot/vmlinuz-4.15.0-192-generic
Found initrd image: /boot/initrd.img-4.15.0-192-generic
Found linux image: /boot/vmlinuz-4.15.0-191-generic
Found initrd image: /boot/initrd.img-4.15.0-191-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows 7 on /dev/sda2
Found Ubuntu 18.04.6 LTS (18.04) on /dev/sdb2
done
hg6@i3300:~$

aber das 18.04 bootet nicht, sondern geht in einen emergency mode:

You are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or "exit"
to boot into default mode.
Drücken Sie die Eingabetaste für Wartungsarbeiten
(oder drücken Sie STRG+D, um fortzufahren): _

Soll ich etwa dort dann den Befehl von black_tencate

sudo grub-install --force /dev/sdb2

eingeben?

Ergänzung: die falschen (veralteten) UUID's in der /boot/grub/grub.cfg von 18.04 wurden von 'sudo update-grub' übrigens nicht angepasst. Habe das selber gemacht, aber das ändert nichts an obigem emergency mode.

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 14945

Hallo Hartmut2,

Nein, das erfolgt im komplett gestarteten 18.04.

Hier kannst du nur versuchen das System im Grub2 im abgesicherten Modus zu starten, per Mitgabe von Bootoptionen oder über das 22.04 im Chrootmodus fürs 18.04 (WIKI befragen).

PS: Wenn du mit diesem Problem fertig bist, kannst du mal darüber nachdenken deinem 20.04 eine eigenen /home zu spendieren.

Gruss Lidux

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 10674

Hej Hartmut2,

Hartmut2 schrieb:

... Ergänzung: die falschen (veralteten) UUID's in der /boot/grub/grub.cfg von 18.04 wurden von 'sudo update-grub' übrigens nicht angepasst.

wie sollten sie auch, das update-grub hast Du im 22.04 gemacht, und genau in der zugehörigen grub.cfg (sda4/boot/grub/grub.cfg:) sind die Einträge für das alte 18.04 aber auch nicht korrekt

...
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (on /dev/sda2)' --class windows --class os $menuentry_id_option 'osprober-chain-BE2A-F2D1' {
 [...] 
menuentry 'Ubuntu 18.04.6 LTS (18.04) (on /dev/sdb2)' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'osprober-gnulinux-simple-0cdde00b-c715-4d01-8938-b7174f9f574d' {
	insmod part_msdos
	insmod ext2
	set root='hd1,msdos2'
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,msdos2 --hint-efi=hd1,msdos2 --hint-baremetal=ahci1,msdos2  0cdde00b-c715-4d01-8938-b7174f9f574d
	else
	  search --no-floppy --fs-uuid --set=root 0cdde00b-c715-4d01-8938-b7174f9f574d
	fi
	linux /boot/vmlinuz-4.15.0-209-generic root=UUID=ada05431-c5b7-4241-b1a8-ecbfe2d987cb ro quiet splash $vt_handoff
	initrd /boot/initrd.img-4.15.0-209-generic
}

Habe das selber gemacht

Besser, Du machst in 22.04 einen Eintrag in der /etc/grub.d/40_custom wie folgt

menuentry "Ubuntu 18.04 auf sdb2" {
search --no-floppy --fs-uuid --set=root 0cdde00b-c715-4d01-8938-b7174f9f574d
linux /vmlinuz root=uuid=0cdde00b-c715-4d01-8938-b7174f9f574d
initrd /initrd.img

gefolgt von einem sudo update-grub

Wenn denn 18.04 gebootet hat, machst Du dort ein sudo grub-install --force /dev/sdb2. Und dann ist da auch mal ein Aufräumen unter den kerneln angesagt.

Gruß black tencate

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Hallo black_tencate,

vielen Dank für Deine kontinuierliche Hilfe und auch daß Du etwas ausführlicher beschreibst, was ich tun soll.

black_tencate schrieb:

Besser, Du machst in 22.04 einen Eintrag in der /etc/grub.d/40_custom wie folgt

menuentry "Ubuntu 18.04 auf sdb2" {
search --no-floppy --fs-uuid --set=root 0cdde00b-c715-4d01-8938-b7174f9f574d
linux /vmlinuz root=uuid=0cdde00b-c715-4d01-8938-b7174f9f574d
initrd /initrd.img

gefolgt von einem sudo update-grub

Bisher enthält meine /etc/grub.d/40_custom

#!/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.

und ich würde Deinen Teil also dahinter anhängen.

Frage: Fehlt da am Ende vielleicht noch ein "}"?

Lidux

Anmeldungsdatum:
18. April 2007

Beiträge: 14945

Hallo Hartmut2,

Ja, in einer neuen Zeile ......

PS: Root Rechte notwendig.

Gruss Lidux

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Lidux schrieb:

Ja, in einer neuen Zeile ...... PS: Root Rechte notwendig.

Danke Lidux.

Leider hat es wieder nicht funktioniert. Hier ist meine /etc/grub.d/40_custom:

hg6@i3300:~$ cat /etc/grub.d/40_custom
#!/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 "Ubuntu 18.04 auf sdb2" {
search --no-floppy --fs-uuid --set=root 0cdde00b-c715-4d01-8938-b7174f9f574d
linux /vmlinuz root=uuid=0cdde00b-c715-4d01-8938-b7174f9f574d
initrd /initrd.img
}
hg6@i3300:~$

Damit hab ich folgenden Befehl ausgeführt:

hg6@i3300:~$ sudo update-grub
Sourcing file `/etc/default/grub'
Sourcing file `/etc/default/grub.d/init-select.cfg'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.15.0-72-generic
Found initrd image: /boot/initrd.img-5.15.0-72-generic
Found linux image: /boot/vmlinuz-5.15.0-71-generic
Found initrd image: /boot/initrd.img-5.15.0-71-generic
Found linux image: /boot/vmlinuz-4.15.0-194-generic
Found initrd image: /boot/initrd.img-4.15.0-194-generic
Found linux image: /boot/vmlinuz-4.15.0-193-generic
Found initrd image: /boot/initrd.img-4.15.0-193-generic
Found linux image: /boot/vmlinuz-4.15.0-192-generic
Found initrd image: /boot/initrd.img-4.15.0-192-generic
Found linux image: /boot/vmlinuz-4.15.0-191-generic
Found initrd image: /boot/initrd.img-4.15.0-191-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
Warning: os-prober will be executed to detect other bootable partitions.
Its output will be used to detect bootable binaries on them and create new boot entries.
Found Windows 7 on /dev/sda2
Found Ubuntu 18.04.6 LTS (18.04) on /dev/sdb2
done
hg6@i3300:~$

Dadurch wurde ein neuer Eintrag in GRUB erstellt aber wenn ich den boote, hagelt es viele Fehlermeldungen von

Begin: Running /scripts/local-block ... done.

und dann

ALERT! uuid=0cdde00b-c715-4d01-8938-b7174f9f574d does not exist. Dropping to a shell.

und dann landet das System in einer BusyBox (siehe angehängtes Foto).

Aufgefallen ist mir, daß in meiner Datei '/etc/grub.d/40_custom' die letzten 2 Textzeilen nicht mit dem Ordner 'boot' beginnen, so wie viele Zeilen in meiner Datei '/boot/grub/grub.cfg':

linux	/boot/vmlinuz-5.15.0-72-generic root=...
initrd	/boot/initrd.img-5.15.0-72-generic

Ist das korrekt so? Oder was muß ich sonst anders machen?

Bilder

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 7478

Hallo Hartmut2

(siehe angehängtes Foto).

Leider nichts zu erkennen. Vllt nochmal ohne dieses Verwackeln.

ALERT! uuid=0cdde00b-c715-4d01-8938-b7174f9f574d does not exist. Dropping to a shell.

Mit diesem Befehl können die uuid deines Systems ermittelt werden. Mal schauen ob das so richtig ist "does not exist".

Bitte mal im Codeblock alles posten und nichts abscheiden.

lsblk -pf

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 10674

Hej Hartmut2,

Hartmut2 schrieb:

... und dann

ALERT! uuid=0cdde00b-c715-4d01-8938-b7174f9f574d does not exist. Dropping to a shell.

kann eigentlich™ nicht sein, ich habe mir die ja nicht aus den Fingern gesogen
→ (RESULTS.txt)

"blkid" output: ________________________________________________________________

Device           UUID                                   TYPE       LABEL

/dev/loop0                                              squashfs   
[...]
/dev/sda1        60D898E99C1DD456                       ntfs       Win7
/dev/sda2        BE2A-F2D1                              vfat       DOS
/dev/sda4        ada05431-c5b7-4241-b1a8-ecbfe2d987cb   ext4       Ubuntu
/dev/sda5        5B53-12F7                              vfat       INSTALL
/dev/sda6        A1FF-3DF2                              vfat       MAILS
/dev/sda7        6532098E648037CE                       ntfs       WinXP
/dev/sda8        D09567D4F718A7BA                       ntfs       BigSize
/dev/sda9        4749-6ED3                              vfat       XCHG
/dev/sdb1        58F4C81735ED08D0                       ntfs       Filme
/dev/sdb2        0cdde00b-c715-4d01-8938-b7174f9f574d   ext4       Ubuntu2

Aufgefallen ist mir, daß in meiner Datei '/etc/grub.d/40_custom' die letzten 2 Textzeilen nicht mit dem Ordner 'boot' beginnen, so wie viele Zeilen in meiner Datei '/boot/grub/grub.cfg':

linux	/boot/vmlinuz-5.15.0-72-generic root=...
initrd	/boot/initrd.img-5.15.0-72-generic

Ist das korrekt so? Oder was muß ich sonst anders machen?

Du kannst ja mal auf /dev/sdb2 → "/" nachsehen, dort stehen die beiden SymLinks vmlinuz und initrd (jedenfalls ist das hier bei 18.04 der Fall).

EDIT.: auch hier ist das so!

=================== sdb2: Location of files loaded by Grub: ====================

           GiB - GB             File                                 Fragment(s)

1816.926784515 = 1950.910279680 boot/grub/grub.cfg                             1
[...]
1835.696285248 = 1971.063877632 vmlinuz                                        2
1767.235347748 = 1897.554505728 vmlinuz.old                                    2
[...]
1836.219722748 = 1971.625914368 initrd.img                                     2
1835.883785248 = 1971.265204224 initrd.img.old                                 2

Du kommst imho nicht umhin, per grub 2/ReparaturGRUB 2/Reparatur (Abschnitt „chroot-Methode“) mit einem Live-18.04 Dich ins alte System einzuklinken, und dann dort ein sudo grub-install /dev/sdb2 auszuführen.

noch EDIT.: Du kannst auch das /boot/grub/grub.cfg in die 40_custom einbauen und von dort booten

menuentry "18.04 configfile" {
set root=/dev/sdb2
configfile /boot/grub/grub.cfg
}

Gruß black tencate

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 101

Es hat funktioniert! Wenn auch anders, als erwartet... Doch der Reihe nach:

black_tencate schrieb:

Hartmut2 schrieb:

ALERT! uuid=0cdde00b-c715-4d01-8938-b7174f9f574d does not exist. Dropping to a shell.

kann eigentlich™ nicht sein, ich habe mir die ja nicht aus den Fingern gesogen

Ich habe die angemeckerte UUID mehrfach kontrolliert, sie ist (wie Du sagst) korrekt.
Frage1: kann es sein, daß sie auf der falschen SSD (/dev/sda statt /dev/sdb) gesucht wird? Fehlt vielleicht sowas wie

set root='hd1,msdos2'

(sowas kommt in meiner /boot/grub/grub.cfg vor)?


Aufgefallen ist mir, daß in meiner Datei '/etc/grub.d/40_custom' die letzten 2 Textzeilen nicht mit dem Ordner 'boot' beginnen, so wie viele Zeilen in meiner Datei '/boot/grub/grub.cfg':

linux	/boot/vmlinuz-5.15.0-72-generic root=...
initrd	/boot/initrd.img-5.15.0-72-generic

Ist das korrekt so? Oder was muß ich sonst anders machen?

Du kannst ja mal auf /dev/sdb2 → "/" nachsehen, dort stehen die beiden SymLinks vmlinuz und initrd (jedenfalls ist das hier bei 18.04 der Fall).

Habe mal den "/" auf /dev/sdb2 abgefragt:

hg6@i3300:/media/hg6/Ubuntu2$ ls -la
...
lrwxrwxrwx    1 root root         34 Apr 19 10:42 initrd.img -> boot/initrd.img-4.15.0-209-generic
lrwxrwxrwx    1 root root         34 Apr 19 10:42 initrd.img.old -> boot/initrd.img-4.15.0-208-generic
...
lrwxrwxrwx    1 root root         31 Apr 19 10:42 vmlinuz -> boot/vmlinuz-4.15.0-209-generic
lrwxrwxrwx    1 root root         31 Apr 19 10:42 vmlinuz.old -> boot/vmlinuz-4.15.0-208-generic

d.h. wenn ich das alles richtig "interpretiere", stimmt meine '/etc/grub.d/40_custom' in dem Punkt.


Du kommst imho nicht umhin, per grub 2/ReparaturGRUB 2/Reparatur (Abschnitt „chroot-Methode“) mit einem Live-18.04 Dich ins alte System einzuklinken, und dann dort ein sudo grub-install /dev/sdb2 auszuführen.

Danke für die Links. Bin aber froh, daß ich das diesmal doch nicht brauche...


noch EDIT.: Du kannst auch das /boot/grub/grub.cfg in die 40_custom einbauen und von dort booten

menuentry "18.04 configfile" {
set root=/dev/sdb2
configfile /boot/grub/grub.cfg
}

Das hat leider auch nicht funktioniert. Habe diese 4 Zeilen an meine '/etc/grub.d/40_custom' hinten angefügt und danach 'sudo update-grub' laufen lassen. Danach den neuen Eintrag im GRUB-Menü gewählt. Aber da kam immer wieder nur das gleiche GRUB-Menü (endlos).
Frage2: ist obige Zeile

set root=/dev/sdb2

wirklich richtig? Oder muß es vielleicht dort

set root='hd1,msdos2'

heißen?


Aber ich habe dann auch nochmal alle übrigen GRUB-Menü-Einträge probiert und, siehe da, auf einmal hat der Eintrag

"Ubuntu 18.04.6 LTS (18.04) (on /dev/sdb2)"

funktioniert! Obwohl der noch heute früh einen 'emergency mode' geliefert hatte. Habe dann in 18.04 gleich den von black_tencate empfohlenen 'sudo grub-install --force /dev/sdb2' ausgeführt mit diesem Ergebnis:

hg6@i3300:~$ sudo grub-install --force /dev/sdb2
[sudo] Passwort für hg6:
i386-pc wird für Ihre Plattform installiert.
grub-install: Achtung: Dateisystem »ext2« unterstützt keine Einbettungen.
grub-install: Achtung: Einbettung ist nicht möglich. GRUB kann in dieser Konfiguration nur mittels Blocklisten installiert werden. Blocklisten sind allerdings UNZUVERLÄSSIG und deren Verwendung wird daher nicht empfohlen..
Installation beendet. Keine Fehler aufgetreten.
hg6@i3300:~$

Jetzt kann ich alle 3 Systeme reproduzierbar booten! Super! ☺
Großes Dankeschön an alle, die dabei geholfen haben, vor allem an black_tencate.
Wegen "Aufräumarbeiten" melde ich mich nochmal später.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 7478

Hallo Hartmut2,
du schreibst:

Jetzt kann ich alle 3 Systeme reproduzierbar booten! Super!

Stelle bitte auch auf "gelöst".

Bitte beachte diesen Punkt: Forum/Syntax (Abschnitt „geloest-ungeloest“)

Antworten |