Created attachment 583696 [details] Copy of configuration file /etc/default/grub Description of problem: When a kernel upgrade is downloaded and installed using PackageKit, only one additional menu entry is generated in /boot/grub2/grub.cfg. Two menu entries should be generated because GRUB_DISABLE_RECOVERY is not set to `true' in /etc/default/grub. Version-Release number of selected component (if applicable): $ rpm -q grub2 grub2-2.0-0.24.beta4.fc17.x86_64 How reproducible: This has failed through 2 kernel upgrades. Steps to Reproduce: 1. Upgrade the kernel. 2. Check /boot/grub2/grub.cfg for submenu entries for the new kernel. Actual results: /boot/grub2/grub.cfg has a new menu entry for the new kernel version, but no submenu entries for standard and "recovery" mode. Expected results: /boot/grub2/grub.cfg should also contain submenu entries for standard booting and "recovery" mode. Additional info: Here is the description of the variables GRUB_DISABLE_RECOVERY and GRUB_CMDLINE_LINUX_DEFAULT in the grub2.info file: `GRUB_CMDLINE_LINUX_DEFAULT' Unless `GRUB_DISABLE_RECOVERY' is set to `true', two menu entries will be generated for each Linux kernel: one default entry and one entry for recovery mode. This option lists command-line arguments to add only to the default menu entry, after those listed in `GRUB_CMDLINE_LINUX'. `GRUB_DISABLE_RECOVERY' If this option is set to `true', disable the generation of recovery mode menu entries. $ grep -i grub_disable_recovery /etc/default/grub || echo Not disabled Not disabled
(In reply to comment #0) > When a kernel upgrade is downloaded and installed using PackageKit, only one > additional menu entry is generated in /boot/grub2/grub.cfg. Correct. When new packages are installed grubby are responsible for patching grub.cfg using a simple heuristic for duplicating the "best" existing entry. > Two menu entries > should be generated because GRUB_DISABLE_RECOVERY is not set to `true' in > /etc/default/grub. Yes and no. That file is for configuration of grub2 when running grub2-mkconfig, and there it works correctly. It is not a grubby configuration file. This thus works as designed and as expected.