Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[gelöst] Installationsort des Bootloader herausfinden.

Alles rund um die Installation Eures Linuxsystems, sowie die Updatefunktionen des Systems und das Paketmanagement

Moderator: Moderatoren

Antworten
Benutzeravatar
Heinz-Peter
Guru
Guru
Beiträge: 1998
Registriert: 24. Okt 2005, 14:04

[gelöst] Installationsort des Bootloader herausfinden.

Beitrag von Heinz-Peter » 25. Sep 2018, 16:12

Hallo Linuxgemeinde,

habe Kubuntu 18.04.1 LTS installiert, anschließend Grub 2. Die Kubuntu Installationsroutine hat Grub 2 in die sda Festplatte installiert, hat auch alles geklappt. Ich habe hier ein Lappi mit EFI und eigentlich sollte Grub in die EFI Partition installiert werden. Ist das so richtig oder irre ich?
Es gibt’s die Möglichkeit den Botloodar mit EFI, siehe Link https://wiki.ubuntuusers.de/GRUB_2/Grundlagen/#Mit-EFI oder ohne EFI, siehe Link https://wiki.ubuntuusers.de/GRUB_2/Grundlagen/#Ohne-EFI auf einer GPT Platte installieren.

Wie bekomme ich heraus den Installationsort von Grub ?

Hier paar Infos zu Lappi.

Code: Alles auswählen

# lsblk -o name,uuid,fstype,mountpoint,label,size
lsblk -o name,uuid,fstype,mountpoint,label,size
NAME   UUID                                 FSTYPE MOUNTPOINT  LABEL        SIZE
sda                                                                       931,5G
├─sda1 5177-E313                            vfat   /boot/efi                160M
├─sda2 CCE44664E44650BE                     ntfs               Win_Data     550G
├─sda3 f293f823-6c0a-404d-9a7b-db5ee9c155ee ext4   /                         18G
├─sda4 2A2464D02464A095                     ntfs               Recover       30G
├─sda5 7ff3fc98-a410-42e5-b876-e49cfd95e493 ext4   /home                    200G
├─sda6 03baf566-85bf-408f-890b-f554cb1e1690 ext4                             19G
├─sda7 fde7eab5-fbdf-454c-b383-cbba1e46b475 swap   [SWAP]                     4G
├─sda8 BB62-3F29                            vfat   /FAT32Win10 FAT32WIN10    50G
└─sda9 699E836F0584D10A                     ntfs               NTFS_Win10  60,4G
sdb                                                                       119,2G
├─sdb1 6073-48EE                            vfat                            100M
├─sdb2                                                                       16M
├─sdb3 648C71558C7122AA                     ntfs               Boot       117,3G
├─sdb4 EA120A2B1209FCF7                     ntfs                            819M
└─sdb5 AEF7-BF87                            vfat               PRC_RP         1G
sr0                                                                        1024M

sda3=Kubuntu root Partition
sda6=Leap 42.3 root Partition
sdb1=efi Windows 10. An der sdb Platte habe ich nichts geändert, hier war schon Windows 10 vorinstalliert.
sda1=efi die ich mit GParted selber angelegt habe.

Code: Alles auswählen

# hexdump -v -s 0x80 -n  2 -e '2/1 "%x" "\n"'  /dev/sda1
696e 

Code: Alles auswählen

# find /boot/efi -iname "*efi"
/boot/efi
/boot/efi/EFI
/boot/efi/EFI/boot/bootx64.efi
/boot/efi/EFI/boot/fallback.efi
/boot/efi/EFI/boot/fbx64.efi
/boot/efi/EFI/opensuse/shim.efi
/boot/efi/EFI/opensuse/MokManager.efi
/boot/efi/EFI/opensuse/grub.efi
/boot/efi/EFI/opensuse/grubx64.efi
/boot/efi/EFI/ubuntu/fwupx64.efi
/boot/efi/EFI/ubuntu/grubx64.efi
/boot/efi/EFI/ubuntu/shimx64.efi
/boot/efi/EFI/ubuntu/mmx64.efi

Code: Alles auswählen

# parted -l
Modell: ATA TOSHIBA MQ01ABD1 (scsi)
Festplatte  /dev/sda:  1000GB
Sektorgröße (logisch/physisch): 512B/4096B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende    Größe   Dateisystem     Name                  Flags
 1      1049kB  169MB   168MB   fat16                                 boot, esp
 3      169MB   19,5GB  19,3GB  ext4
 5      19,5GB  234GB   215GB   ext4
 6      234GB   255GB   20,4GB  ext4
 7      255GB   259GB   4295MB  linux-swap(v1)                        msftdata
 8      259GB   313GB   53,7GB  fat32                                 msftdata
 9      313GB   377GB   64,9GB  ntfs                                  msftdata
 2      377GB   968GB   591GB   ntfs                                  msftdata
 4      968GB   1000GB  32,2GB  ntfs            Basic data partition  msftdata


Modell: ATA S11-128G-PHISON- (scsi)
Festplatte  /dev/sdb:  128GB
Sektorgröße (logisch/physisch): 512B/512B
Partitionstabelle: gpt
Disk-Flags: 

Nummer  Anfang  Ende   Größe   Dateisystem  Name                          Flags
 1      1049kB  106MB  105MB   fat32        EFI system partition          boot, esp
 2      106MB   123MB  16,8MB               Microsoft reserved partition  msftres
 3      123MB   126GB  126GB   ntfs         Basic data partition          msftdata
 4      126GB   127GB  859MB   ntfs                                       versteckt, diag
 5      127GB   128GB  1074MB  fat32        Basic data partition          versteckt

Hoffe auf Eure Hilfe.
Grüße Heinz-Peter
Zuletzt geändert von Heinz-Peter am 28. Sep 2018, 23:03, insgesamt 2-mal geändert.
Mein Betriebssystem: Suse 13.2/42.2/42.3, Prozessor: Pentium 4 550 (3,40 GHz, FSB800, Hyper-Threading), Grafikkarte: Nvidia Geforce 6610XL (PCIe)/128MByte.
Wir müssen lernen, entweder als Brüder miteinander zu leben oder als Narren unterzugehen.

Werbung:
josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5107
Registriert: 23. Sep 2008, 17:09

Re: Installationsort des Bootloader herausfinden.

Beitrag von josef-wien » 25. Sep 2018, 17:31

Mehrere EFI-Systempartitionen sind zwar formal möglich, aber nicht empfehlenswert. Sinnvoll ist eine EFI-Systempartition, auf der alle installierten Betriebssysteme das ablegen, was zu ihrem Start notwendig ist. Was zeigt als root:

Code: Alles auswählen

efibootmgr -v

Benutzeravatar
Heinz-Peter
Guru
Guru
Beiträge: 1998
Registriert: 24. Okt 2005, 14:04

Re: Installationsort des Bootloader herausfinden.

Beitrag von Heinz-Peter » 25. Sep 2018, 17:43

Code: Alles auswählen

# efibootmgr -v
BootCurrent: 0006
Timeout: 0 seconds
BootOrder: 0006,0000,0005,0003,2003,2001,2002
Boot0000* opensuse-secureboot   HD(1,GPT,de288aa6-e58b-4d7f-ae14-934d16ec1b9a,0x800,0x50000)/File(\EFI\opensuse\shim.efi)
Boot0001* EFI Network 0 for IPv4        PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)/MAC(78f29efa3414,0)/IPv4(0.0.0.00.0.0.0,0,0)RC
Boot0002* EFI Network 0 for IPv6        PciRoot(0x0)/Pci(0x1c,0x5)/Pci(0x0,0x0)/MAC(78f29efa3414,0)/IPv6([::]:<->[::]:,0,0)RC
Boot0003* Windows Boot Manager  HD(1,GPT,da488093-46bc-4d63-9460-b78e8d718ecc,0x800,0x32000)/File(\EFI\Microsoft\Boot\bootmgfw.efi)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...I................
Boot0005* openSUSE      HD(1,GPT,de288aa6-e58b-4d7f-ae14-934d16ec1b9a,0x800,0x50000)/File(\EFI\opensuse\grubx64.efi)RC
Boot0006* ubuntu        HD(1,GPT,de288aa6-e58b-4d7f-ae14-934d16ec1b9a,0x800,0x50000)/File(\EFI\ubuntu\shimx64.efi)
Boot2001* EFI USB Device        RC
Boot2002* EFI DVD/CDROM RC
Boot2003* EFI Network   RC
Grüße Heiz-Peter
Mein Betriebssystem: Suse 13.2/42.2/42.3, Prozessor: Pentium 4 550 (3,40 GHz, FSB800, Hyper-Threading), Grafikkarte: Nvidia Geforce 6610XL (PCIe)/128MByte.
Wir müssen lernen, entweder als Brüder miteinander zu leben oder als Narren unterzugehen.

josef-wien
Ultimate Guru
Ultimate Guru
Beiträge: 5107
Registriert: 23. Sep 2008, 17:09

Re: Installationsort des Bootloader herausfinden.

Beitrag von josef-wien » 25. Sep 2018, 18:54

Standardmäßig startet Dein UEFI die Eintragung Boot0006, also Ubuntu über \EFI\ubuntu\shimx64.efi, das ist der von Ubuntu installierte SHIM, der wiederum den von Ubuntu im selben Verzeichnis installierten GRUB2 aufruft. Die im UEFI-Boot-Menü auswählbaren Eintragungen Boot0000 und Boot0005 starten openSUSE, und zwar einmal über den von openSUSE installierten SHIM, der wiederum den von openSUSE installierten GRUB2 aufruft, und einmal direkt den von openSUSE installierten GRUB2.

Die Eintragung Boot0003 startet Windows über \EFI\Microsoft\Boot\bootmgfw.efi, wobei es sich hier um die andere EFI-Systempartition handelt. Ob die Installationsroutinen der Linux-Distributionen in diesem Fall intelligent genug sind, Windows in ihr GRUB2-Menü aufzunehmen, kann ich nicht sagen.

Beide Linux-Distributionen haben ihren eigenen SHIM und ihren eigenen GRUB2 installiert. Welche Distribution was ins Verzeichnis \EFI\boot geschrieben hat, entzieht sich ebenfalls meiner Kenntnis. Die Datei \EFI\boot\bootx64.efi ist übrigens die Standardannahme für das vom UEFI zu startende Programm, wenn es keine (sonstigen) Eintragungen im UEFI-Boot-Menü gibt.

Linux-Distributionen installieren in der Regel nur einen Teil von GRUB2 auf der EFI-Systempartition, seine restlichen Daten muß sich der Boot-Manager dann von der Linux-Systempartition (oder falls vorhanden von der Linux-Bootpartition) holen.

mkossmann
Member
Member
Beiträge: 166
Registriert: 3. Aug 2009, 19:07

Re: Installationsort des Bootloader herausfinden.

Beitrag von mkossmann » 27. Sep 2018, 11:03

josef-wien hat geschrieben:
25. Sep 2018, 18:54

Die Eintragung Boot0003 startet Windows über \EFI\Microsoft\Boot\bootmgfw.efi, wobei es sich hier um die andere EFI-Systempartition handelt. Ob die Installationsroutinen der Linux-Distributionen in diesem Fall intelligent genug sind, Windows in ihr GRUB2-Menü aufzunehmen, kann ich nicht sagen.
Viele Distributionen benutzen inzwischen os-prober um die Bootmenues für anderere OS in grub2 zu bauen.
D.h. Wenn os-prober die zweite EFI Partition erkennt und auswertet wird auch das Windows automatisch ins Grub2 Bootmenue eingetragen

Benutzeravatar
Heinz-Peter
Guru
Guru
Beiträge: 1998
Registriert: 24. Okt 2005, 14:04

Re: Installationsort des Bootloader herausfinden.

Beitrag von Heinz-Peter » 27. Sep 2018, 21:56

Hallo josef-wien,

danke für die ausführliche Beschreibung der Bootoptionen. Bei der Kubuntu Installation ist mir aufgefallen das die EFI Partitionen /dev/sda1 und /dev/sdb1 gleich groß sind, beide belegen 33 MB, siehe Bild http://img4web.com/i/NCW5V.jpg
Nach der Kubuntu Installation ist die /dev/sda1 nur 8,1 MB groß, siehe Konsoleasgabe

Code: Alles auswählen

# df -Th
Dateisystem    Typ      Größe Benutzt Verf. Verw% Eingehängt auf
devtmpfs       devtmpfs  1,9G       0  1,9G    0% /dev
tmpfs          tmpfs     1,9G     25M  1,9G    2% /dev/shm
tmpfs          tmpfs     1,9G    2,3M  1,9G    1% /run
tmpfs          tmpfs     1,9G       0  1,9G    0% /sys/fs/cgroup
/dev/sda6      ext4       19G    8,0G  9,7G   46% /
/dev/sda1      vfat      160M    8,1M  152M    6% /boot/efi
/dev/sda5      ext4      197G     20G  177G   10% /home
tmpfs          tmpfs     386M       0  386M    0% /run/user/481
tmpfs          tmpfs     386M     16K  386M    1% /run/user/1005
/dev/sda8      vfat       50G    771M   50G    2% /run/media/lp423/FAT32WIN10
Die /dev/sdb1 wird mir aber hier nicht angezeigt. Wie kann ich die mounten?
Wenn nach der Installation beide EFI gleich groß wären dann hat der Bootloader in beide geschrieben.

Grüße Heinz-Peter

EDIT: Das mounten der Windows EFI Partition ist einfacher wie ich dachte. Ein einfaches

Code: Alles auswählen

sudo mount /dev/sdb1 /mnt
reicht. Als nächstes kann man sich die Ordner anzeigen lassen

Code: Alles auswählen

ls -l /mnt/EFI
insgesamt 2
drwxr-xr-x 2 root root 1024 Jul 26  2016 Boot
drwxr-xr-x 4 root root 1024 Jul 26  2016 Microsoft
anschließend

Code: Alles auswählen

# df -Th
Dateisystem    Typ      Größe Benutzt Verf. Verw% Eingehängt auf
udev           devtmpfs  1,9G       0  1,9G    0% /dev
tmpfs          tmpfs     385M    1,5M  384M    1% /run
/dev/sda3      ext4       18G    6,4G   11G   38% /
tmpfs          tmpfs     1,9G     26M  1,9G    2% /dev/shm
tmpfs          tmpfs     5,0M    4,0K  5,0M    1% /run/lock
tmpfs          tmpfs     1,9G       0  1,9G    0% /sys/fs/cgroup
/dev/sda1      vfat      160M    8,1M  152M    6% /boot/efi
/dev/sda5      ext4      197G     20G  177G   10% /home
/dev/sda8      vfat       50G    1,4G   49G    3% /FAT32Win10
tmpfs          tmpfs     385M       0  385M    0% /run/user/119
tmpfs          tmpfs     385M     20K  385M    1% /run/user/1000
/dev/sdb1      vfat       96M     26M   71M   27% /mnt
Jetzt noch die Partition aushängen mit

Code: Alles auswählen

sudo umount /dev/sdb1
Die sdb1 wurde also nicht geändert, aber die sda1 schon, und zwar am 22 September, siehe unten

Code: Alles auswählen

# sudo ls -l /boot/efi/
insgesamt 4
drwx------ 5 root root 4096 Sep 22 17:55 EFI
Mein Betriebssystem: Suse 13.2/42.2/42.3, Prozessor: Pentium 4 550 (3,40 GHz, FSB800, Hyper-Threading), Grafikkarte: Nvidia Geforce 6610XL (PCIe)/128MByte.
Wir müssen lernen, entweder als Brüder miteinander zu leben oder als Narren unterzugehen.

Antworten