| Summary: | [UPDATE REQUEST] grub2-2.00-73 | ||
|---|---|---|---|
| Product: | [ROSA-based products] ROSA Fresh | Reporter: | Konstantin Vlasov <konstantin.vlasov> |
| Component: | Packages from Main | Assignee: | ROSA Linux Bugs <bugs> |
| Status: | VERIFIED FIXED | QA Contact: | ROSA Linux Bugs <bugs> |
| Severity: | normal | ||
| Priority: | Normal | CC: | aponomarenko, denis.silakov, firstlevel, v.potapov |
| Version: | Fresh | Flags: | firstlevel:
qa_verified+
denis.silakov: published+ |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Platform: | --- | ROSA Vulnerability identifier: | |
| RPM Package: | ISO-related: | ||
| Bad POT generating: | Upstream: | ||
|
Description
Konstantin Vlasov
2015-05-21 15:33:03 MSK
https://abf.io/build_lists/2502719 https://abf.io/build_lists/2502720 Advisory: Various EFI-related improvements: 1. If EFI contains several Windows Boot Manager entries, update-grub2 added first one to the boot menu, even if it was not default. Now BootOrder EFI variable is taken into account (grub menu will contain the Windows entry which is first in the BootOrder). 2. If GRUB_DISABLE_OS_PROBER=true, Windows entry will not be added to the menu anymore. 3. In EFI mode update-grub2 caused the current system's grub.cfg to become default (/boot/efi/EFI/rosa/grub.cfg was overwritten with new data). Now grub2-install/grub2-efi-install performs this action, and update-grub2 will only update the local grub.cfg; this is more consistent with the Legacy (non-EFI) mode behavior. How to test p.1: I You need a computer with EFI and pre-installed Windows (Secure Boot does not matter). II You need to configure EFI boot entries so that it contained at least two Windows entries with reversed boot order. Run `efibootmgr -v' and look for 'Windows Boot Manager' entries. If you have something like that: BootOrder: 0003,0002,2001 Boot0002* Windows Boot Manager HD(1,800,82000,05eba79a-6350-4d57-9be4-b797192104d4)File(\EFI\Microsoft\Boot\bootmgfw.efi)RC Boot0003* Windows Boot Manager HD(3,363800,82000,33cc1833-f30c-4c94-bbf4-da500d3ebdc5)File(\EFI\Microsoft\Boot\bootmgfw.efi)RC Boot2001* EFI USB Device RC then you already have the required test system: Boot0002 entry is listed before Boot0003, but BootOrder specifies them in reverse: first 0003, then 0002. If you do not have such configuration, you can simulate it manually: a) Run the following command: efibootmgr -c -L 'Windows Boot Manager' -l '\EFI\Microsoft\Boot\bootmgfw-fake.efi' -b NEWBOOTNUM -d /dev/sdX -p PART where: NEWBOOTNUM is a 4-digit hex number which is larger than any of the existing Boot entry numbers. DO NOT USE EXISTING ENTRY NUMBERS! If you do, they will be overwritten! /dev/sdX is a disk where your EFI partition is located (not the partition itself!) PART is the number of the EFI partition For example, if your EFI partition is /dev/sda2, and the largest Boot entry number is 2001, you can run: efibootmgr -c -L 'Windows Boot Manager' -l '\EFI\Microsoft\Boot\bootmgfw-fake.efi' -b 3001 -d /dev/sda -p 2 b) Run `efibootmgr -v' to check that new fake Windows entry is placed first in the BootOrder and therefore precedes the already existing (real) Windows entry. III On grub2-2.00-72 run: grub2-efi-mkconfig -o /tmp/grub-72.cfg Check that the generated config file contains Windows entry which is first in efibootmgr listing, that is loads \EFI\Microsoft\Boot\bootmgfw.efi file (incorrect behavior). IV Update to grub2-2.00-73, run: grub2-efi-mkconfig -o /tmp/grub-73.cfg Check that in the new config the latest Windows entry is used, because it is specified first in BootOrder (correct behavior). To remove the fake Windows entry from EFI boot list, run: efibootmgr -B -b BOOTNUM for example, efibootmgr -B -b 3001 The update is sent to expanded testing ************************************** Sony SVE1713S1RW + ROSA.FRESH.KDE.R5.10760.b.x86_64 grub2-2.00-72: http://hw.rosalinux.ru/index.php?probe=79d832060c grub2-2.00-73: http://hw.rosalinux.ru/index.php?probe=008812af50 Seems that all is OK with both versions of grub. In both cases the Windows menu entry loads hd0,gpt3. So I can't reproduce incorrect behaviour. Please check logs. (In reply to comment #3) > Seems that all is OK with both versions of grub. In both cases the Windows > menu entry loads hd0,gpt3. So I can't reproduce incorrect behaviour. No, it's not OK. Actually, there is another bug that I forgot to mention, which was also fixed in 73: search hints were incorrect (they always took the current /boot/efi partition instead of what Windows entry really used). Extracts from your configs: 72: search --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 3EFD-73E0 73: search --fs-uuid --set=root --hint-bios=hd0,gpt3 --hint-efi=hd0,gpt3 --hint-baremetal=ahci0,gpt3 F63D-5F92 And from /dev/disk/by-uuid/ we can see that 3EFD-73E0 is sda1, and F63D-5F92 is sda3. Therefore, in the version 72 sda1 was used, even though the hints pointed to sda3 (the hints are only "helpers", UUID is the primary search criterion). grub2-2.00-73 http://abf-downloads.rosalinux.ru/rosa2014.1/container/2502719/i586/main/release/ http://abf-downloads.rosalinux.ru/rosa2014.1/container/2502720/x86_64/main/release/ ************************ Advisory ********************** Various EFI-related improvements: 1. If EFI contains several Windows Boot Manager entries, update-grub2 added first one to the boot menu, even if it was not default. Now BootOrder EFI variable is taken into account (grub menu will contain the Windows entry which is first in the BootOrder). 2. If GRUB_DISABLE_OS_PROBER=true, Windows entry will not be added to the menu anymore. 3. In EFI mode update-grub2 caused the current system's grub.cfg to become default (/boot/efi/EFI/rosa/grub.cfg was overwritten with new data). Now grub2-install/grub2-efi-install performs this action, and update-grub2 will only update the local grub.cfg; this is more consistent with the Legacy (non-EFI) mode behavior. ******************************************************** QA Verified |