• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Gelöst] 'efibootmgr' zeigt nichts an

gehrke

Administrator
Teammitglied
Moin *,

habe einen Rechner auf 'Secure Boot' umgestellt (echte Hardware, keine VM). Installiertes Betriebssystem ist openSUSE 13.2.

Scheinbar gibt es keine Probleme mit dem Booten, aber eine Unschärfe, die ich mir bislang nicht erklären kann: 'efibootmgr' zeigt nichts an.

Code:
j6:~ # lsblk
NAME                                        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINT
sda                                           8:0    0 465.8G  0 disk  
├─sda1                                        8:1    0   156M  0 part  /boot/efi
├─sda2                                        8:2    0   400M  0 part  /boot
└─sda3                                        8:3    0 465.2G  0 part  
  └─cr_ata-ST500LT012-1DG142_S3P9P0MR-part3 254:0    0 465.2G  0 crypt 
    ├─system-swap                           254:1    0     2G  0 lvm   [SWAP]
    ├─system-root                           254:2    0    40G  0 lvm   /
    └─system-home                           254:3    0 423.2G  0 lvm   /home
sr0                                          11:0    1  1024M  0 rom
Code:
j6:~ # efibootmgr -V
version 0.6.0
Code:
j6:~ # efibootmgr -v
Bisherige Tests mit dem Tool basierten immer auf virtueller Hardware, da bekam ich plausible Ergebnisse geliefert.

:???:
 
A

Anonymous

Gast
Wenn du den Rechner nachträglich umgestellt hast, ist wohl nicht die komplette Konfiguration für UEFI durchlaufen.
Schau mal ob efivars gemountet ist

"mount | grep efi" sollte zeigen das dieses gemountet ist. Ohne das dieses spezielle Kerneldateisystem gemountet ist, ist Linux nicht in der Lage auf die UEFI-Variablen also auch die Bootvariablen zu zugreifen.
Code:
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
Dieses benötigt das Kernelmodul efivars das auch geladen sein sollte.
lsmod | grep efi
Code:
efivarfs               13315  0 [permanent]


robi
 
OP
gehrke

gehrke

Administrator
Teammitglied
Code:
j6:~ # mount | grep efi
efivarfs on /sys/firmware/efi/efivars type efivarfs (rw,nosuid,nodev,noexec,relatime)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0002,dmask=0002,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
Code:
j6:~ # ls -l /sys/firmware/efi/efivars
total 0
-rw-r--r-- 1 root root 364 Sep  6 12:38 ASUSSetupDefault-f1920447-7a78-4c0d-a028-ba9d003985e8
-rw-r--r-- 1 root root  12 Sep  6 12:38 AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a
-rw-r--r-- 1 root root   7 Sep  6 12:38 EfiTime-9d0da369-540b-46f8-85a0-2b5f2c301e15
-rw-r--r-- 1 root root   8 Sep  6 12:38 FPDT_Variable-01368881-c4ad-4b1d-b631-d57a8ec8db6b
-rw-r--r-- 1 root root  12 Sep  6 12:38 HobRomImage-dde1bc72-d45e-4209-ab85-14462d2f5074
-rw-r--r-- 1 root root   8 Sep  6 12:38 MonotonicCounter-01368881-c4ad-4b1d-b631-d57a8ec8db6b
-rw-r--r-- 1 root root   9 Sep  6 12:38 PCI_COMMON-aca9f304-21e2-4852-9875-7ff4881d67a5
-rw-r--r-- 1 root root   8 Sep  6 12:38 PchInit-e6c2f70a-b604-4877-85ba-deec89e117eb
-rw-r--r-- 1 root root 364 Sep  6 12:38 Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
-rw-r--r-- 1 root root 782 Sep  6 12:38 StdDefaults-4599d26f-1a11-49b8-b91f-858745cff824
-rw-r--r-- 1 root root   7 Sep  6 12:38 USBCHARGE_VAR-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
Code:
j6:~ # ls -lR /boot/efi/EFI/
/boot/efi/EFI/:
total 8
drwxrwxr-x 2 root root 4096 Nov  5  2014 boot
drwxrwxr-x 2 root root 4096 Nov  5  2014 opensuse

/boot/efi/EFI/boot:
total 1320
-rwxrwxr-x 1 root root 1286112 Aug  7 13:57 bootx64.efi
-rwxrwxr-x 1 root root   62208 Aug  7 13:57 fallback.efi

/boot/efi/EFI/opensuse:
total 3584
-rwxrwxr-x 1 root root 1276328 Aug  7 13:57 MokManager.efi
-rwxrwxr-x 1 root root      58 Aug  7 13:57 boot.csv
-rwxrwxr-x 1 root root     150 Aug  7 13:57 grub.cfg
-rwxrwxr-x 1 root root  918648 Aug  7 13:57 grub.efi
-rwxrwxr-x 1 root root  174080 Aug  7 13:57 grubx64.efi
-rwxrwxr-x 1 root root 1286112 Aug  7 13:57 shim.efi
Code:
j6:~ # lsmod | grep efi
efivarfs               13268  0
 
OP
gehrke

gehrke

Administrator
Teammitglied
Code:
j6:~ # strace -o /var/tmp/efibootmgr.log efibootmgr -v
...
open("/sys/firmware/efi/vars/BootNext-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/sys/firmware/efi/vars/BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/sys/firmware/efi/vars/Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/sys/firmware/efi/vars/BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c/raw_var", O_RDONLY) = -1 ENOENT (No such file or directory)
exit_group(0)                           = ?
+++ exited with 0 +++
Da scheint mächtig was zu fehlen...
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ich habe die Büchse mal mit einem Live-Stick (openSUSE 13.2) gebootet. Das Ergebnis ist damit auch nicht anders.
 
A

Anonymous

Gast
aber als root arbeitest du schon und nicht etwa als User, der hat dort nichts zu suchen. ;)
und unter "/sys/firmware/efi/vars" sind dort Einträge zu finden ?
Im BIOS auf "UEFI-Boot" umgeschaltet ?

robi
 
OP
gehrke

gehrke

Administrator
Teammitglied
robi schrieb:
aber als root arbeitest du schon und nicht etwa als User, der hat dort nichts zu suchen. ;)
Ja.
robi schrieb:
und unter "/sys/firmware/efi/vars" sind dort Einträge zu finden ?
Code:
j6:~ # ls -lR /sys/firmware/efi/vars  
/sys/firmware/efi/vars:
total 0
drwxr-xr-x 2 root root 0 Sep  6 20:39 ASUSSetupDefault-f1920447-7a78-4c0d-a028-ba9d003985e8
drwxr-xr-x 2 root root 0 Sep  6 20:39 AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a
drwxr-xr-x 2 root root 0 Sep  6 20:39 EfiTime-9d0da369-540b-46f8-85a0-2b5f2c301e15
drwxr-xr-x 2 root root 0 Sep  6 20:39 FPDT_Variable-01368881-c4ad-4b1d-b631-d57a8ec8db6b
drwxr-xr-x 2 root root 0 Sep  6 20:39 HobRomImage-dde1bc72-d45e-4209-ab85-14462d2f5074
drwxr-xr-x 2 root root 0 Sep  6 20:39 MonotonicCounter-01368881-c4ad-4b1d-b631-d57a8ec8db6b
drwxr-xr-x 2 root root 0 Sep  6 20:39 PCI_COMMON-aca9f304-21e2-4852-9875-7ff4881d67a5
drwxr-xr-x 2 root root 0 Sep  6 20:39 PchInit-e6c2f70a-b604-4877-85ba-deec89e117eb
drwxr-xr-x 2 root root 0 Sep  6 20:39 Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
drwxr-xr-x 2 root root 0 Sep  6 20:39 StdDefaults-4599d26f-1a11-49b8-b91f-858745cff824
drwxr-xr-x 2 root root 0 Sep  6 20:39 USBCHARGE_VAR-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
--w------- 1 root root 0 Sep  6 20:39 del_var
--w------- 1 root root 0 Sep  6 20:39 new_var

/sys/firmware/efi/vars/ASUSSetupDefault-f1920447-7a78-4c0d-a028-ba9d003985e8:
total 0
-r-------- 1 root root 4096 Sep  6 20:40 attributes
-r-------- 1 root root 4096 Sep  6 20:40 data
-r-------- 1 root root 4096 Sep  6 20:40 guid
-rw------- 1 root root 4096 Sep  6 20:40 raw_var
-r-------- 1 root root 4096 Sep  6 20:40 size

/sys/firmware/efi/vars/AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/EfiTime-9d0da369-540b-46f8-85a0-2b5f2c301e15:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/FPDT_Variable-01368881-c4ad-4b1d-b631-d57a8ec8db6b:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/HobRomImage-dde1bc72-d45e-4209-ab85-14462d2f5074:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/MonotonicCounter-01368881-c4ad-4b1d-b631-d57a8ec8db6b:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/PCI_COMMON-aca9f304-21e2-4852-9875-7ff4881d67a5:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/PchInit-e6c2f70a-b604-4877-85ba-deec89e117eb:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/StdDefaults-4599d26f-1a11-49b8-b91f-858745cff824:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size

/sys/firmware/efi/vars/USBCHARGE_VAR-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9:
total 0
-r-------- 1 root root 4096 Sep  6 20:34 attributes
-r-------- 1 root root 4096 Sep  6 20:34 data
-r-------- 1 root root 4096 Sep  6 20:34 guid
-rw------- 1 root root 4096 Sep  6 20:34 raw_var
-r-------- 1 root root 4096 Sep  6 20:34 size
robi schrieb:
Im BIOS auf "UEFI-Boot" umgeschaltet ?
Im Setup habe ich eingestellt:
Code:
Launch CSM=Disabled
Secure Boot=Enabled
Weiterhin wird mir angezeigt:
Code:
System Mode=User
Secure Boot=Active
 
A

Anonymous

Gast
keine Ahnung was dort bei dir los ist, ich habe auf echter Hardware dort ein vielfaches an Variablen. bei dir fehlen auch die typischen Bootvariablen, kein Wunder das da efibootmgr nichts sagen kann.

Code:
robi@lux001:/sys/firmware/efi/vars> ls
AcpiGlobalVariable-af9ffd67-ec10-488a-9dfc-6cbf5ee22c2e     NBPlatformData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a     NetworkStackVar-d1405d16-7afc-4695-bb12-41459d3695a2
AdvMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9           new_var
AfterReadyToBoot-7b77fb8b-1e0d-4d7e-953f-3980a261e077       NumOfPState-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
AMITSESetup-c811fa38-42c8-4579-a9bb-60e94eddfb34            OA3MSDMvariable-01368881-c4ad-4b1d-b631-d57a8ec8db6b
BiosSetupType-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9          OsIndicationsSupported-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0000-8be4df61-93ca-11d2-aa0d-00e098032b8c               PegGen3PresetSearchData-e1e2a446-0365-4c65-919c-0371c3f9f5ff
Boot0001-8be4df61-93ca-11d2-aa0d-00e098032b8c               PK-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0002-8be4df61-93ca-11d2-aa0d-00e098032b8c               PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0003-8be4df61-93ca-11d2-aa0d-00e098032b8c               PlatformLangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c
Boot0004-8be4df61-93ca-11d2-aa0d-00e098032b8c               PNP0400_0_NV-560bf58a-1e0d-4d7e-953f-2980a261e031
BootCurrent-8be4df61-93ca-11d2-aa0d-00e098032b8c            PNP0400_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
BootOptionSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c      PNP0501_0_NV-560bf58a-1e0d-4d7e-953f-2980a261e031
BootOrder1-8be4df61-93ca-11d2-aa0d-00e098032b8c             PNP0501_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
BootOrder-8be4df61-93ca-11d2-aa0d-00e098032b8c              PNP0501_1_NV-560bf58a-1e0d-4d7e-953f-2980a261e031
ChromiumOSBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c         PNP0501_1_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
ConInDev-8be4df61-93ca-11d2-aa0d-00e098032b8c               PNP0510_0_NV-560bf58a-1e0d-4d7e-953f-2980a261e031
ConOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c              PNP0510_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
CoolConCRC-46fe2754-75ed-40db-a395-032d70994457             PNP0604_0_NV-560bf58a-1e0d-4d7e-953f-2980a261e031
CoolConsole-46fe2754-75ed-40db-a395-032d70994457            PNP0604_0_VV-560bf58a-1e0d-4d7e-953f-2980a261e031
CPUS3APICID-1456cc6e-22ac-5289-33ba-2e13bbdabaee            PREBOOT CLOCK DATA-35c6ccb8-e380-41ef-5ba7-92850d9a5a0a
db-d719b2cb-3d3a-4596-a3bc-dad00e67656f                     PreviousMemoryTypeInformation-4c19049f-4137-4dd3-9c10-8b97a83ffdfa
DefaultBootOrder-45cf35f6-0d6e-4d04-856a-0370a5b16f53       ProcMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
del_var                                                     Profile0-b05e6b5f-6ed8-4015-b5c5-b1049faf3e5b
EasyHealthAddress-dd41adf5-4368-4654-b1ca-46a6b98d9e84      Profile-1-b05e6b5f-6ed8-4015-b5c5-b1049faf3e5b
EasyTuneSetupAddress-2a64d079-aceb-4ad9-afd5-252e35ba994a   Profile-2-b05e6b5f-6ed8-4015-b5c5-b1049faf3e5b
EasyVoltageAddress-dd41adf5-4368-4654-b1ca-46a6b98d9e84     Profile-3-b05e6b5f-6ed8-4015-b5c5-b1049faf3e5b
ErrOut-8be4df61-93ca-11d2-aa0d-00e098032b8c                 Ps2KeyboardDetectRecord-5a47386b-4c41-43b6-a140-824b0260ca8d
ErrOutDev-8be4df61-93ca-11d2-aa0d-00e098032b8c              Ps2MouseDetectRecord-09b5c46a-0f41-4cee-84ff-f3660a0b08d6
FIDLOC-83a8a2a2-dc50-4f8d-8e48-ebc8f89c1566                 S3SS-4bafc2b4-02dc-4104-b236-d6f1b98d9e84
FPDT_Variable-01368881-c4ad-4b1d-b631-d57a8ec8db6b          SbAslBufferPtrVar-01f33c25-764d-43ea-aeea-6b5a41f3f3e8
HardwareConfigData-b80a8e5b-c02a-4a31-ae12-58e46e803e89     SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c
HiiDB-1b838190-4625-4ead-abc9-cd5e6af18fe0                  Setup-80e1202e-2697-4264-9cc9-80762c3e5863
HobRomImage-dde1bc72-d45e-4209-ab85-14462d2f5074            Setup-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
HswMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9           SetupMode-8be4df61-93ca-11d2-aa0d-00e098032b8c
KEK-8be4df61-93ca-11d2-aa0d-00e098032b8c                    SetupPlatformData-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
Lang-8be4df61-93ca-11d2-aa0d-00e098032b8c                   SignatureSupport-8be4df61-93ca-11d2-aa0d-00e098032b8c
LangCodes-8be4df61-93ca-11d2-aa0d-00e098032b8c              StdDefaults-4599d26f-1a11-49b8-b91f-858745cff824
MemCeil.-40312829-7891-4abd-b200-0c541b061939               Timeout-8be4df61-93ca-11d2-aa0d-00e098032b8c
MemMitAttrib-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9           UsbMassDevNum-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
MemoryTypeInformation-4c19049f-4137-4dd3-9c10-8b97a83ffdfa  UsbMassDevValid-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
ME VAR SHADOW-6b9cfdf4-fcd2-4ea2-d796-7fd06c91f491          USB_POINT-8be4df61-93ca-11d2-aa0d-00e098032b8c
MonotonicCounter-01368881-c4ad-4b1d-b631-d57a8ec8db6b       UsbSupport-ec87d643-eba4-4bb5-a1e5-3f3e36b20da9
MrcS3Resume-87f22dcb-7304-4105-bb7c-317143ccc23b            WdtPersistentData-78ce2354-cfbc-4643-aeba-07a27fa892bf

Frag ich mich wie deine Kiste booten kann ?
Normalerweise sollten die da sein. eventuell sind sie bei dir so gesetzt das sie nach dem Bootvorgang nicht mehr existieren. Dann müssten sie aber auf der EFI-Shell noch zu sehen sein. Weißt du noch wie das ging? ;) ;) ;) ;) ;) http://forum.mosnis.de/viewtopic.php?f=42&t=17
dort ist auch noch irgendwo das Script zum erstellen eines USB-Sticks, versuche gleich die 2. oder 3. Efi-Shell in der Scriptconfiguration, (auch wenn die 3. sogut wie keine Hilfe anbietet)
Wenn du eine EFI-Shell findest die bei dir funktioniert und bei der das Kommando "bcfg" funktioniert dann # bcfg boot dump
ansonsten musst du in Gras beißen und die Variabeln roh auslesen. #dmpstore -b -all ( oder #dmpstore -b Boot* )

Zum Umleiten der Ausgabe in eine Datei zuerst das richtige Device (ESB) auf der Festplatte finden, könnte fs0 oder fs1 sein

Shell> fs0:

mit ls und cd sollte du sehen ob du richtig bist.
dann Dateinamen für das Speichern des Output ausdenken
Beim Commando die Option -b weglassen und

FS0:\> Command >a output_file_pathname

um einen 2. Befehl hinten anzuhängen

FS0:\> Command >>a output_file_pathname

Anschließend kannst du normal booten und auf der ESP sollte die Datei mit den gespeicherten Befehlsausgaben sein.

robi
 
OP
gehrke

gehrke

Administrator
Teammitglied
Um sicherzustellen, dass ich keinen SUSE-Bug habe, habe ich mal mit Fedora-Live gebootet. Dort sieht das genau so aus, das Problem scheint demnach nicht im OS, sondern in der Firmware zu stecken.

@robi: Den zweiten Teil Deines letzten Postings habe ich jetzt gerade erst gelesen, vermutlich hast Du den nachgeschoben. Ich habe im Setup den Punkt `Loading EFI shell from filesystem device`, welcher ohne weiteres Zutun erst mal zu einer 'Not found'-Meldung führt.

Ob und wann ich die von Dir beschriebenen Schritte ausführen kann, ist derzeit unklar. Das scheint nicht ganz ohne Risiko zu sein und der Computer gehört der besten Ehefrau von allen - wenn der längere Zeit nicht zur Verfügung stehen sollte, dann gibt's Ärger...
 
A

Anonymous

Gast
Wenn du im Setup eine Menüpunkt hast, Laden von Efi-Shell von Dateisystem , dann brauchst du dazu noch irgendwo auf ein Fat-Verzeichnis eine Efi-shell, mit einem namen beginnend mit "shell" und endend mit ".efi", ganz egal in welchem Verzeichnis, ob auf ESP, oder auf einem USB, CD oder was auch immer. nur FAT sollte es eben sein, damit es UEFI lesen kann.

http://forum.mosnis.de/viewtopic.php?f=42&t=17
Beitrag von Robi » Sa 21. Feb 2015, 21:11

Nackte EFI-Shell starten ist ungefährlich, damit macht man nichts kaputt. Problem ist ehr erstmal eine EFI-Shell zu finden die bei dir funktioniert. Die HW-Hersteller machen es sich da extrem leicht, ich habe bisher nur bei einem Hersteller einen Downloadlink für eine EFI-Shell gefunden.
Prinzipell gibt es die Möglichkeit

* V1 die funktioniert prächtig wahrscheinlich mit jeder UEFI-Firmware. hat aber den Nachteil, den von uns eventuell häufiger benötigten Befehl "bcfg" gibt es in dieser Version nicht.

* V2 startet nur ab Version 2.3.1 (zumindestens sollte sie das, macht sie aber auf meiner Hardware auch nicht) dort ist "bcfg" vorhanden

* modifizierte V2. die startet auch auf UEFI kleiner als 2.3.1, und hat auch "bcfg" , ist aber soweit ich mich erinnere, nur eine Minimalversion, also zB kaum eingebaute "Help" vorhanden.

Den Wiki-Artikel für die efi-shell habe ich leider noch nicht geschrieben, ich bin mir auch gar nicht so sicher ob ich den überhaupt schreiben will ;)
Soviel aus Linuxsicht total Ungewöhnliches und die Besonderheiten dort sind kein leichtes Brot, ich habe selbst ein gefühlte Ewigkeit gebraucht eh ich mich damit einigermaßen anfreunden konnte, und ich wohne, lebe, arbeite und schlafe ansonsten wirklich in vielen Shells auf unterschiedlichen Plattformen.

robi
 
OP
gehrke

gehrke

Administrator
Teammitglied
Mal unabhängig davon, was hier im konkreten Fall herauskommen sollte: Ich habe anfangs viel Potential in einem Tool wie 'efibootmgr' gesehen, weil damit scheinbar unabhängig von den tausend UI-Implementierungen der Hersteller eine ordentliche Schnittstelle von Linux aus existiert. Und bei den Tests mit den virtuellen Systemen war das auch alles töffte.

Nun mache ich den ersten Ausflug in die wirkliche Welt und lande prompt auf der Nase. Vermutlich ist das bei einem nennenswerten Anteil der Systeme da draußen auch nicht anders und das Tool bzw. Verfahren damit fraglich. Das ist extrem schade, hätte man damit doch ein Werkzeug in der Hand gehabt, um den Usern mit Boot-Problemen effizient helfen zu können. :zensur:

Wir könnten ja mal eine Umfrage starten, bei wie vielen UEFI-Usern 'efibootmgr' tatsächlich vernünftige Ergebnisse liefert...
 

josef-wien

Ultimate Guru
Ich verwende https://svn.code.sf.net/p/edk2/code/branches/UDK2010.SR1/ShellBinPkg/UefiShell/X64/Shell.efi, mit Ausnahme von
robi schrieb:
ist das die einzige Version 2, die bei meinem UEFI funktioniert. Gespeichert ist sie im Hauptverzeichnis als Shellx64.efi, damit kann sie mein UEFI direkt (also ohne NVRAM-Eintragung) starten.

Das Problem ist nicht efibootmgr, sondern daß der Kernel die entsprechenden Informationen bzw. Änderungsmöglichkeiten nicht zur Verfügung stellen kann. Ist das auch bei ausgeschaltetem secure boot so?

Sicherheitshalber:
Code:
dmesg | grep -i efi
 
OP
gehrke

gehrke

Administrator
Teammitglied
josef-wien schrieb:
Ist das auch bei ausgeschaltetem secure boot so?
Das Ergebnis ist das selbe, wenn ich 'SecureBoot' abschalte und 'CSM' abgeschaltet lasse.
josef-wien schrieb:
Sicherheitshalber:
Code:
dmesg | grep -i efi
Code:
j6:~ # dmesg | grep -i efi
[    0.000000] efi: EFI v2.31 by American Megatrends
[    0.000000] efi:  ACPI=0x79352000  ACPI 2.0=0x79352000  SMBIOS=0x79a96e18 
[    0.000000] efi: mem00: type=7, attr=0xf, range=[0x0000000000000000-0x0000000000001000) (0MB)
[    0.000000] efi: mem01: type=2, attr=0xf, range=[0x0000000000001000-0x0000000000002000) (0MB)
[    0.000000] efi: mem02: type=7, attr=0xf, range=[0x0000000000002000-0x000000000008f000) (0MB)
[    0.000000] efi: mem03: type=10, attr=0xf, range=[0x000000000008f000-0x0000000000090000) (0MB)
[    0.000000] efi: mem04: type=7, attr=0xf, range=[0x0000000000090000-0x000000000009e000) (0MB)
[    0.000000] efi: mem05: type=0, attr=0xf, range=[0x000000000009e000-0x00000000000a0000) (0MB)
[    0.000000] efi: mem06: type=7, attr=0xf, range=[0x0000000000100000-0x0000000001000000) (15MB)
[    0.000000] efi: mem07: type=2, attr=0xf, range=[0x0000000001000000-0x00000000024b9000) (20MB)
[    0.000000] efi: mem08: type=7, attr=0xf, range=[0x00000000024b9000-0x0000000020000000) (475MB)
[    0.000000] efi: mem09: type=0, attr=0xf, range=[0x0000000020000000-0x0000000020100000) (1MB)
[    0.000000] efi: mem10: type=7, attr=0xf, range=[0x0000000020100000-0x000000003ebe4000) (490MB)
[    0.000000] efi: mem11: type=2, attr=0xf, range=[0x000000003ebe4000-0x000000005a000000) (436MB)
[    0.000000] efi: mem12: type=4, attr=0xf, range=[0x000000005a000000-0x000000005a020000) (0MB)
[    0.000000] efi: mem13: type=7, attr=0xf, range=[0x000000005a020000-0x000000006a70e000) (262MB)
[    0.000000] efi: mem14: type=2, attr=0xf, range=[0x000000006a70e000-0x000000006a8e2000) (1MB)
[    0.000000] efi: mem15: type=1, attr=0xf, range=[0x000000006a8e2000-0x000000006aa07000) (1MB)
[    0.000000] efi: mem16: type=4, attr=0xf, range=[0x000000006aa07000-0x000000007874a000) (221MB)
[    0.000000] efi: mem17: type=7, attr=0xf, range=[0x000000007874a000-0x0000000078b03000) (3MB)
[    0.000000] efi: mem18: type=3, attr=0xf, range=[0x0000000078b03000-0x0000000078d4a000) (2MB)
[    0.000000] efi: mem19: type=0, attr=0xf, range=[0x0000000078d4a000-0x0000000078d7a000) (0MB)
[    0.000000] efi: mem20: type=7, attr=0xf, range=[0x0000000078d7a000-0x0000000078ec4000) (1MB)
[    0.000000] efi: mem21: type=10, attr=0xf, range=[0x0000000078ec4000-0x00000000793b7000) (4MB)
[    0.000000] efi: mem22: type=6, attr=0x800000000000000f, range=[0x00000000793b7000-0x0000000079b4c000) (7MB)
[    0.000000] efi: mem23: type=5, attr=0x800000000000000f, range=[0x0000000079b4c000-0x0000000079bad000) (0MB)
[    0.000000] efi: mem24: type=4, attr=0xf, range=[0x0000000079bad000-0x0000000079bae000) (0MB)
[    0.000000] efi: mem25: type=6, attr=0x800000000000000f, range=[0x0000000079bae000-0x0000000079bf0000) (0MB)
[    0.000000] efi: mem26: type=4, attr=0xf, range=[0x0000000079bf0000-0x0000000079d66000) (1MB)
[    0.000000] efi: mem27: type=6, attr=0x800000000000000f, range=[0x0000000079d66000-0x0000000079ffa000) (2MB)
[    0.000000] efi: mem28: type=4, attr=0xf, range=[0x0000000079ffa000-0x000000007a000000) (0MB)
[    0.000000] efi: mem29: type=11, attr=0x8000000000000000, range=[0x00000000e00f8000-0x00000000e00f9000) (0MB)
[    0.000000] efi: mem30: type=11, attr=0x8000000000000000, range=[0x00000000fed01000-0x00000000fed02000) (0MB)
[    0.000000] efi: mem31: type=11, attr=0x8000000000000000, range=[0x00000000ffc00000-0x0000000100000000) (4MB)
[    0.000000] ACPI: UEFI 0x0000000079362638 000042 (v01 _ASUS_ Notebook 00000000      00000000)
[    0.832747] Switched to clocksource refined-jiffies
[    2.550905] efifb: probing for efifb
[    2.550931] efifb: framebuffer at 0xc0000000, mapped to 0xffffc90010400000, using 1876k, total 1875k
[    2.550934] efifb: mode is 800x600x32, linelength=3200, pages=1
[    2.550936] efifb: scrolling: redraw
[    2.550939] efifb: Truecolor: size=8:8:8:8, shift=24:16:8:0
[    2.556992] fb0: EFI VGA frame buffer device
[    2.611983] EFI Variables Facility v0.08 2004-May-17
[    2.612813] efivars: duplicate variable: AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a
[    3.549482] tsc: Refined TSC clocksource calibration: 2166.666 MHz
[    4.284230] fb: switching to inteldrmfb from EFI VGA
[   17.417409] efivars: duplicate variable: AcpiGlobalVariable-c020489e-6db2-4ef2-9aa5-ca06fc11d36a
 
A

Anonymous

Gast
josef-wien schrieb:
Das Problem ist nicht efibootmgr, sondern daß der Kernel die entsprechenden Informationen bzw. Änderungsmöglichkeiten nicht zur Verfügung stellen kann. Ist das auch bei ausgeschaltetem secure boot so?

Die Bootvariablen sind im gbooteten Zustand nicht da, andere EFI-Variablen schon,
Bleibt die Frage, hat der Rechner derzeit überhaupt keine UEFI-Bootvariablen, oder sind sie da, aber in den Eigenschaften von der UEFI-Firmware so gesetzt, dass sie nur Gültigkeit bis zum Ende des Bootvorganges haben?

Das ganze UEFI-FW-gezeugs ist in der breiten Masse der Boards die bei den Usern draußen ist, derzeit längst nicht einheitlich, da scheint sich die letzten 2 oder 3 Jahre keiner so richtig an irgend einen wirklichen Standard gehalten zu haben. Das einzige was die HW-Hersteller mit ihrer FW getesten haben ist, lässt sich Windows8 installieren, und bootet es auch hinterher wieder? Wenn das funktioniert hat, dann muss diese UEFI-FW schon okay sein.

robi
 

revealed

Guru
Hallo.

Und noch dazu ist SLIC schlampig und nicht durchdacht. Ehm einen schalter aller EFI protection hast du nicht im BIOS? Also diese Virus Protection? Eventuell verhindert sowas den zugriff, wie es auch beim BIOS schon ähnlich der Fall war.

Gruß,

R
 
OP
gehrke

gehrke

Administrator
Teammitglied
Ich habe nichts in Richtung 'Virus Protection' gesehen und hätte das garantiert nicht aktiviert.

Ich vermute stark, das Robi mit der Vermutung Recht hat, dass die Gültigkeit der Variablen so gesetzt sind, dass sie nach dem Boot nicht mehr verfügbar sind. Werde mal bei Gelegenheit die Shell versuchen, v2 sollte wegen der Version eigentlich funktionieren...
 

revealed

Guru
Sry hab jetz selber irgendwie den Kontext verloren, aber braucht das nicht sysfs? Und ist das nicht als tmpfs in systemd gemounted? Also Änderungen am sysfs sind dann afaik beim Neustart verloren.

Das würde in dem Fall zu dem Verhalten passen finde ich. Weiss aber nicht ob es zutrifft.

gruß,

R
 

susejunky

Moderator
Teammitglied
Hallo gehrke,

ich konnte Deinen Beiträgen nicht sicher entnehmen, ob Dein Motherboard bei der Auslieferung bereits im "secure boot modus" war oder ob es ursprünglich geliefert wurde, ohne dass secureboot aktiviert war und Du nun erstmalig secureboot aktiviert hast.

Bei meinen PC (selbst konfiguriert und ohne Betriebssystem gekauft) war das Motherboard (MS-7918/Z97 GAMING 3 der Firma MSI) nicht im "secure boot modus" konfiguriert und die "Factory default keys" waren auch noch nicht aktiviert. Als ich dann secureboot testen wollte, habe ich mich gewundert, dass ich - mit secureboot im UEFI aktiviert - mein openSUSE-System starten konnte, obwohl ich grub2 noch gar nicht für secureboot eingerichtet hatte.

"Weiter unten" Im UEFI habe ich dann noch die Optionen "Enable default key provision" und "Enroll all factory default keys" gefunden. Nachdem ich diese ausgewählt bzw. durchgeführt hatte, lies sich openSUSE nur noch mit dem signierten Bootloader (shim.efi) starten und
Code:
od -An -t u1 /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data
gab auch tatsächlich "1" zurück.

Da außer openSUSE keine anderen Betriebssysteme auf meinem Rechner installiert sind, habe ich secureboot nicht wirklich genutzt, sondern nach kurzer Zeit wieder deaktiviert. Ich kann Dir also nicht viel weiterhelfen und ggf. ist bei Deinem Motherboard ohnehin alles ganz anders ...

Viele Grüße

susejunky
 
OP
gehrke

gehrke

Administrator
Teammitglied
susejunky schrieb:
Als ich dann secureboot testen wollte, habe ich mich gewundert, dass ich - mit secureboot im UEFI aktiviert - mein openSUSE-System starten konnte, obwohl ich grub2 noch gar nicht für secureboot eingerichtet hatte.
Nach meinen (spärlichen) Erfahrungen starten zumindest neuere Versionen von openSUSE (>=13.1) mit SecureBoot out-of-the-box, ohne das man manuell etwas anpassen müsste. Das liegt an dem mit dem Microsoft-Schlüssel zertifizierten Bootcode.
http://forum.mosnis.de/viewtopic.php?f=42&t=16

Ich denke auch nicht, dass SecureBoot etwas mit meinem aktuellen Problem zu tun hat.
 

susejunky

Moderator
Teammitglied
Hallo gehrke,

Ziel meines Beitrags war es lediglich zu hinterfragen, ob Du den Wechsel zu secureboot in Deinem UEFI auch wirklich vollständig vollzogen hast und nicht - so wie ich das bei meinem ersten Versuch gemacht habe - irgend eine (vielleicht nicht ganz so offensichtliche) Einstellung vergessen hast.
gehrke schrieb:
... Nach meinen (spärlichen) Erfahrungen starten zumindest neuere Versionen von openSUSE (>=13.1) mit SecureBoot out-of-the-box, ohne das man manuell etwas anpassen müsste. Das liegt an dem mit dem Microsoft-Schlüssel zertifizierten Bootcode.
http://forum.mosnis.de/viewtopic.php?f=42&t=16
Nur zur Klarstellung: Als ich den ersten Test mit secureboot gemacht habe war openSUSE 13.2 schon länger auf meinem System installiert und im Einsatz. Und es war definitiv keine secureboot-Unterstützung installiert; d.h. es befand sich KEIN signierter Bootloader auf der ESP.
gehrke schrieb:
... Ich denke auch nicht, dass SecureBoot etwas mit meinem aktuellen Problem zu tun hat.
Da Dir nur wenige EFI-Variablen angezeigt werden, liegt diese Vermutung nahe. In meinem System sind, egal ob mit oder ohne secureboot, deutlich mehr EFI-Variablen sichtbar. Ich vermute
Code:
od -An -t u1 /sys/firmware/efi/vars/SecureBoot-8be4df61-93ca-11d2-aa0d-00e098032b8c/data
liefert bei Dir kein Ergebnis?

Viele Grüße

susejunky
 
Oben