ok, I am running fedora 22, along with ubuntu & Windows 10. a new kernel got installed last night, and I rebooted, but grub doesn't show it, and still defaults to the ubuntu OS. I am new to this efibootmgr, and google is letting me down.. This is all new to me, and I am having a problem understanding what I need to do now...
#df -h /dev/sda10 46G 8.3G 36G 19% / /dev/sdb6 154G 80G 67G 55% /home /dev/sda8 95M 9.5M 86M 11% /boot/efi
grub2-mkconfig works, but grub2-install /dev/sda gives me an error grub2-install /dev/sda grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
this shows that the default is ubuntu. all I want is to update this & make the newest fedora kernel the default. # efibootmgr -v BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot000C* UEFI OS HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI) Boot0016* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI) Boot001A* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi)
#efibootmgr -o 0004,0003,0000,0001 BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB Boot0002* Fedora Boot0003* Windows Boot Manager Boot0004* ubuntu Boot000C* UEFI OS Boot0016* UEFI OS Boot001A* ubuntu
is there a good manual somewhere for efibootmgr?? I thought when a new kernel was installed, grub would automagically add it... not with efi?
On Aug 27, 2015 5:58 AM, "Paul Cartwright" pbcartwright@gmail.com wrote:
ok, I am running fedora 22, along with ubuntu & Windows 10. a new kernel got installed last night, and I rebooted, but grub doesn't show it, and still defaults to the ubuntu OS. I am new to this efibootmgr, and google is letting me down.. This is all new to me, and I am having a problem understanding what I need to do now...
#df -h /dev/sda10 46G 8.3G 36G 19% / /dev/sdb6 154G 80G 67G 55% /home /dev/sda8 95M 9.5M 86M 11% /boot/efi
grub2-mkconfig works, but grub2-install /dev/sda gives me an error grub2-install /dev/sda grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
this shows that the default is ubuntu. all I want is to update this &
make the newest fedora kernel the default.
# efibootmgr -v BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora
HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi)
Boot0003* Windows Boot Manager
HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................
Boot0004* ubuntu
HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi)
Boot000C* UEFI OS
HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI)
Boot0016* UEFI OS
HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
Boot001A* ubuntu
HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi)
#efibootmgr -o 0004,0003,0000,0001 BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB Boot0002* Fedora Boot0003* Windows Boot Manager Boot0004* ubuntu Boot000C* UEFI OS Boot0016* UEFI OS Boot001A* ubuntu
is there a good manual somewhere for efibootmgr?? I thought when a new kernel was installed, grub would automagically add it... not with efi?
-- Paul Cartwright Registered Linux User #367800 and new counter #561587
--
efibootmgr acts on the firmware boot menu. The firmware boots grub, which lives on the efi system partition (It's a file on a vfat filesystem, not code in an MBR). grub gives you a menu and boots the kernel.
This means that both ubuntu and fedora can have a grub binary installed, each with a config file. Figure out which one you are booting first. If it's the ubuntu grub, this is all expected and you need to manually update the associated grub.cfg (not the binary, just the config file!) If it's Fedora, also manually update, but also look into where the kernel failed to update grub.cfg.
TL;DR: What is the actual full command you used when invoking grub2-mkconfig ?
--Pete
On 08/27/2015 08:37 AM, Pete Travis wrote:
efibootmgr acts on the firmware boot menu. The firmware boots grub, which lives on the efi system partition (It's a file on a vfat filesystem, not code in an MBR). grub gives you a menu and boots the kernel.
ubuntu was the last OS installed, and it created a grub.cfg file, /boot/grub/grub.cfg . so I boot back into fedora, but I have to edit the grub menu to use the newest kernel, which isn't listed.
This means that both ubuntu and fedora can have a grub binary installed, each with a config file. Figure out which one you are booting first. If it's the ubuntu grub, this is all expected and you need to manually update the associated grub.cfg (not the binary, just the config file!) If it's Fedora, also manually update, but also look into where the kernel failed to update grub.cfg.
TL;DR: What is the actual full command you used when invoking grub2-mkconfig ?
well I see 2 grub.cfg files , ls -l /boot/grub2/grub.cfg -rw-r--r-- 1 root root 12189 Aug 27 06:39 /boot/grub2/grub.cfg [root@pauls-desktop backups]# ls -l /boot/efi/EFI/fedora/grub.cfg -rwx------ 1 root root 12189 Aug 27 06:40 /boot/efi/EFI/fedora/grub.cfg
I did the command grub2-mkconfig twice, to update both of those files.. so now how do I get the efibootmgr to recognize/use one of those files??
# df -h|grep efi /dev/sda8 95M 9.5M 86M 11% /boot/efi
On 08/27/2015 03:58 AM, Paul Cartwright wrote:
ok, I am running fedora 22, along with ubuntu & Windows 10. a new kernel got installed last night, and I rebooted, but grub doesn't show it, and still defaults to the ubuntu OS. I am new to this efibootmgr
A few things happen in sequence for Linux on UEFI systems.
After the system powers on, it loads and runs the UEFI firmware. The firmware initializes hardware according to a local configuration, and then searches the UEFI boot list for the first available boot device. That list is what efibootmgr lists and edits. In the system you've shown, Fedora, Ubuntu, and Windows all have their own boot loaders installed in the list. You can select a boot loader from that list (typically) by hitting the F12 key on your keyboard during the UEFI boot sequence.
UEFI then loads shim.efi, which loads grub2. In your case, it is loading the grub2 binary that Ubuntu installed, which searches for a configuration file in a different location than the grub2 binary that Fedora installed. You don't see your new Fedora kernel there, because Fedora is updating a different configuration file. You might have other options, but you should have at least these two: 1) you can manually edit the Ubuntu grub.cfg file and copy the kernel sections from Fedora there and 2) you can hit F12 to choose whether you want to load Fedora or Ubuntu's grub.
After UEFI loads grub2, grub2 looks for its configuration file, parses it, and gives you a menu to select which kernel to boot.
grub2 then loads the kernel and initrd into RAM, and passes execution there. The initrd contains a small filesystem in which /sbin/init is run, and the "real" root filesystem is mounted. The root filesystem is pivoted so that the real root filesystem is on /, and its /sbin/init is run.
grub2-mkconfig works, but grub2-install /dev/sda gives me an error grub2-install /dev/sda grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
You don't need to use grub2-install on UEFI systems (and rarely on BIOS systems either). It would normally build a custom grubx64.efi, but doing so would break under Secure Boot.
this shows that the default is ubuntu. all I want is to update this & make the newest fedora kernel the default.
You could: # efibootmbr -o 0002,0004,0003,0000,0001
I thought when a new kernel was installed, grub would automagically add it... not with efi?
It does, as long as you've configured UEFI to use Fedora's grub.
On 08/27/2015 07:31 PM, Gordon Messmer wrote:
After the system powers on, it loads and runs the UEFI firmware. The firmware initializes hardware according to a local configuration, and then searches the UEFI boot list for the first available boot device. That list is what efibootmgr lists and edits. In the system you've shown, Fedora, Ubuntu, and Windows all have their own boot loaders installed in the list. You can select a boot loader from that list (typically) by hitting the F12 key on your keyboard during the UEFI boot sequence.
not exactly sure which part is UEFI & which is grub, but I will reboot & try that...
UEFI then loads shim.efi, which loads grub2. In your case, it is loading the grub2 binary that Ubuntu installed, which searches for a configuration file in a different location than the grub2 binary that Fedora installed. You don't see your new Fedora kernel there, because Fedora is updating a different configuration file. You might have other options, but you should have at least these two: 1) you can manually edit the Ubuntu grub.cfg file and copy the kernel sections from Fedora there and 2) you can hit F12 to choose whether you want to load Fedora or Ubuntu's grub.
I tried booting into ubuntu & running the grub-mkconfig, hoping it would update the grub.cfg, but it still didn't show the latest fedora kernel when I booted..
After UEFI loads grub2, grub2 looks for its configuration file, parses it, and gives you a menu to select which kernel to boot.
You don't need to use grub2-install on UEFI systems (and rarely on BIOS systems either). It would normally build a custom grubx64.efi, but doing so would break under Secure Boot.
I think I have secure boot turned off..
this shows that the default is ubuntu. all I want is to update this & make the newest fedora kernel the default.
You could: # efibootmbr -o 0002,0004,0003,0000,0001
you meant efibootmgr, right? my fedora is 0009 and 000C, but I get the idea.. and I TRIED THAT AND... NADA
# efibootmgr -o 0009,000c,0004,0003 BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0009,000C,0004,0003 Boot0000* P0: WDC WD10EZEX-75M2NA0 Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB Boot0002* Fedora Boot0003* Windows Boot Manager Boot0004* ubuntu Boot0008* ubuntu Boot0009* UEFI OS Boot000C* UEFI OS
[root@pauls-desktop ~]# efibootmgr -v BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0009,000C,0004,0003 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot0008* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI) Boot000C* UEFI OS HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI)
I thought when a new kernel was installed, grub would automagically add it... not with efi?
It does, as long as you've configured UEFI to use Fedora's grub.
On 08/27/2015 05:44 PM, Paul Cartwright wrote:
not exactly sure which part is UEFI & which is grub, but I will reboot & try that...
UEFI is everything before the grub2 menu, essentially.
I tried booting into ubuntu & running the grub-mkconfig, hoping it would update the grub.cfg, but it still didn't show the latest fedora kernel when I booted..
Ubuntu and Fedora keep their kernels on different filesystems. In each OS, grub2-mkconfig will locate only their own kernels, and update only the cfg file for their own installation of grubx64.efi.
You don't need to use grub2-install on UEFI systems (and rarely on BIOS systems either). It would normally build a custom grubx64.efi, but doing so would break under Secure Boot.
I think I have secure boot turned off..
Doesn't matter, really. Don't use grub2-install on UEFI systems. :)
this shows that the default is ubuntu. all I want is to update this & make the newest fedora kernel the default.
You could: # efibootmbr -o 0002,0004,0003,0000,0001
you meant efibootmgr, right?
Yep.
my fedora is 0009 and 000C, but I get the idea.. and I TRIED THAT AND... NADA
No, it isn't. Your output lists:
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi)
That boot entry identifies a filesystem (sda8) where \EFI\fedora\shim.efi is a bootloader.
Boot entries 9 and C are generic entries that will load an EFI bootloader from the default path on partitions 8 and 1.
On 08/27/2015 11:14 PM, Gordon Messmer wrote:
not exactly sure which part is UEFI & which is grub, but I will reboot & try that...
UEFI is everything before the grub2 menu, essentially.
well it changed now, booting from fedora, the original screen ( before grub?) when it booted ubuntu default, had a line on the screen before anything else happened.. something about booting insecure.. then the grub menu came up. Now that the default is fedora, that line was missing and it was REALLY fast getting the grub menu, I really didn't have much time to try F12..
I tried booting into ubuntu & running the grub-mkconfig, hoping it would update the grub.cfg, but it still didn't show the latest fedora kernel when I booted..
Ubuntu and Fedora keep their kernels on different filesystems. In each OS, grub2-mkconfig will locate only their own kernels, and update only the cfg file for their own installation of grubx64.efi.
no, grub finds all OSes that can be booted, when you run grub-mkconfig it searches the entire hard drive, which is why it finds windows, and fedora. BUT, since I was in fedora, and added a new kernel, the older ubuntu grub.cfg didn't pick it up.
You don't need to use grub2-install on UEFI systems (and rarely on BIOS systems either). It would normally build a custom grubx64.efi, but doing so would break under Secure Boot.
I think I have secure boot turned off..
Doesn't matter, really. Don't use grub2-install on UEFI systems. :)
right, and that is what I am trying to figure out, how I update grub/UEFI so it knows when I have new kernels.. the process has changed with UEFI, and I am new to it. fedora22 changed kernels sometimes weekly... grub gets updated often. The other OS is ubuntu server, so it doesn't change as often. WIndows will never be my default OS:) but I do use it once in a while.... games, Turbo Tax...
You could:
# efibootmbr -o 0002,0004,0003,0000,0001
you meant efibootmgr, right?
Yep.
my fedora is 0009 and 000C, but I get the idea.. and I TRIED THAT AND... NADA
No, it isn't. Your output lists:
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi)
That boot entry identifies a filesystem (sda8) where \EFI\fedora\shim.efi is a bootloader.
Boot entries 9 and C are generic entries that will load an EFI bootloader from the default path on partitions 8 and 1.
oh... I think I get it, but now my entries look like ( 10 entries in boot order):
BootOrder: 0005,0009,000C,0004,0003,0010,0000,0001,0002,0008 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi)
Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
so 0005 and 0009 are both fedora, different kernels... one is shimx64.efi and the other is shim.efi , whatever they are.. except there is no shimx64.efi ...
-rwx------ 1 root root 1293304 Feb 17 2015 shim.efi -rwx------ 1 root root 1287032 Feb 17 2015 shim-fedora.efi
On 08/28/2015 03:02 AM, Paul Cartwright wrote:
well it changed now, booting from fedora, the original screen ( before grub?) when it booted ubuntu default, had a line on the screen before anything else happened.. something about booting insecure.. then the grub menu came up. Now that the default is fedora, that line was missing and it was REALLY fast getting the grub menu, I really didn't have much time to try F12..
At this point I'd have to start guessing. There seem to be a handful of unrelated things changing on your system, and I tend to think you're making more changes than you document. In this case, enabling "quiet boot" in most UEFI or BIOS configurations would do what you're describing, making the boot process shorter.
Doesn't matter, really. Don't use grub2-install on UEFI systems. :)
right, and that is what I am trying to figure out, how I update grub/UEFI so it knows when I have new kernels..
When new kernels are installed, grubby adds a new stanza to grub.cfg. You don't need to reinstall grub, you only need the cfg updated. This is actually the same as it was under BIOS, it hasn't changed. The part that has changed is the initial installation of grub. In that case, the grub2-efi and shim rpms place the files on the FAT32 system partition which are required to boot, and efibootmgr is used to create an UEFI boot entry. grub2-install is never used (AFAIK).
oh... I think I get it, but now my entries look like ( 10 entries in boot order):
BootOrder: 0005,0009,000C,0004,0003,0010,0000,0001,0002,0008 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0)
Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0)
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi)
Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................
Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi)
Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi)
Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
so 0005 and 0009 are both fedora, different kernels... one is shimx64.efi and the other is shim.efi
Have another look. Boot002 and Boot005 are Fedora, and they are identical. They identify \EFI\FEDORA\shim.efi on partition 8. Notably, they don't refer to a kernel at all.
UEFI loads and runs shim.efi, which is identified in the UEFI boot list. shim.efi loads and runs grubx64.efi. grubx64.efi loads its configuration file, then loads and runs a Linux kernel (or Windows). The kernel runs /sbin/init on its root filesystem.
, whatever they are.. except there is no shimx64.efi ...
-rwx------ 1 root root 1293304 Feb 17 2015 shim.efi -rwx------ 1 root root 1287032 Feb 17 2015 shim-fedora.efi
The full path relative to the system partition is "\EFI\ubuntu\shimx64.efi". It's in a different directory than the Fedora-installed shim.efi.
On 08/28/2015 01:19 PM, Gordon Messmer wrote:
Have another look. Boot002 and Boot005 are Fedora, and they are identical. They identify \EFI\FEDORA\shim.efi on partition 8. Notably, they don't refer to a kernel at all.
ok, so UEFI loads grub which loads grub.cfg which knows about the different kernels ?
UEFI loads and runs shim.efi, which is identified in the UEFI boot list. shim.efi loads and runs grubx64.efi. grubx64.efi loads its configuration file, then loads and runs a Linux kernel (or Windows). The kernel runs /sbin/init on its root filesystem.
, whatever they are.. except there is no shimx64.efi ...
-rwx------ 1 root root 1293304 Feb 17 2015 shim.efi -rwx------ 1 root root 1287032 Feb 17 2015 shim-fedora.efi
The full path relative to the system partition is "\EFI\ubuntu\shimx64.efi". It's in a different directory than the Fedora-installed shim.efi.
I just mounted my ubuntu "/" partition and.... /boot/efi was... empty. I'm pretty sure it was there when I booted ubuntu.. oh wait... /boot/efi is a separate partition.. but it is already mounted, and it is fedora, not ubuntu... arg....
On 08/28/2015 10:33 AM, Paul Cartwright wrote:
ok, so UEFI loads grub which loads grub.cfg which knows about the different kernels ?
Essentially, yes. UEFI has its own list, which normally isn't displayed and is only available with the F12 key. It identifies different boot loaders (such as the PXE loader, the Windows boot loader, grub2, etc).
I just mounted my ubuntu "/" partition and.... /boot/efi was... empty. I'm pretty sure it was there when I booted ubuntu.. oh wait... /boot/efi is a separate partition.. but it is already mounted, and it is fedora, not ubuntu... arg....
Yeah, you will typically have just one system partition. In your case, it has different directories for the Fedora and Ubuntu shim and grubx64.efi, and grub.cfg.
On 08/28/2015 01:46 PM, Gordon Messmer wrote:
ok, so UEFI loads grub which loads grub.cfg which knows about the different kernels ?
Essentially, yes. UEFI has its own list, which normally isn't displayed and is only available with the F12 key. It identifies different boot loaders (such as the PXE loader, the Windows boot loader, grub2, etc).
I will try to hit F12 next time I boot... I want to SEE this:)
I just mounted my ubuntu "/" partition and.... /boot/efi was... empty. I'm pretty sure it was there when I booted ubuntu.. oh wait... /boot/efi is a separate partition.. but it is already mounted, and it is fedora, not ubuntu... arg....
Yeah, you will typically have just one system partition. In your case, it has different directories for the Fedora and Ubuntu shim and grubx64.efi, and grub.cfg.
that's what is confusing.. I remember under ubuntu there was a /boot/efi/EFI/ubuntu folder.. /boot/efi is a separate partion, I get that, I created it:)
but now I don't see the ubuntu folder, but the fedora folder.. do these folders get created/and/or/mounted differently for each OS??
ls -l /boot/efi/EFI total 16 drwx------ 2 root root 2048 May 21 14:59 BOOT drwx------ 3 root root 2048 Aug 27 06:40 fedora -rwx------ 1 root root 11391 Aug 23 09:02 fedora.new
where in the world is ubuntu ( not Carmen san Diego:-0)
On 08/28/2015 11:30 AM, Paul Cartwright wrote:
Yeah, you will typically have just one system partition. In your case, it has different directories for the Fedora and Ubuntu shim and grubx64.efi, and grub.cfg.
but now I don't see the ubuntu folder, but the fedora folder.. do these folders get created/and/or/mounted differently for each OS??
My mistake.
From your first message, efibootmgr printed:
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) ... Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi)
So, /dev/sda8 has shim and grub for Fedora, and /dev/sda1 has shim and grub for Ubuntu. (It also has the Windows boot loader in it)
On 08/28/2015 05:18 PM, Gordon Messmer wrote:
My mistake.
From your first message, efibootmgr printed:
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi)
... Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi)
So, /dev/sda8 has shim and grub for Fedora, and /dev/sda1 has shim and grub for Ubuntu. (It also has the Windows boot loader in it) --
oh, I get it.. but still I don't get it... /boot/efi is a separate partition.. how can /EFI/ubuntu & /EFI/fedora be different... when they are both under /boot/efi..
On 08/28/2015 03:22 PM, Paul Cartwright wrote:
oh, I get it.. but still I don't get it... /boot/efi is a separate partition.. how can /EFI/ubuntu & /EFI/fedora be different... when they are both under /boot/efi..
In the same way that "/" is a different partition or logical volume for Ubuntu and Fedora, so is /boot/efi. Both sda1 and sda8 are partitions with a FAT32 filesystem, and the UEFI firmware can read files and run bootloaders from either of those partitions. Fedora mounts sda8 on /boot/efi, and Ubuntu mounts /dev/sda1 on /boot/efi. The partition or filesystem itself doesn't tell the OS where it belongs, /etc/fstab does.
On Fri, Aug 28, 2015 at 6:22 PM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/28/2015 05:18 PM, Gordon Messmer wrote:
From your first message, efibootmgr printed:
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi)
... Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi)
So, /dev/sda8 has shim and grub for Fedora, and /dev/sda1 has shim and grub for Ubuntu. (It also has the Windows boot loader in it)
oh, I get it.. but still I don't get it... /boot/efi is a separate partition.. how can /EFI/ubuntu & /EFI/fedora be different... when they are both under /boot/efi..
Ubuntu's mounting sda1 at "/boot/efi" and Fedora's mounting sda8 there.
On 08/29/2015 03:43 PM, Tom H wrote:
oh, I get it.. but still I don't get it... /boot/efi is a separate partition.. how can /EFI/ubuntu & /EFI/fedora be different... when they are both under /boot/efi..
Ubuntu's mounting sda1 at "/boot/efi" and Fedora's mounting sda8 there.
I have a partition /dev/sda10 /boot/efi . I created that when I did the fedora installation. fedora "/" is /dev/sd8.
On Fri, Aug 28, 2015 at 3:18 PM, Gordon Messmer gordon.messmer@gmail.com wrote:
On 08/28/2015 11:30 AM, Paul Cartwright wrote:
Yeah, you will typically have just one system partition. In your case, it has different directories for the Fedora and Ubuntu shim and grubx64.efi, and grub.cfg.
but now I don't see the ubuntu folder, but the fedora folder.. do these folders get created/and/or/mounted differently for each OS??
My mistake.
From your first message, efibootmgr printed:
Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) ... Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi)
So, /dev/sda8 has shim and grub for Fedora, and /dev/sda1 has shim and grub for Ubuntu. (It also has the Windows boot loader in it)
That answers my question. So the Ubuntu GRUB is used in any case, and seems to have a grub.cfg with Fedora boot entries. When Ubuntu is chosen, its fstab causes sda1 EFI System partition to be mounted at /boot/efi and when Fedora is chosen its fstab causes sda8 EFI System partition to be mounted at /boot/efi.
This is the sort of thing that pisses me off, when developers are all "custom is custom the user is expected to know what they're doing" [1] when exhibits A, B, C and D prove they do not know what they're doing, cannot be expected to know what they're doing because the knowledge necessary is esoteric, and then silence. And this results in subsequent UI/UX disaster like multiple ESPs and general ESP confusion, which is not the user's fault, but rather the installer's [2] but then such bad design gets closed as notabug. It's really f'n annoying! Not the user's fault!
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1010495#c57 [2] https://bugzilla.redhat.com/show_bug.cgi?id=1022316
On Fri, Aug 28, 2015 at 11:33 AM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/28/2015 01:19 PM, Gordon Messmer wrote:
Have another look. Boot002 and Boot005 are Fedora, and they are identical. They identify \EFI\FEDORA\shim.efi on partition 8. Notably, they don't refer to a kernel at all.
ok, so UEFI loads grub which loads grub.cfg which knows about the different kernels ?
UEFI looks at NVRAM to determine boot order, and tries the boot entries in that order until the spaghetti sticks to the wall. Your EFI System partition has at least three bootloaders, an Ubuntu GRUB, a Fedora GRUB, and a Windows bootloader. Since the BootOrder starts with 0004, which corresponds to the Ubuntu GRUB, that's the GRUB that UEFI executes, and that GRUB loads its own grub.cfg, and will display the kernels its aware of.
Due to many things, including UEFI, and GRUB being overly complicated, and each distro forking GRUB, and also not always keeping it up to date with upstream, there are many variations in GRUB behavior possible. So it's not necessarily the case a given grub.cfg contains menu entries for all kernels/distros on the system. It might contain only entries for a particular distribution.
In my view, the concept of grub.cfg containing entries for other distros is fraught with peril, not least of which is that the wrong /etc/grub/default is read to create the entries for other distros. Also, kernel upgrades only cause one grub.cfg to get updated. So I really wish this whole automatic creation of other distro menu entries would go away and instead create a forwarding entry to all other grub.cfg's. That way the proper menu entry for a particular kernel+distro is always used.
And this explanation is courtesy of how overly complicated it is. How it actually works at a code level, just look at grub.cfg - it reads like a bash script. It's not just a boot configuration file anymore. It's simultaneously impressive and annoying.
UEFI loads and runs shim.efi, which is identified in the UEFI boot list. shim.efi loads and runs grubx64.efi. grubx64.efi loads its configuration file, then loads and runs a Linux kernel (or Windows). The kernel runs /sbin/init on its root filesystem.
, whatever they are.. except there is no shimx64.efi ...
-rwx------ 1 root root 1293304 Feb 17 2015 shim.efi -rwx------ 1 root root 1287032 Feb 17 2015 shim-fedora.efi
The full path relative to the system partition is "\EFI\ubuntu\shimx64.efi". It's in a different directory than the Fedora-installed shim.efi.
I just mounted my ubuntu "/" partition and.... /boot/efi was... empty. I'm pretty sure it was there when I booted ubuntu.. oh wait... /boot/efi is a separate partition.. but it is already mounted, and it is fedora, not ubuntu... arg....
Yet another absurdity is this OCD on Linux with persistently mounting shit that doesn't need to be mounted. No other OS does this with the EFI System partition. In my opinion it's sloppiness+laziness that we do this instead of mounting it dynamically on demand only when it's necessary and then promptly umount it - which should be rather rare.
In a previous email some information you posted indicated the EFI System partition was sda8, which makes me wonder if there's more than one ESP on this drive. On an out of the box Windows 8.1 system I had, it was sda2 and Fedora reused that rather than making a new ESP. More than one ESP can also be confusing for the user, and might trigger bugs even though it's permitted in the UEFI spec.
On 08/28/2015 06:40 PM, Chris Murphy wrote:
Due to many things, including UEFI, and GRUB being overly complicated, and each distro forking GRUB, and also not always keeping it up to date with upstream, there are many variations in GRUB behavior possible. So it's not necessarily the case a given grub.cfg contains menu entries for all kernels/distros on the system. It might contain only entries for a particular distribution.
well, I know when I installed fedora, grub had entries for windows 10 and 3 fedora kernels. when I installed ubuntu after that, ubuntu became the default, and grub had 3 entries for fedora, plus windows 10, plus ubuntu. when I rebooted into fedora, and installed the latest kernel, THEN I had issues with grub, because I didn't know how to update the grub that was installed, and I didn't know how to update the fedora grub & have the system use that to boot from.
In my view, the concept of grub.cfg containing entries for other distros is fraught with peril, not least of which is that the wrong /etc/grub/default is read to create the entries for other distros. Also, kernel upgrades only cause one grub.cfg to get updated. So I really wish this whole automatic creation of other distro menu entries would go away and instead create a forwarding entry to all other grub.cfg's. That way the proper menu entry for a particular kernel+distro is always used.
every time you boot into a specific distro, update the system, and install a new kernel, well, then grub needs to be updated. MY problem is, I want to keep ubuntu updated, but I always want fedora grub to be the default.. I don't think they thought about all these situations when they created grub...
And this explanation is courtesy of how overly complicated it is. How it actually works at a code level, just look at grub.cfg - it reads like a bash script. It's not just a boot configuration file anymore. It's simultaneously impressive and annoying.
yes, I've edited the grub when I boot, to change an entry to a newer kernel that grub didn't know about. It isn't fun.
UEFI loads and runs shim.efi, which is identified in the UEFI boot list. shim.efi loads and runs grubx64.efi. grubx64.efi loads its configuration file, then loads and runs a Linux kernel (or Windows). The kernel runs /sbin/init on its root filesystem.
> , whatever they are.. except there > is no shimx64.efi ... > > -rwx------ 1 root root 1293304 Feb 17 2015 shim.efi > -rwx------ 1 root root 1287032 Feb 17 2015 shim-fedora.efi
The full path relative to the system partition is "\EFI\ubuntu\shimx64.efi". It's in a different directory than the Fedora-installed shim.efi.
I just mounted my ubuntu "/" partition and.... /boot/efi was... empty. I'm pretty sure it was there when I booted ubuntu.. oh wait... /boot/efi is a separate partition.. but it is already mounted, and it is fedora, not ubuntu... arg....
Yet another absurdity is this OCD on Linux with persistently mounting shit that doesn't need to be mounted. No other OS does this with the EFI System partition. In my opinion it's sloppiness+laziness that we do this instead of mounting it dynamically on demand only when it's necessary and then promptly umount it - which should be rather rare.
this is beyond my ...current knowledge:)
In a previous email some information you posted indicated the EFI System partition was sda8, which makes me wonder if there's more than one ESP on this drive. On an out of the box Windows 8.1 system I had, it was sda2 and Fedora reused that rather than making a new ESP. More than one ESP can also be confusing for the user, and might trigger bugs even though it's permitted in the UEFI spec.
I thought I had my partitions written down, so I would know what I had where... but this /boot/efi and /EFI/fedora & /EFI/ubuntu has totally screwed my mind up. I am running fedora, but I mounted my ubuntu partition to look at the EFI/ubuntu folder but.... it wasn't there.
On Fri, Aug 28, 2015 at 7:48 PM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/28/2015 06:40 PM, Chris Murphy wrote:
Due to many things, including UEFI, and GRUB being overly complicated, and each distro forking GRUB, and also not always keeping it up to date with upstream, there are many variations in GRUB behavior possible. So it's not necessarily the case a given grub.cfg contains menu entries for all kernels/distros on the system. It might contain only entries for a particular distribution.
well, I know when I installed fedora, grub had entries for windows 10 and 3 fedora kernels. when I installed ubuntu after that, ubuntu became the default, and grub had 3 entries for fedora, plus windows 10, plus ubuntu.
The central problem is that the distros are on a continuum among ambivalence, incompetence, and malicious when it comes to multiboot cooperation. And GRUB upstream has done a lot of Rube Goldberg innovation to try to solve this problem but then ultimately it all breaks.
For multiboot, GRUB has failed the distros, the distros have failed GRUB by effectively forking it, and each other. And even though proposals have been made to fix this problem, the bottom line is, the distros could not possibly care less than they do now, or it'd get fixed.
when I rebooted into fedora, and installed the latest kernel, THEN I had issues with grub, because I didn't know how to update the grub that was installed, and I didn't know how to update the fedora grub & have the system use that to boot from.
You'd have to provide detailed information about machine state at each step of the way in order for an autopsy to be possible, and know what the cause of the problem was. All i can say is, you shouldn't have to update the Fedora grub.cfg manually, this is done fairly reliably by grubby. But only the Fedora grub.cfg is so modified. The Ubuntu grub.cfg which also contains Fedora boot entries, does not. And conversely when you update Ubuntu kernels, only its grub.cfg is updated, not Fedora's.
every time you boot into a specific distro, update the system, and install a new kernel, well, then grub needs to be updated. MY problem is, I want to keep ubuntu updated, but I always want fedora grub to be the default.. I don't think they thought about all these situations when they created grub...
Or did but didn't think it would be like running over the user's foot with a backhoe.
If you weren't confused, I'd have been surprised.
I thought I had my partitions written down, so I would know what I had where... but this /boot/efi and /EFI/fedora & /EFI/ubuntu has totally screwed my mind up. I am running fedora, but I mounted my ubuntu partition to look at the EFI/ubuntu folder but.... it wasn't there.
It won't be, the Ubuntu /boot/efi/EFI directory is on sda1, so is Windows. The Fedora one is on sda8. This can be consolidated, but it's really the least of your problems, even if it reduces the confusion that ensues from having two EFI system partitions.
On 08/29/2015 02:11 AM, Chris Murphy wrote:
when I installed ubuntu after that, ubuntu became the default, and grub had 3 entries for fedora, plus windows 10, plus ubuntu.
The central problem is that the distros are on a continuum among ambivalence, incompetence, and malicious when it comes to multiboot cooperation. And GRUB upstream has done a lot of Rube Goldberg innovation to try to solve this problem but then ultimately it all breaks.
For multiboot, GRUB has failed the distros, the distros have failed GRUB by effectively forking it, and each other. And even though proposals have been made to fix this problem, the bottom line is, the distros could not possibly care less than they do now, or it'd get fixed.
I did notice a difference between the grub process in ubuntu & fedora.. in ubuntu I remember getting a " booting in insecure mode" message BEFORE the grub menu came up. With fedora grub, that message disappeared. other differences might be so obvious..
when I rebooted into fedora, and installed the latest kernel, THEN I had issues with grub, because I didn't know how to update the grub that was installed, and I didn't know how to update the fedora grub & have the system use that to boot from.
You'd have to provide detailed information about machine state at each step of the way in order for an autopsy to be possible, and know what the cause of the problem was. All i can say is, you shouldn't have to update the Fedora grub.cfg manually, this is done fairly reliably by grubby. But only the Fedora grub.cfg is so modified. The Ubuntu grub.cfg which also contains Fedora boot entries, does not. And conversely when you update Ubuntu kernels, only its grub.cfg is updated, not Fedora's.\
that was my initial problem. my last OS install was ubuntu, which took over the grub process. THEN I installed a new fedora kernel, and I started the thread trying to get the new fedora kernel into the grub menu.. but first I had to either redo the ubuntu grub.cfg OR change grub to the fedora grub config.. After a few messages I got the efibootmgr -o to change the booting sequence to fedora default, that only took 2 days.. then trying to figure out the how & why of all this EFI/ubuntu/fedora/grub.cfg nonsense...
every time you boot into a specific distro, update the system, and install a new kernel, well, then grub needs to be updated. MY problem is, I want to keep ubuntu updated, but I always want fedora grub to be the default.. I don't think they thought about all these situations when they created grub...
Or did but didn't think it would be like running over the user's foot with a backhoe.
that about covers it:)
If you weren't confused, I'd have been surprised.
thanks, in the beginning I thought I was sane, but this process is destroying my sanity slowly but surely..
I thought I had my partitions written down, so I would know what I had where... but this /boot/efi and /EFI/fedora & /EFI/ubuntu has totally screwed my mind up. I am running fedora, but I mounted my ubuntu partition to look at the EFI/ubuntu folder but.... it wasn't there.
It won't be, the Ubuntu /boot/efi/EFI directory is on sda1, so is Windows. The Fedora one is on sda8. This can be consolidated, but it's really the least of your problems, even if it reduces the confusion that ensues from having two EFI system partitions.
I'm going to have to go back & look... (booted in fedora currently) gparted shows /dev/sda1 as EFI system partition fat32 500Mb not mounted /dev/sda8 EFI system partition mounted as /boot/efi 95Mb / = /dev/sda10 /home=/dev/sdb6
ubuntu / = /dev/sdb8
On Sat, Aug 29, 2015 at 2:11 AM, Chris Murphy lists@colorremedies.com wrote:
The central problem is that the distros are on a continuum among ambivalence, incompetence, and malicious when it comes to multiboot cooperation. And GRUB upstream has done a lot of Rube Goldberg innovation to try to solve this problem but then ultimately it all breaks.
For multiboot, GRUB has failed the distros, the distros have failed GRUB by effectively forking it, and each other. And even though proposals have been made to fix this problem, the bottom line is, the distros could not possibly care less than they do now, or it'd get fixed.
If only installers would use the same ESP and elilo/grub/gummiboot/syslinux/systemd-boot would pick up root/kernel/cmdline/initrd options from "/boot/loader/entries/" or "/boot/efi/loader/entries/" or "/boot/efi/EFI/loader/entries/"...
On 08/28/2015 06:48 PM, Paul Cartwright wrote:
every time you boot into a specific distro, update the system, and install a new kernel, well, then grub needs to be updated.
To be clear: the grub configuration needs to be updated. Grub, the program, does not. Installing a new kernel does not, for instance, involve running grub2-install.
MY problem is, I want to keep ubuntu updated, but I always want fedora grub to be the default.. I don't think they thought about all these situations when they created grub...
The best way to do that is to boot Fedora and run grub2-mkconfig each time you update Ubuntu kernels.
On 08/29/2015 03:33 PM, Gordon Messmer wrote:
every time you boot into a specific distro, update the system, and install a new kernel, well, then grub needs to be updated.
To be clear: the grub configuration needs to be updated. Grub, the program, does not. Installing a new kernel does not, for instance, involve running grub2-install.
true... grub.cfg is updated, not the package.
MY problem is, I want to keep ubuntu updated, but I always want fedora grub to be the default.. I don't think they thought about all these situations when they created grub...
The best way to do that is to boot Fedora and run grub2-mkconfig each time you update Ubuntu kernels.
exactly what I plan to do:)
On Fri, Aug 28, 2015 at 1:33 PM, Paul Cartwright pbcartwright@gmail.com wrote:
I just mounted my ubuntu "/" partition and.... /boot/efi was... empty. I'm pretty sure it was there when I booted ubuntu.. oh wait... /boot/efi is a separate partition.. but it is already mounted, and it is fedora, not ubuntu... arg....
I just went back to your initial email.
The Ubuntu and Fedora ESPs are different. Ubuntu's is sda1 and Fedora's is sda8.
Are you looking for the Ubuntu ESP while booted into Fedora or Ubuntu?
I remember an old thread/bug where someone complained that Anaconda didn't re-use an already existing ESP...
On 08/29/2015 06:28 AM, Tom H wrote:
I just went back to your initial email.
The Ubuntu and Fedora ESPs are different. Ubuntu's is sda1 and Fedora's is sda8.
Are you looking for the Ubuntu ESP while booted into Fedora or Ubuntu?
I remember an old thread/bug where someone complained that Anaconda didn't re-use an already existing ESP... --
my issue was, I installed ubuntu last & it took over the grub.cfg. It had entries for fedora. then I booted into fedora, installed a newer kernel & grub didn't have an entry for that kernel, because grub was from ubuntu, so it didn't get updated. My issue was how to get the newer fedora entries into grub. I see there are 2 ways ( that I know of) to accomplish this.
1. boot into ubuntu & update-grub 2.in fedora run efibootmgr -v to see what the current entries & defaults are, the issue efibootmgr-o xxxx, yyyy where xxxx= my current fedora entry & yyyy=ubuntu. when I reboot, the fedora grub will be utilized.
then if I update ubuntu I have to either do the efibootmgr -o to change to ubuntu OR from fedora run grub-2mkconfig.. with 2 ESPs it is a manual process to keep grub updated for 2 OSes..
On 08/29/2015 04:42 AM, Paul Cartwright wrote:
then if I update ubuntu I have to either do the efibootmgr -o to change to ubuntu OR from fedora run grub-2mkconfig.. with 2 ESPs it is a manual process to keep grub updated for 2 OSes..
Just pick which system's grub you want to use, and you can stop fiddling with efibootmgr. Use grub2-mkconfig in your "primary" system to build a complete cfg file.
UEFI isn't complicating the issue at all. Even if you had just one ESP, you'd still have two grub installations, and two files. You'd still have to run grub2-mkconfig in the primary system.
And while it'd be fantastic if it weren't that way, it really can't be unless grub is "stable" in the sense that the configuration file syntax is finished, no new features will be added, grub2-mkconfig produces a predictable output, and all distributions run this stable version of grub.
On 08/29/2015 03:47 PM, Gordon Messmer wrote:
Just pick which system's grub you want to use, and you can stop fiddling with efibootmgr. Use grub2-mkconfig in your "primary" system to build a complete cfg file.
I want fedora, I just want ubuntu updated.... so the primary works for me:) I had to use efibootmgr ONCE to change it from ubuntu back to fedora..
UEFI isn't complicating the issue at all. Even if you had just one ESP, you'd still have two grub installations, and two files. You'd still have to run grub2-mkconfig in the primary system.
that I can deal with.. but there are TWO grub.cfg files.... which one should I modify with grub2-mkconfig??
[root@pauls-desktop boot]# ls -l /boot/grub2/grub.cfg -rw-r--r-- 1 root root 12189 Aug 27 06:39 /boot/grub2/grub.cfg [root@pauls-desktop boot]# ls -l /boot/efi/EFI/fedora/grub.cfg -rwx------ 1 root root 12189 Aug 27 06:40 /boot/efi/EFI/fedora/grub.cfg
And while it'd be fantastic if it weren't that way, it really can't be unless grub is "stable" in the sense that the configuration file syntax is finished, no new features will be added, grub2-mkconfig produces a predictable output, and all distributions run this stable version of grub.
On 08/29/2015 04:29 PM, Gordon Messmer wrote:
that I can deal with.. but there are TWO grub.cfg files.... which one should I modify with grub2-mkconfig??
The one on the ESP. /boot/grub2/grub.cfg is used under BIOS. It normally won't be present on an UEFI system.
this started as a UEFI system.. it might have been me that created it, doing my "normal" mkconfig -o /boot/grub2/grub.cfg ... how was I to know I was wrong:) so I just need to update /boot/efi/EFI/fedora/grub.cfg .. but a new kernel should update it..
On Sat, Aug 29, 2015 at 1:47 PM, Gordon Messmer gordon.messmer@gmail.com wrote:
On 08/29/2015 04:42 AM, Paul Cartwright wrote:
then if I update ubuntu I have to either do the efibootmgr -o to change to ubuntu OR from fedora run grub-2mkconfig.. with 2 ESPs it is a manual process to keep grub updated for 2 OSes..
Just pick which system's grub you want to use, and you can stop fiddling with efibootmgr. Use grub2-mkconfig in your "primary" system to build a complete cfg file.
UEFI isn't complicating the issue at all. Even if you had just one ESP, you'd still have two grub installations, and two files. You'd still have to run grub2-mkconfig in the primary system.
And while it'd be fantastic if it weren't that way, it really can't be unless grub is "stable" in the sense that the configuration file syntax is finished, no new features will be added, grub2-mkconfig produces a predictable output, and all distributions run this stable version of grub.
Practically, the user needs to use the UEFI firmware's built-in boot manager (one time boot menu) to choose which OS to boot. In effect this overrides the NVRAM BootOrder, and causes the firmware to execute the OS specific OSLoader (the particular OS supplied grubx64.efi).
The alternative is BootLoaderSpec (two variants), which separates the complex setup aspects of GRUB environment initialization, from OS menu entries which exist as per OS boot snippet files. Each OS gets their own directory, and the files are drop-in which are then aggregated by GRUB (or any supporting bootloader for that matter). The file format is very straightforward, not much different from syslinux.conf or GRUB legacy – in fact a bit simpler.
So it could be done, there's just no user advocate + resources + discipline in the various distros to make it happen. It's an environment completely opposite to the cooperation that happens in kernel development.
On 08/29/2015 11:30 PM, Chris Murphy wrote:
And while it'd be fantastic if it weren't that way, it really can't be unless grub is "stable" in the sense that the configuration file syntax is finished, no new features will be added, grub2-mkconfig produces a predictable output, and all distributions run this stable version of grub.
Practically, the user needs to use the UEFI firmware's built-in boot manager (one time boot menu) to choose which OS to boot. In effect this overrides the NVRAM BootOrder, and causes the firmware to execute the OS specific OSLoader (the particular OS supplied grubx64.efi).
is this the F12 boot menu before grub?? I do need to check that out, just haven't had a reason to reboot yet:)
On 08/29/2015 11:30 PM, Chris Murphy wrote:
Practically, the user needs to use the UEFI firmware's built-in boot manager (one time boot menu) to choose which OS to boot. In effect this overrides the NVRAM BootOrder, and causes the firmware to execute the OS specific OSLoader (the particular OS supplied grubx64.efi).
ok, so I rebooted, and hit F12 when I saw the Dell logo.. it gets me to a screen where I see:
UEFI Boot Fedora UEFI OS UEFI OS ubuntu Windows... Fedora ubuntu
not very descriptive to tell me what kernel or why duplicate Fedora & ubuntu entries.. I selected the top Fedora entry and... it took me to my known fedora grub selection for all the fedora,ubuntu & windows OSes.. that is the fedora grub.cfg entries..
On Sun, Aug 30, 2015 at 6:58 AM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/29/2015 11:30 PM, Chris Murphy wrote:
Practically, the user needs to use the UEFI firmware's built-in boot manager (one time boot menu) to choose which OS to boot. In effect this overrides the NVRAM BootOrder, and causes the firmware to execute the OS specific OSLoader (the particular OS supplied grubx64.efi).
ok, so I rebooted, and hit F12 when I saw the Dell logo.. it gets me to a screen where I see:
UEFI Boot Fedora UEFI OS UEFI OS ubuntu Windows... Fedora ubuntu
not very descriptive to tell me what kernel or why duplicate Fedora & ubuntu entries.. I selected the top Fedora entry and... it took me to my known fedora grub selection for all the fedora,ubuntu & windows OSes.. that is the fedora grub.cfg entries..
Doesn't the firmware boot screen correspond to the output of "efibootmgr"?
On 08/30/2015 08:28 AM, Tom H wrote:
it gets me to a screen where I see:
UEFI Boot Fedora UEFI OS UEFI OS ubuntu Windows... Fedora ubuntu
not very descriptive to tell me what kernel or why duplicate Fedora & ubuntu entries.. I selected the top Fedora entry and... it took me to my known fedora grub selection for all the fedora,ubuntu & windows OSes.. that is the fedora grub.cfg entries..
Doesn't the firmware boot screen correspond to the output of "efibootmgr"?
it looks that way.. so, tell me what the difference is between Fedora, 0005, and UEFI OS:
Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
what is the difference between FEDORA/shim.efi and FEDORA/BOOTX64.EFI ...
efibootmgr -v BootCurrent: 0005 Timeout: 0 seconds BootOrder: 0005,0009,000C,0004,0003,0002,0010,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI) Boot000C* UEFI OS HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI) Boot0010* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi)
On 08/30/2015 06:21 AM, Paul Cartwright wrote:
so, tell me what the difference is between Fedora, 0005, and UEFI OS:
Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
what is the difference between FEDORA/shim.efi and FEDORA/BOOTX64.EFI ...
"UEFI OS" is the default entry. \EFI\BOOT\BOOTx64.EFI is the default location for an EFI boot loader. It may or may not be present. Windows will put its boot loader in that location, in addition to Microsoft's custom location so that if UEFI screws up the boot list, it'll still boot the default and Windows won't be broken. As far as I know, you could copy shim.efi to that location to achieve the same thing under Fedora.
On 08/30/2015 12:17 PM, Gordon Messmer wrote:
so, tell me what the difference is between Fedora, 0005, and UEFI OS:
Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi)
Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
what is the difference between FEDORA/shim.efi and FEDORA/BOOTX64.EFI ...
"UEFI OS" is the default entry. \EFI\BOOT\BOOTx64.EFI is the default location for an EFI boot loader. It may or may not be present. Windows will put its boot loader in that location, in addition to Microsoft's custom location so that if UEFI screws up the boot list, it'll still boot the default and Windows won't be broken. As far as I know, you could copy shim.efi to that location to achieve the same thing under Fedora.
0005 & 0009 are both fedora.. same UUID, hd(8.. how do you boot different files shim vs bootx64..
On 08/30/2015 10:18 AM, Paul Cartwright wrote:
On 08/30/2015 12:17 PM, Gordon Messmer wrote:
Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi)
Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
0005 & 0009 are both fedora.. same UUID, hd(8..
Both of those entries identify a boot loader located on the same partition. Everything before "/File" is part of the device path.
how do you boot different files shim vs bootx64..
I'm not sure how to make that more clear than it is. You have a FAT32 filesystem which contains many files. One of them is \EFI\Fedora\shim.efi, which verifies and loads grubx64.efi. The other file is \EFI\BOOT\BOOTx64.EFI.
When you select a boot option from the UEFI menu, or as a result of searching the list for a valid boot loader, the firmware will load the file into memory and begin execution of whatever code is in that file.
Just as a matter of trivia and amusement, Fedora EFI System partitions are FAT16. Windows and OS X create them as FAT32.
https://bugzilla.redhat.com/show_bug.cgi?id=1046577
I think since the EFI file system is actually a frozen in time FAT implementation that shouldn't ever change (for compatibility reasons) mkdofs probably needs something like an -e flag to explicitly create EFI file systems per the spec.
Chris Murphy
On Sun, Aug 30, 2015 at 7:21 AM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/30/2015 08:28 AM, Tom H wrote:
Doesn't the firmware boot screen correspond to the output of "efibootmgr"?
it looks that way.. so, tell me what the difference is between Fedora, 0005, and UEFI OS:
Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI)
what is the difference between FEDORA/shim.efi and FEDORA/BOOTX64.EFI ...
\EFI\BOOT\BOOTX64.EFI is a fallback bootloader in case NVRAM gets corrupted or wiped. In a Fedora only installation it's the same thing as shim.efi, which also has code to create a new NVRAM entry for itself and set the BootOrder. With a Windows installation already present, I don't know if BOOTX64.EFI is the Windows bootloader, and I don't know if Fedora overwrites it. You can use sha1sum on each OSLoader to find out what matches up with BOOTX64.EFI.
efibootmgr -v BootCurrent: 0005 Timeout: 0 seconds BootOrder: 0005,0009,000C,0004,0003,0002,0010,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI) Boot000C* UEFI OS HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI) Boot0010* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi)
You have superfluous boot entries. That's why your F12 firmware boot manager lists extras. Boot0002 and Boot0005 look identical, if so, delete one of them with e.g. 'efibootmgr -B -b 0005'
On 08/30/2015 03:58 AM, Paul Cartwright wrote:
not very descriptive to tell me what kernel or why duplicate Fedora & ubuntu entries..
I'm really trying to explain this in the simplest terms possible. So, again, the UEFI firmware loads boot loaders. The boot loaders load kernels.
You hit F12 to get a list of UEFI boot targets. What are those targets? They're boot loaders. They are not kernels. UEFI doesn't contain a list of kernels. It contains a list of boot loaders.
There are duplicate Fedora and Ubuntu entries because of efibootmgr commands that have been run. Notably, UEFI is an extremely complicated spec and there are bugs in many implementations. One that I've seen documented is that if you specify a boot order that doesn't contain all of the entries, the firmware may duplicate some in NVRAM. And if you do it enough to fill NVRAM, the system might stop booting entirely.
On 08/30/2015 12:14 PM, Gordon Messmer wrote:
I'm really trying to explain this in the simplest terms possible. So, again, the UEFI firmware loads boot loaders. The boot loaders load kernels.
You hit F12 to get a list of UEFI boot targets. What are those targets? They're boot loaders. They are not kernels. UEFI doesn't contain a list of kernels. It contains a list of boot loaders.
ok, I get that..
There are duplicate Fedora and Ubuntu entries because of efibootmgr commands that have been run. Notably, UEFI is an extremely complicated spec and there are bugs in many implementations. One that I've seen documented is that if you specify a boot order that doesn't contain all of the entries, the firmware may duplicate some in NVRAM. And if you do it enough to fill NVRAM, the system might stop booting entirely.
do I need to delete duplicates, so there is only 1 fedora, 1 ubuntu, and 1 windows entry?
On Sun, Aug 30, 2015 at 11:20 AM, Paul Cartwright pbcartwright@gmail.com wrote:
do I need to delete duplicates, so there is only 1 fedora, 1 ubuntu, and 1 windows entry?
Only if you want to clean up the built-in boot manager listing.
On Sun, Aug 30, 2015 at 4:58 AM, Paul Cartwright pbcartwright@gmail.com wrote:
ok, so I rebooted, and hit F12 when I saw the Dell logo.. it gets me to a screen where I see:
UEFI Boot Fedora UEFI OS UEFI OS ubuntu Windows... Fedora ubuntu
not very descriptive to tell me what kernel or why duplicate Fedora & ubuntu entries..
The titles are up to the installer, which calls efibootmgr to create those entries. I don't know how long the title can be, presumably there's some limitation in length.
On 08/27/2015 07:31 PM, Gordon Messmer wrote:
You could: # efibootmbr -o 0002,0004,0003,0000,0001
wow, not exactly sure what happened...
I ran that script, using 0009,000C,0004,0003 . when I did the efibootmgr -v, it still showed the existing sequence, 0004,0003.....
then I rebooted. I was all ready to hit F12, when... there were new entries, and it defaulted to fedora, with my newest kernel, 4.1.6-200 .. I am assuming the new entries are the rest of the fedora kernels installed..
efibootmgr -v BootCurrent: 0009 Timeout: 0 seconds BootOrder: 0005,0009,000C,0004,0003,0010,0000,0001,0002,0008 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot0005* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\FEDORA\shim.efi) Boot0008* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi) Boot0009* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI) Boot000C* UEFI OS HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI) Boot0010* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi)
so when I ran the efibootmgr & changed it to default to fedora, it also used the fedora grub.cfg... is that right?
On 08/27/2015 06:02 PM, Paul Cartwright wrote:
wow, not exactly sure what happened...
Neither am I, but you've duplicated several of your UEFI boot items. Fedora is now 2 and 5. Ubuntu is now 4, 8, and 10.
so when I ran the efibootmgr & changed it to default to fedora, it also used the fedora grub.cfg... is that right?
Yeah, your default is 9, which probably doesn't exist. The boot order lists 5 first, and that's Fedora's grub2, so that's what you end up booting.
On 08/27/2015 11:22 PM, Gordon Messmer wrote:
On 08/27/2015 06:02 PM, Paul Cartwright wrote:
wow, not exactly sure what happened...
Neither am I, but you've duplicated several of your UEFI boot items. Fedora is now 2 and 5. Ubuntu is now 4, 8, and 10.
I read(Googled) that you can delete entries, but I really don't want to be deleting things. could those entries be different kernels?? I have 3 kernels listed in /boot on my fedora system..
so when I ran the efibootmgr & changed it to default to fedora, it also used the fedora grub.cfg... is that right?
Yeah, your default is 9, which probably doesn't exist. The boot order lists 5 first, and that's Fedora's grub2, so that's what you end up booting.
and that is what I want.. yay:)
On Thu, Aug 27, 2015 at 6:58 AM, Paul Cartwright pbcartwright@gmail.com wrote:
ok, I am running fedora 22, along with ubuntu & Windows 10. a new kernel got installed last night, and I rebooted, but grub doesn't show it, and still defaults to the ubuntu OS. I am new to this efibootmgr, and google is letting me down.. This is all new to me, and I am having a problem understanding what I need to do now...
#df -h /dev/sda10 46G 8.3G 36G 19% / /dev/sdb6 154G 80G 67G 55% /home /dev/sda8 95M 9.5M 86M 11% /boot/efi
grub2-mkconfig works, but grub2-install /dev/sda gives me an error grub2-install /dev/sda grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory.
The message is clear. Use "grub2-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda"
this shows that the default is ubuntu. all I want is to update this & make the newest fedora kernel the default. # efibootmgr -v BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 BBS(17,,0x0) Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB BBS(19,,0x0) Boot0002* Fedora HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\fedora\shim.efi) Boot0003* Windows Boot Manager HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/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.}...9................ Boot0004* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\ubuntu\shimx64.efi) Boot000C* UEFI OS HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\BOOT\BOOTX64.EFI) Boot0016* UEFI OS HD(8,GPT,ac2fc695-5de9-47d0-a19b-01e236404130,0x5ae5d800,0x2f800)/File(\EFI\BOOT\BOOTX64.EFI) Boot001A* ubuntu HD(1,GPT,4cc2fdac-58ea-400c-8ef9-11e13499addf,0x800,0xfa000)/File(\EFI\Ubuntu\grubx64.efi)
#efibootmgr -o 0004,0003,0000,0001 BootCurrent: 0004 Timeout: 0 seconds BootOrder: 0004,0003,0000,0001 Boot0000* P0: WDC WD10EZEX-75M2NA0 Boot0001* P4: TSSTcorp DVD+/-RW SH-216DB Boot0002* Fedora Boot0003* Windows Boot Manager Boot0004* ubuntu Boot000C* UEFI OS Boot0016* UEFI OS Boot001A* ubuntu
You've set Ubuntu to be the default efi binary.
You'd have to run "efibootmgr -o 0002,..." to set Fedora as the default.
is there a good manual somewhere for efibootmgr??
efibootmgr -h
I thought when a new kernel was installed, grub would automagically add it... not with efi?
Because you're using Ubuntu's grub. So you'd have to boot into Ubuntu and run "update-grub" in order to add the latest Fedora kernel to the Ubuntu grub mennu.
On 08/28/2015 04:22 AM, Tom H wrote:
On Thu, Aug 27, 2015 at 6:58 AM, Paul Cartwright pbcartwright@gmail.com wrote:
grub2-mkconfig works, but grub2-install /dev/sda gives me an error grub2-install /dev/sda grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory. The message is clear. Use "grub2-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda"
I thought he said not to use grub2-install on UEFI systems..
Boot001A* ubuntu You've set Ubuntu to be the default efi binary.
You'd have to run "efibootmgr -o 0002,..." to set Fedora as the default.
and I did, and it works..
is there a good manual somewhere for efibootmgr??
efibootmgr -h
yeah, not a lot of help.. but this thread was:) efibootmgr -o xxxxx was the key...
I thought when a new kernel was installed, grub would automagically add it... not with efi?
Because you're using Ubuntu's grub. So you'd have to boot into Ubuntu and run "update-grub" in order to add the latest Fedora kernel to the Ubuntu grub mennu.
mmm in ubuntu I did grub-mkconfig & grub-install, but I didn't do the update-grub.. next time I boot ubuntu...
On Fri, Aug 28, 2015 at 4:10 AM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/28/2015 04:22 AM, Tom H wrote:
On Thu, Aug 27, 2015 at 6:58 AM, Paul Cartwright pbcartwright@gmail.com wrote:
grub2-mkconfig works, but grub2-install /dev/sda gives me an error grub2-install /dev/sda grub2-install: error: /usr/lib/grub/x86_64-efi/modinfo.sh doesn't exist. Please specify --target or --directory. The message is clear. Use "grub2-install --target=x86_64-efi --efi-directory=/boot/efi /dev/sda"
I thought he said not to use grub2-install on UEFI systems..
Boot001A* ubuntu You've set Ubuntu to be the default efi binary.
You'd have to run "efibootmgr -o 0002,..." to set Fedora as the default.
and I did, and it works..
is there a good manual somewhere for efibootmgr??
efibootmgr -h
yeah, not a lot of help.. but this thread was:) efibootmgr -o xxxxx was the key...
I thought when a new kernel was installed, grub would automagically add it... not with efi?
Because you're using Ubuntu's grub. So you'd have to boot into Ubuntu and run "update-grub" in order to add the latest Fedora kernel to the Ubuntu grub mennu.
mmm in ubuntu I did grub-mkconfig & grub-install, but I didn't do the update-grub.. next time I boot ubuntu...
When UEFI Secure Boot is enabled, which it should be if available, especially on a system with Window on it, you need the distro signed shim.efi and grubx64.efi on the EFI system partition. If you use grub-install the signed copy is wiped out, and the system won't boot until you disable Secure Boot.
So in a UEFI Secure Boot world, grub-install (and grub2-install) is obsolete.
This bug is still annoying, and I wonder if it should be a blocker bug. https://bugzilla.redhat.com/show_bug.cgi?id=1170245
On 08/28/2015 12:30 PM, Chris Murphy wrote:
When UEFI Secure Boot is enabled, which it should be if available, especially on a system with Window on it, you need the distro signed shim.efi and grubx64.efi on the EFI system partition. If you use grub-install the signed copy is wiped out, and the system won't boot until you disable Secure Boot.
So in a UEFI Secure Boot world, grub-install (and grub2-install) is obsolete.
This bug is still annoying, and I wonder if it should be a blocker bug. https://bugzilla.redhat.com/show_bug.cgi?id=1170245
my system originally came with windows 10. I seem to recall that from what I read, you needed to disable secure boot to install linux & grub..
On Fri, Aug 28, 2015 at 11:03 AM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/28/2015 12:30 PM, Chris Murphy wrote:
When UEFI Secure Boot is enabled, which it should be if available, especially on a system with Window on it, you need the distro signed shim.efi and grubx64.efi on the EFI system partition. If you use grub-install the signed copy is wiped out, and the system won't boot until you disable Secure Boot.
So in a UEFI Secure Boot world, grub-install (and grub2-install) is obsolete.
This bug is still annoying, and I wonder if it should be a blocker bug. https://bugzilla.redhat.com/show_bug.cgi?id=1170245
my system originally came with windows 10. I seem to recall that from what I read, you needed to disable secure boot to install linux & grub..
That's incorrect, and it's bad advice to continue to propagate. Assertions is should be disabled should be vigorously challenged.
On 08/28/2015 06:26 PM, Chris Murphy wrote:
my system originally came with windows 10. I seem to recall that from what I read, you needed to disable secure boot to install linux & grub..
That's incorrect, and it's bad advice to continue to propagate. Assertions is should be disabled should be vigorously challenged.
--
this wasn't the page I looked at, but the language is similar.. http://www.instructables.com/id/Dual-Boot-Ubuntu-and-Windows-8-UEFI/step4/De...
Then it is necessary to deactivate the Secureboot. This tool was implemented in Windows 8 with the new UEFI Bios, as a safety mechanism to prevent malicious software from booting in your PC, as well as “non authorized” operating systems.
Therefore, this tool will block any operating system from starting, besides Windows 8. So it must be deactivated.
In order to do that, it’s necessary to access your computer Bios, search for the option “Secureboot” and change it to “Disabled”.
On Fri, Aug 28, 2015 at 7:37 PM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/28/2015 06:26 PM, Chris Murphy wrote:
my system originally came with windows 10. I seem to recall that from what I read, you needed to disable secure boot to install linux & grub..
That's incorrect, and it's bad advice to continue to propagate. Assertions is should be disabled should be vigorously challenged.
--
this wasn't the page I looked at, but the language is similar.. http://www.instructables.com/id/Dual-Boot-Ubuntu-and-Windows-8-UEFI/step4/De...
Then it is necessary to deactivate the Secureboot. This tool was implemented in Windows 8 with the new UEFI Bios, as a safety mechanism to prevent malicious software from booting in your PC, as well as “non authorized” operating systems.
Therefore, this tool will block any operating system from starting, besides Windows 8. So it must be deactivated.
In order to do that, it’s necessary to access your computer Bios, search for the option “Secureboot” and change it to “Disabled”.
The only correct part is "prevent malicious software from booting" otherwise everything else is somewhere between misleading and junk. Fedora has supported Secure Boot for almost three years.
On 08/29/2015 01:25 AM, Chris Murphy wrote:
Then it is necessary to deactivate the Secureboot. This tool was implemented in Windows 8 with the new UEFI Bios, as a safety mechanism to prevent malicious software from booting in your PC, as well as “non authorized” operating systems.
Therefore, this tool will block any operating system from starting, besides Windows 8. So it must be deactivated.
In order to do that, it’s necessary to access your computer Bios, search for the option “Secureboot” and change it to “Disabled”.
The only correct part is "prevent malicious software from booting" otherwise everything else is somewhere between misleading and junk. Fedora has supported Secure Boot for almost three years.
that may be true, but however I got my fedora installed on this UEFI box is the way I am leaving it.. I am pretty sure I have secure boot turned off. it works, and I go with the KISS method, it works, I'm leaving it alone:)
On 08/29/2015 04:20 AM, Paul Cartwright wrote:
that may be true, but however I got my fedora installed on this UEFI box is the way I am leaving it.. I am pretty sure I have secure boot turned off. it works, and I go with the KISS method, it works, I'm leaving it alone:)
Secure Boot is an effective mitigation against some features of root kits, and really should be enabled everywhere possible.
Under Secure Boot, the firmware will not load a boot loader if it has been tampered with, which will not load a kernel that has been tampered, which will not load modules that have been tampered. With that chain of protection, it becomes very difficult for a root kit to modify the kernel to fully hide its sockets, processes, and files, which is a common feature of root kits on systems which do not offer such protection.
On 08/29/2015 03:11 PM, Gordon Messmer wrote:
Secure Boot is an effective mitigation against some features of root kits, and really should be enabled everywhere possible.
Under Secure Boot, the firmware will not load a boot loader if it has been tampered with, which will not load a kernel that has been tampered, which will not load modules that have been tampered. With that chain of protection, it becomes very difficult for a root kit to modify the kernel to fully hide its sockets, processes, and files, which is a common feature of root kits on systems which do not offer such protection.
I will try turning on secure-boot next time I reboot, to see if I can boot with it turned on.. define "tampered with".. what if you run grub2-mkconfig.. that tampers with it...
On 08/29/2015 12:52 PM, Paul Cartwright wrote:
I will try turning on secure-boot next time I reboot, to see if I can boot with it turned on.. define "tampered with".. what if you run grub2-mkconfig.. that tampers with it...
I mean that a root kit can't modify the system firmware, the shim, the grub2 binary, the kernel, or modules.
Naturally, you can modify the configuration file, but under Secure Boot, grub2 will only load signed binaries. grub2-mkconfig doesn't modify any of the binaries.
On Sat, Aug 29, 2015 at 5:20 AM, Paul Cartwright pbcartwright@gmail.com wrote:
On 08/29/2015 01:25 AM, Chris Murphy wrote:
Then it is necessary to deactivate the Secureboot. This tool was implemented in Windows 8 with the new UEFI Bios, as a safety mechanism to prevent malicious software from booting in your PC, as well as “non authorized” operating systems.
Therefore, this tool will block any operating system from starting, besides Windows 8. So it must be deactivated.
In order to do that, it’s necessary to access your computer Bios, search for the option “Secureboot” and change it to “Disabled”.
The only correct part is "prevent malicious software from booting" otherwise everything else is somewhere between misleading and junk. Fedora has supported Secure Boot for almost three years.
that may be true, but however I got my fedora installed on this UEFI box is the way I am leaving it.. I am pretty sure I have secure boot turned off. it works, and I go with the KISS method, it works, I'm leaving it alone:)
UEFI Secure Boot implementation in Windows, Fedora, and openSUSE (and presumably Ubuntu, I don't recall testing it) is as simple as it gets. It's not so easy to understand but it's also not really necessary to understand it unless you're rolling your own kernels, and then you have to learn how to sign or hash your kernels and get shim to accept your cert or hashes.
The one consequence of enabling Secure Boot is the GRUB menu entry for Windows will not work. And although I haven't tried this, I actually suspect that the os-prober menu entries for other OS's won't work either because, e.g. the Fedora GRUB contains the key to verify Fedora kernels, but not Ubuntu. And vice versa.
On 08/29/2015 11:20 PM, Chris Murphy wrote:
The one consequence of enabling Secure Boot is the GRUB menu entry for Windows will not work. And although I haven't tried this, I actually suspect that the os-prober menu entries for other OS's won't work either because, e.g. the Fedora GRUB contains the key to verify Fedora kernels, but not Ubuntu. And vice versa.
well, I do have windows 10 installed, so I need that option. OR I have to enable/disable secure boot everytime I use windows.. which..isn't often:)
On Fri, Aug 28, 2015 at 9:37 PM, Paul Cartwright pbcartwright@gmail.com wrote:
http://www.instructables.com/id/Dual-Boot-Ubuntu-and-Windows-8-UEFI/step4/De...
Then it is necessary to deactivate the Secureboot. This tool was implemented in Windows 8 with the new UEFI Bios, as a safety mechanism to prevent malicious software from booting in your PC, as well as “non authorized” operating systems.
Therefore, this tool will block any operating system from starting, besides Windows 8. So it must be deactivated.
That URL's inaccurate.
Fedora (and Ubuntu) have an MS-signed shim that interfaces between the EFi firmware's SB and grub.
On 08/29/2015 03:55 PM, Tom H wrote:
Therefore, this tool will block any operating system from starting, besides Windows 8. So it must be deactivated.
That URL's inaccurate.
Fedora (and Ubuntu) have an MS-signed shim that interfaces between the EFi firmware's SB and grub.
I only found out about shim with this new UEFI... I still haven't found out much about shim..