ubuntuusers.de

Wie fragt man den GRUB2 Installations-Ort ab?

Status: Gelöst | Ubuntu-Version: Kubuntu 24.04 (Noble Numbat)
Antworten |

Hartmut2

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 290

Wenn ich richtig informiert bin, kann GRUB2 entweder "global" auf eine Platte/SSD installiert werden oder in eine bestimmte Partition einer Platte/SSD. Wie kann man abfragen, wohin GRUB2 denn nun installiert wurde?

Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17505

Warum schaust du nicht einfach ins hiesige Wiki?

Bitte beachte Richtig fragen, besonders Abschnitt 1

Dann findest du womöglich viel zu lesen: GRUB 2

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 290

Ich hatte bereits vor meinem Post im Wiki gesucht, aber die Antwort auf meine Frage dort nicht gefunden. Ich habe jetzt nochmal gesucht, aber gerade das GRUB2-Wiki ist ja ein Monstrum (und mit einem Labyrinth aus weiterführenden Links) und ich habe jetzt trotz erneuter Suche die Antwort auf meine Frage dort nicht gefunden. Das kann evtl. auch daran liegen, daß ich viel von dem, was da steht, nicht verstehe.

Wenn Du meinst, die gesuchte Antwort würde in diesem Wiki stehen, dann wäre es nett, wenn Du mir die genaue Stelle darin zeigen könntest.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 10228

Wohnort: Münster

Hartmut2 schrieb:

Wenn ich richtig informiert bin, kann GRUB2 entweder "global" auf eine Platte/SSD installiert werden oder in eine bestimmte Partition einer Platte/SSD.

Das ist veraltet. Grub liegt im Ordner ububtu auf der EFI-Systempartition.

Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17505

Hartmut2 schrieb:

Ich hatte bereits vor meinem Post im Wiki gesucht, aber die Antwort auf meine Frage dort nicht gefunden. Ich habe jetzt nochmal gesucht, aber gerade das GRUB2-Wiki ist ja ein Monstrum (und mit einem Labyrinth aus weiterführenden Links) und ich habe jetzt trotz erneuter Suche die Antwort auf meine Frage dort nicht gefunden. Das kann evtl. auch daran liegen, daß ich viel von dem, was da steht, nicht verstehe.

Da gebe ich dir recht mit dem Labyrinth, imho fehlt ein kurzer Artikel mit einer Übersicht mit den wichtigsten Dingen für Einsteiger?

Das Monstrum hat doch mehrere Kapitel, da könnte man doch einfach mal die Kapitelüberschriften lesen, vielleicht deutet da etwas auf deine Frage hin?

Hätte ich dein Problem, würde ich wohl zuerst GRUB-Umgebung analysieren lesen.

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 290

kB schrieb:

Das ist veraltet. Grub liegt im Ordner ububtu auf der EFI-Systempartition.

Bist Du sicher?? Ich habe Ubuntu auf 2 ganz verschiedenen PC's und auf beiden gibt es in GParted keine EFI-Systempartition.

Jedoch beim Upgrade von 22.04 auf 24.04 kam eine Frage zum GRUB Installations-Ort (siehe screenshot), die ich genau so verstehe, daß man dafür zwischen "global" und "eine bestimmte Partition" wählen kann (rot markiert).

Ich wüsste gerne, wie man abfragen kann, wohin GRUB2 konkret installiert wurde.

Bilder

Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17505

Hartmut2 schrieb:

Ich wüsste gerne, wie man abfragen kann, wohin GRUB2 konkret installiert wurde.

Lies, was ich dir in meinem letzten Beitrag verlinkt habe!

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 290

Ubunux schrieb:

Das Monstrum hat doch mehrere Kapitel, da könnte man doch einfach mal die Kapitelüberschriften lesen, vielleicht deutet da etwas auf deine Frage hin?

Genau das habe ich 2x gemacht...

Hätte ich dein Problem, würde ich wohl zuerst GRUB-Umgebung analysieren lesen.

Genau diesen Artikel habe ich Zeile für Zeile gelesen, aber nichts gefunden, was sich nach einer Antwort auf meine Frage anhörte.

Du hilfst mir leider nicht, wenn Du mir sagst, wie Du ein Wiki lesen würdest. Wenn Du sicher bist, daß die gesuchte Antwort überhaupt in diesem Wiki drin steht, dann zeige mir bitte die genaue Stelle. Alles andere hilft mir nicht.

Ubunux

Anmeldungsdatum:
12. Juni 2006

Beiträge: 17505

Hartmut2 schrieb:

Genau diesen Artikel habe ich Zeile für Zeile gelesen, aber nichts gefunden, was sich nach einer Antwort auf meine Frage anhörte.

Das glaube ich dir nicht. Lies den Artikel genau.

Wenn Du sicher bist, daß die gesuchte Antwort überhaupt in diesem Wiki drin steht, dann zeige mir bitte die genaue Stelle. Alles andere hilft mir nicht.

Nein, das werde ich nicht tun. In dem Artikel steht eine Lösung, du solltest einfach gründlicher lesen und nicht nur schnell überfliegen!

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11435

Hej Hartmut2,

prüfe, in welchem Modus der PC läuft

[ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
  • für BIOS → mit

    sudo bash -c "for d in \$(parted -l|grep -o \"/dev/[^ :]*\");do case \$(hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\n\"' \$d) in 'aa75'|'5272') echo \$d: Grub Legacy;;'48b4'|'7c3c'|'020') echo \$d: Grub 2;;*) echo \$d;;esac;done"

    stellst Du fest, auf welcher Platte sich grub befindet resp. von welcher Platte 'stage1' und 'core.img' von grub kommt.

  • für UEFI muß es irgendwo eine ESP (Markierung esp) geben, in die Teile von grub installiert werden.

Für ein (z.B.) sudo update-grub gilt

  • BIOS →

    sudo update-grub /dev/sdX # X die Platte, die im setup in der Reihung vorne steht
  • UEFI →

    sudo update-grub

    ohne weitere Angaben.

Solltest Du eine Installtion haben, die automatisch beide Versionen (grub-pc und grub-efi) installiert hat – das war/ist der Fall bei bestimmten Konstellationen im Installer (→ "Installationsart") früherer Ubuntus – dann ist das o.g. (BootModus) eben um so wichtiger.

Gruß black tencate

Hartmut2

(Themenstarter)

Anmeldungsdatum:
11. Oktober 2018

Beiträge: 290

Danke Dir @black_tencate für diese Befehle. Bei mir ergibt sich folgendes:

hg6@i3300:/media/D/Tst$ [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS
BIOS
hg6@i3300:/media/D/Tst$
hg6@i3300:/media/D/Tst$ sudo bash -c "for d in \$(parted -l|grep -o \"/dev/[^ :]*\");do case \$(hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\n\"' \$d) in 'aa75'|'5272') echo \$d: Grub Legacy;;'48b4'|'7c3c'|'020') echo \$d: Grub 2;;*) echo \$d;;esac;done"
[sudo] Passwort für hg6:
/dev/sda: Grub 2
/dev/sdb
hg6@i3300:/media/D/Tst$

D.h. mein PC läuft im BIOS-Modus.

Von dem 2. mega-kryptischen Monster-Befehl verstehe ich so gut wie nichts. Lediglich 'hexdump' sagt mir was und ich rate mal, daß da aus dem MBR wohl 2 Bytes ab Offset 0x80 gelesen werden (aber sicher bin ich mir da nicht) und der Rest übersteigt meine Kenntnisse haushoch.

Was bedeutet denn jetzt das angezeigte Ergebnis "/dev/sda: Grub 2" genau? Bedeutet es, daß GRUB2 auf dieser Platte definitiv "global" installiert ist und nicht in einer der Partitionen? Und daß, wenn GRUB2 stattdessen in einer der Partitionen installiert wäre, daß dann stattdessen diese Partition ausgegeben werden würde?
Oder bedeutet es lediglich, daß es irgendwo auf dieser Platte ein GRUB2 gibt, ohne daß man weiß, ob "global" oder in einer Partition?

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11435

Hartmut2 schrieb:

... Was bedeutet denn jetzt das angezeigte Ergebnis "/dev/sda: Grub 2" genau? Bedeutet es, daß GRUB2 auf dieser Platte definitiv "global" installiert ist

wo auch immer Du diese Bezeichnung aufgelesen hast… (global)

und nicht in einer der Partitionen? Und daß, wenn GRUB2 stattdessen in einer der Partitionen installiert wäre, daß dann stattdessen diese Partition ausgegeben werden würde?

Du kannst auch den ähnlichen Befehl, der im verlinkten Artikel steht, benutzen, der ist nur "holperig", sollte mal von einem bash Kundigen überarbeitet werden

sudo fdisk -l 2>/dev/null | egrep "Disk /|/dev/" | sed "s#^/dev/#Part /dev/#" | awk '{print $2}' | sed 's/://' | xargs -n1 -IX sudo sh -c "hexdump -v -s 0x80 -n  2 -e '2/1 \"%x\" \"\\n\"' X | xargs -n1 -IY sh -c \"case  \"Y\" in '48b4') echo X: GRUB 2 v1.96 ;; 'aa75' | '5272') echo X: GRUB Legacy ;; '7c3c') echo X: GRUB 2 v1.97 oder v1.98 ;; '020') echo X: GRUB 2 v1.99 ;; *) echo X: Kein GRUB Y ;; esac\"" 

der zeigt auch einen evt. in einem PR installierten grub an

Im "BIOS" Modus kann die firmware (das BIOS) zu gegebener Zeit ausschließlich auf der im BIOS in der Reihenfolge entsprechend eingestellten Platte im ersten Sektor (genauer in den ersten 446 Byte) nach einem Bootloader (resp. kleinem Teil davon) suchen, wenn es einen findet, bringt es den zur Ausführung.

In diesen Bereich paßt nur ein Loader! (bei der Installation eines weiteren O/S Bootloaders würde der Bereich mit dem neuen überschrieben). Man kann grub auch (für bestimmte Fälle) in einen PBR schreiben, allerdings kann das BIOS den nicht zur Ausführung bringen ("Abstellgleis").

Bei der 2. Art des Bootmodus (EFI) wird die Krux (nur einer paßt in den MBR) umgangen. Es wird eine eigenen Partition (ESP) bereitgestellt, in welcher mehrere Bootloader friedlich koexistieren können. Die Auswahl kann dann z.B. über das firmware eigene "override menu" ausgewählt werden. Oder mit grub als Manager, der kann nämlich z.B. einen Windows Bootloader mittels "chainloader +1" starten.

Gruß black tencate

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 10228

Wohnort: Münster

Hartmut2 schrieb:

[…] D.h. mein PC läuft im BIOS-Modus

Dann kann das aber eigentlich kein aktuelles 24.04 sein. Welche Version von Ubuntu benutzt Du denn? Zeige:

cat /etc/lsb-release 

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11435

Hej Kb,

kB schrieb:

Hartmut2 schrieb:

[…] D.h. mein PC läuft im BIOS-Modus

Dann kann das aber eigentlich kein aktuelles 24.04 sein.

ähem, warum denn nicht? 1. Teil:

test@test-VirtualBox:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS"
test@test-VirtualBox:~$ sudo parted -l
[sudo] Passwort für test: 
Modell: ATA VBOX HARDDISK (scsi)
Festplatte  /dev/sda:  26,8GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem  Name  Flags
 1      1049kB  1128MB  1127MB  fat32              boot, esp
 2      1128MB  26,8GB  25,7GB  ext4


test@test-VirtualBox:~$ [ -d /sys/firmware/efi ] && echo EFI || echo legacy
legacy
test@test-VirtualBox:~$ sudo bash -c "for d in \$(parted -l|grep -o \"/dev/[^ :]*\");do case \$(hexdump -v -s 0x80 -n 2 -e '2/1 \"%x\" \"\n\"' \$d) in 'aa75'|'5272') echo \$d: Grub Legacy;;'48b4'|'7c3c'|'020') echo \$d: Grub 2;;*) echo \$d;;esac;done"
/dev/sda: Grub 2
test@test-VirtualBox:~$ sudo cat /boot/efi/efi/ubuntu/grub.cfg
search.fs_uuid db8cb87c-b390-4f04-b114-b59310ef5175 root hd0,gpt2 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg
test@test-VirtualBox:~$ 

2. Teil folgt als EDIT nach reboot im EFI Modus

EDIT.:

test@test-VirtualBox:~$  [ -d /sys/firmware/efi ] && echo EFI || echo legacy
EFI
test@test-VirtualBox:~$ sudo efibootmgr -v
[sudo] Passwort für test: 
BootCurrent: 0004
Timeout: 0 seconds
BootOrder: 0004,0000,0001,0003,0002
Boot0000* UiApp	FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(462caa21-7614-4503-836e-8ab6f4662331)
      dp: 04 07 14 00 c9 bd b8 7c eb f8 34 4f aa ea 3e e4 af 65 16 a1 / 04 06 14 00 21 aa 2c 46 14 76 03 45 83 6e 8a b6 f4 66 23 31 / 7f ff 04 00
Boot0001* UEFI VBOX CD-ROM VB2-01700376 	PciRoot(0x0)/Pci(0x1,0x1)/Ata(1,0,0){auto_created_boot_option}
      dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 01 01 / 03 01 08 00 01 00 00 00 / 7f ff 04 00
    data: 4e ac 08 81 11 9f 59 4d 85 0e e2 1a 52 2c 59 b2
Boot0002* UEFI VBOX HARDDISK VB59a84126-e927ba1a 	PciRoot(0x0)/Pci(0xd,0x0)/Sata(0,65535,0){auto_created_boot_option}
      dp: 02 01 0c 00 d0 41 03 0a 00 00 00 00 / 01 01 06 00 00 0d / 03 12 0a 00 00 00 ff ff 00 00 / 7f ff 04 00
    data: 4e ac 08 81 11 9f 59 4d 85 0e e2 1a 52 2c 59 b2
Boot0003  EFI Internal Shell	FvVol(7cb8bdc9-f8eb-4f34-aaea-3ee4af6516a1)/FvFile(7c04a583-9e3e-4f1c-ad65-e05268d0b4d1)
      dp: 04 07 14 00 c9 bd b8 7c eb f8 34 4f aa ea 3e e4 af 65 16 a1 / 04 06 14 00 83 a5 04 7c 3e 9e 1c 4f ad 65 e0 52 68 d0 b4 d1 / 7f ff 04 00
Boot0004* Ubuntu	HD(1,GPT,3051e664-6d19-4a98-b485-d2274eefc641,0x800,0x219800)/File(\EFI\ubuntu\shimx64.efi)
      dp: 04 01 2a 00 01 00 00 00 00 08 00 00 00 00 00 00 00 98 21 00 00 00 00 00 64 e6 51 30 19 6d 98 4a b4 85 d2 27 4e ef c6 41 02 02 / 04 04 34 00 5c 00 45 00 46 00 49 00 5c 00 75 00 62 00 75 00 6e 00 74 00 75 00 5c 00 73 00 68 00 69 00 6d 00 78 00 36 00 34 00 2e 00 65 00 66 00 69 00 00 00 / 7f ff 04 00
test@test-VirtualBox:~$ lsblk -f /dev/sda
NAME   FSTYPE FSVER LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINTS
sda                                                                           
├─sda1 vfat   FAT32       07CD-665F                                 1G     1% /boot/efi
└─sda2 ext4   1.0         db8cb87c-b390-4f04-b114-b59310ef5175   11,5G    46% /var/snap/firefox/common/host-hunspell
                                                                              /
test@test-VirtualBox:~$ cat /etc/fstab | grep -v "#"
/dev/disk/by-uuid/db8cb87c-b390-4f04-b114-b59310ef5175 / ext4 defaults 0 1
/dev/disk/by-uuid/07CD-665F /boot/efi vfat defaults 0 1
/swap.img	none	swap	sw	0	0
test@test-VirtualBox:~$ 

Gruß black tencate

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 11435

doppelt

Antworten |