I upgraded 29-> 30. Now I can't even get to the boot screen. I've made a live usb stick, but the stick only wants to install a completely new system. Is there any way to use the stick to troubleshoot the existing installation.
If I had to guess the upgrade screwed up the the UEFI boot. I can boot to bios, but not to the boot loader.
On Wed, 20 Nov 2019 10:08:23 -0500 Sean Darcy seandarcy2@gmail.com wrote:
I upgraded 29-> 30. Now I can't even get to the boot screen. I've made a live usb stick, but the stick only wants to install a completely new system. Is there any way to use the stick to troubleshoot the existing installation.
The live system should recognize the installed system. I think it will be mounted under /mnt/sysimage already, but if not you can just mount it. That will allow you to look at things from the live system, and even edit them. Look at /boot/efi to see if it is there, and updated to F30.
If I had to guess the upgrade screwed up the the UEFI boot. I can boot to bios, but not to the boot loader.
It would be puzzling if that was true. The upgrade to F30 should have just upgraded what you already had. Are you sure the upgrade was successful? If you boot into the upgraded system as MBR, can you run a dnf update? Is it running an F30 kernel?
On 11/20/19 7:33 PM, stan via users wrote:
On Wed, 20 Nov 2019 10:08:23 -0500 Sean Darcy seandarcy2@gmail.com wrote:
I upgraded 29-> 30. Now I can't even get to the boot screen. I've made a live usb stick, but the stick only wants to install a completely new system. Is there any way to use the stick to troubleshoot the existing installation.
The live system should recognize the installed system. I think it will be mounted under /mnt/sysimage already, but if not you can just mount it. That will allow you to look at things from the live system, and even edit them. Look at /boot/efi to see if it is there, and updated to F30.
If I had to guess the upgrade screwed up the the UEFI boot. I can boot to bios, but not to the boot loader.
It would be puzzling if that was true. The upgrade to F30 should have just upgraded what you already had. Are you sure the upgrade was successful? If you boot into the upgraded system as MBR, can you run a dnf update? Is it running an F30 kernel? _______________________________________________
Thanks for the response.
Nothing is mounted under /mnt/sysimage. What should I mount there ? The installed "/" partition ?
Not sure what you mean by "boot into upgraded system as MBR". I can see the F30 kernel in the installed /boot partition.
sean
On Thu, Nov 21, 2019 at 5:50 AM sean darcy seandarcy2@gmail.com wrote:
Nothing is mounted under /mnt/sysimage. What should I mount there ? The installed "/" partition ?
Then you'll need to do it yourself. Many releases ago before the current live installer method it would find and mount the system automatically. It's tedious but not difficult to do it yourself.
https://docs.fedoraproject.org/en-US/Fedora/22/html/Multiboot_Guide/common_o...
Should work. This will let your chroot into your actual system and poke around, hopefully find the problem, and fix it.
I've used this on a number of occasions to rescue from a broken upgrade (although I haven't had any issues for the last several releases) or from other problems, some of which I caused :)
It's not fun but you learn a lot fixing problems like this.
May the odds be ever in your favor!
Thanks,
On Thu, 21 Nov 2019 06:49:44 -0500 sean darcy seandarcy2@gmail.com wrote:
Nothing is mounted under /mnt/sysimage. What should I mount there ? The installed "/" partition ?
Richard answered this question better than I would have.
Not sure what you mean by "boot into upgraded system as MBR". I can see the F30 kernel in the installed /boot partition.
I interpreted 'boot to bios' as meaning you could boot via mbr. I must have been wrong. If you edit the kernel boot line, and remove rhgb and quiet, what messages show up when you are trying to boot? The error should be near the end of the messages, and left on your screen when the boot fails.
If you have uefi firmware, can you use the uefi boot menu to boot the installed system? It should be an entry something like "uefi fedora 30". If you can, run a dnf distro-sync and a dnf update and a dnf reinstall shim-x64 to put your system in a consistent, current state and try booting again. If it still doesn't boot, look at the file /boot/efi/EFI/fedora/grub.cfg. Is the boot stanza correct? If not, look at /etc/default/grub to be sure that the default options are acceptable, and run grub2-mkconfig -o grub.cfg in the /boot/efi/EFI/fedora directory, and then try booting again.
On 11/21/19 9:47 AM, stan via users wrote:
On Thu, 21 Nov 2019 06:49:44 -0500 sean darcy seandarcy2@gmail.com wrote:
Nothing is mounted under /mnt/sysimage. What should I mount there ? The installed "/" partition ?
Richard answered this question better than I would have.
Not sure what you mean by "boot into upgraded system as MBR". I can see the F30 kernel in the installed /boot partition.
I interpreted 'boot to bios' as meaning you could boot via mbr. I must have been wrong. If you edit the kernel boot line, and remove rhgb and quiet, what messages show up when you are trying to boot? The error should be near the end of the messages, and left on your screen when the boot fails.
If you have uefi firmware, can you use the uefi boot menu to boot the installed system? It should be an entry something like "uefi fedora 30". If you can, run a dnf distro-sync and a dnf update and a dnf reinstall shim-x64 to put your system in a consistent, current state and try booting again. If it still doesn't boot, look at the file /boot/efi/EFI/fedora/grub.cfg. Is the boot stanza correct? If not, look at /etc/default/grub to be sure that the default options are acceptable, and run grub2-mkconfig -o grub.cfg in the /boot/efi/EFI/fedora directory, and then try booting again.
So I chroot'd into the old installation. BIOs boot, not EFI. No entries at all in grub.cfg.
ran grub2-mkconfig. No entries again in output. It can't find the f29 and f30 in /boot.
Tried grub2-install /dev/sda2, but that died because no EFI grub files. The a bugzilla on this which was closed NOTABUG. The EFI files are not installed om purpose to keep people from using grub2-install. You can dnf install the efi modules. Which is a great suggestion for a broken upgrade, where dnf is not available.
There's a grub.cfg.rpmsave which seems to have been generated by anaconda. I'm going to try to use that to boot. It only has the f29 kernel. My plan is to reinstall the f30 kernel. Maybe anaconda will actually work correctly.
On Fri, 22 Nov 2019 17:15:58 -0500 sean darcy seandarcy2@gmail.com wrote:
So I chroot'd into the old installation. BIOs boot, not EFI. No entries at all in grub.cfg.
Are you trying to convert from bios/mbr boot to uefi boot on the upgrade? I think if you already have a bios/mbr boot system, it would be better to upgrade with the same method of boot, and once the upgrade is complete pursue the conversion. I vaguely remember that there was a conversion to snippets around F28 to F30, and that changed the boot process as well.
ran grub2-mkconfig. No entries again in output. It can't find the f29 and f30 in /boot.
If it is bios/mbr boot, it should be using the grub.cfg in /boot/grub2/grub.cfg. Is there anything in that file?
Can you post the output of ls /boot and ls /boot/grub2/ and ls /boot/efi/EFI/fedora
Tried grub2-install /dev/sda2, but that died because no EFI grub files.
Are you using a gpt formatted disk? UEFI needs two extra partitions, but no record in the mbr.
The a bugzilla on this which was closed NOTABUG. The EFI files are not installed om purpose to keep people from using grub2-install. You can dnf install the efi modules. Which is a great suggestion for a broken upgrade, where dnf is not available.
I am not sure, but I don't think it is possible to update a system using an mbr boot to a uefi boot. I think you will have to install uefi from an installer booted in uefi. i.e. fresh install Maybe someone else can give better information.
There's a grub.cfg.rpmsave which seems to have been generated by anaconda. I'm going to try to use that to boot. It only has the f29 kernel. My plan is to reinstall the f30 kernel. Maybe anaconda will actually work correctly.
I confess that I'm confused, and we're in areas that I have only passing acquaintance with. For some reason, you are a corner case, and I can't understand why from the information I have.
On 11/23/19 10:36 AM, stan via users wrote:
On Fri, 22 Nov 2019 17:15:58 -0500 sean darcy seandarcy2@gmail.com wrote:
So I chroot'd into the old installation. BIOs boot, not EFI. No entries at all in grub.cfg.
Are you trying to convert from bios/mbr boot to uefi boot on the upgrade? I think if you already have a bios/mbr boot system, it would be better to upgrade with the same method of boot, and once the upgrade is complete pursue the conversion. I vaguely remember that there was a conversion to snippets around F28 to F30, and that changed the boot process as well.
ran grub2-mkconfig. No entries again in output. It can't find the f29 and f30 in /boot.
If it is bios/mbr boot, it should be using the grub.cfg in /boot/grub2/grub.cfg. Is there anything in that file?
Can you post the output of ls /boot and ls /boot/grub2/ and ls /boot/efi/EFI/fedora
Tried grub2-install /dev/sda2, but that died because no EFI grub files.
Are you using a gpt formatted disk? UEFI needs two extra partitions, but no record in the mbr.
The a bugzilla on this which was closed NOTABUG. The EFI files are not installed om purpose to keep people from using grub2-install. You can dnf install the efi modules. Which is a great suggestion for a broken upgrade, where dnf is not available.
I am not sure, but I don't think it is possible to update a system using an mbr boot to a uefi boot. I think you will have to install uefi from an installer booted in uefi. i.e. fresh install Maybe someone else can give better information.
There's a grub.cfg.rpmsave which seems to have been generated by anaconda. I'm going to try to use that to boot. It only has the f29 kernel. My plan is to reinstall the f30 kernel. Maybe anaconda will actually work correctly.
I confess that I'm confused, and we're in areas that I have only passing acquaintance with. For some reason, you are a corner case, and I can't understand why from the information I have.
# ls /boot config-5.2.18-100.fc29.x86_64 config-5.2.18-200.fc30.x86_64 config-5.3.11-200.fc30.x86_64 efi extlinux grub grub2 initramfs-0-rescue-ef65454e1a334e1e93f8ff6b0000000f.img initramfs-5.2.18-100.fc29.x86_64.img initramfs-5.2.18-200.fc30.x86_64.img initramfs-5.3.11-200.fc30.x86_64.img initrd-plymouth.img loader lost+found System.map-5.2.18-100.fc29.x86_64 System.map-5.2.18-200.fc30.x86_64 System.map-5.3.11-200.fc30.x86_64 vmlinuz-0-rescue-ef65454e1a334e1e93f8ff6b0000000f vmlinuz-5.2.18-100.fc29.x86_64 vmlinuz-5.2.18-200.fc30.x86_64 vmlinuz-5.3.11-200.fc30.x86_64
ls /boot/grub2 device.map fonts grub.cfg-bad -> the cfg left by anaconda grubenv themes device.map.anacbak grub.cfg -> this is a copy of rpmsave grub.cfg.rpmsave i386-pc locale
# ls /boot/efi/EFI/fedora/ #
grub.cfg has the f29 entries |
grep menuentry grub.cfg menuentry 'Fedora (5.2.18-100.fc29.x86_64) 29 (Twenty Nine)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.19.5-200.fc28.x86_64-advanced-89afb6ff-4fb2-4602-94b5-99dbf022b100' { menuentry 'Fedora (5.2.7-100.fc29.x86_64) 29 (Twenty Nine)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.19.5-200.fc28.x86_64-advanced-89afb6ff-4fb2-4602-94b5-99dbf022b100' {
but the grub.cfg left by anaconda has no menuentry's:
grep menuentry grub.cfg-bad if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" export menuentry_id_option
The problem is that installing or reinstalling an f30 kernel does not add the kernel to grub.cfg.
FYI:
cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rd.driver.blacklist=vboxdrv pti=off spectre_v2=off l1tf=off nospec_store_bypass_disable no_stf_barrier" #GRUB_THEME="/boot/grub2/themes/system/theme.txt" GRUB_GFXPAYLOAD_LINUX=keep GRUB_GFXPAYLOAD_LINUX=text GRUB_ENABLE_BLSCFG=true
How do I get grub.cfg updated ?
sean
On Sat, 23 Nov 2019 17:03:19 -0500 sean darcy seandarcy2@gmail.com wrote:
On 11/23/19 10:36 AM, stan via users wrote:
On Fri, 22 Nov 2019 17:15:58 -0500 sean darcy seandarcy2@gmail.com wrote:
So I chroot'd into the old installation. BIOs boot, not EFI. No entries at all in grub.cfg.
Are you trying to convert from bios/mbr boot to uefi boot on the upgrade? I think if you already have a bios/mbr boot system, it would be better to upgrade with the same method of boot, and once the upgrade is complete pursue the conversion. I vaguely remember that there was a conversion to snippets around F28 to F30, and that changed the boot process as well.
ran grub2-mkconfig. No entries again in output. It can't find the f29 and f30 in /boot.
If it is bios/mbr boot, it should be using the grub.cfg in /boot/grub2/grub.cfg. Is there anything in that file?
Can you post the output of ls /boot and ls /boot/grub2/ and ls /boot/efi/EFI/fedora
Tried grub2-install /dev/sda2, but that died because no EFI grub files.
Are you using a gpt formatted disk? UEFI needs two extra partitions, but no record in the mbr.
The a bugzilla on this which was closed NOTABUG. The EFI files are not installed om purpose to keep people from using grub2-install. You can dnf install the efi modules. Which is a great suggestion for a broken upgrade, where dnf is not available.
I am not sure, but I don't think it is possible to update a system using an mbr boot to a uefi boot. I think you will have to install uefi from an installer booted in uefi. i.e. fresh install Maybe someone else can give better information.
There's a grub.cfg.rpmsave which seems to have been generated by anaconda. I'm going to try to use that to boot. It only has the f29 kernel. My plan is to reinstall the f30 kernel. Maybe anaconda will actually work correctly.
I confess that I'm confused, and we're in areas that I have only passing acquaintance with. For some reason, you are a corner case, and I can't understand why from the information I have.
# ls /boot config-5.2.18-100.fc29.x86_64 config-5.2.18-200.fc30.x86_64 config-5.3.11-200.fc30.x86_64 efi extlinux grub grub2 initramfs-0-rescue-ef65454e1a334e1e93f8ff6b0000000f.img initramfs-5.2.18-100.fc29.x86_64.img initramfs-5.2.18-200.fc30.x86_64.img initramfs-5.3.11-200.fc30.x86_64.img initrd-plymouth.img loader lost+found System.map-5.2.18-100.fc29.x86_64 System.map-5.2.18-200.fc30.x86_64 System.map-5.3.11-200.fc30.x86_64 vmlinuz-0-rescue-ef65454e1a334e1e93f8ff6b0000000f vmlinuz-5.2.18-100.fc29.x86_64 vmlinuz-5.2.18-200.fc30.x86_64 vmlinuz-5.3.11-200.fc30.x86_64
ls /boot/grub2 device.map fonts grub.cfg-bad -> the cfg left by anaconda grubenv themes device.map.anacbak grub.cfg -> this is a copy of rpmsave grub.cfg.rpmsave i386-pc locale
# ls /boot/efi/EFI/fedora/ #
grub.cfg has the f29 entries |
grep menuentry grub.cfg menuentry 'Fedora (5.2.18-100.fc29.x86_64) 29 (Twenty Nine)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.19.5-200.fc28.x86_64-advanced-89afb6ff-4fb2-4602-94b5-99dbf022b100' { menuentry 'Fedora (5.2.7-100.fc29.x86_64) 29 (Twenty Nine)' --class fedora --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-4.19.5-200.fc28.x86_64-advanced-89afb6ff-4fb2-4602-94b5-99dbf022b100' {
Are these pointing to the right partition on the disk? Is the kernel boot line using the right uuid and boot options?
but the grub.cfg left by anaconda has no menuentry's:
grep menuentry grub.cfg-bad if [ x"${feature_menuentry_id}" = xy ]; then menuentry_id_option="--id" menuentry_id_option="" export menuentry_id_option
The problem is that installing or reinstalling an f30 kernel does not add the kernel to grub.cfg.
FYI:
cat /etc/default/grub GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR="Fedora" GRUB_DEFAULT=saved GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=latarcyrheb-sun16 KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8 rd.driver.blacklist=vboxdrv pti=off spectre_v2=off l1tf=off nospec_store_bypass_disable no_stf_barrier" #GRUB_THEME="/boot/grub2/themes/system/theme.txt" GRUB_GFXPAYLOAD_LINUX=keep GRUB_GFXPAYLOAD_LINUX=text GRUB_ENABLE_BLSCFG=true
How do I get grub.cfg updated ?
You can edit the grub.cfg in /boot/grub2, copy and paste a boot stanza from F29, and change it to use the F30 kernel. The F30 kernel is installed, so it should boot once it is in the menu. Even after looking at the info you provided, I don't understand why this didn't work, though.
Hi.
I haven't read all this thread. Just a remark about grub. See below.
On Sat, 23 Nov 2019 21:37:42 -0700 stan via users wrote: ...
ran grub2-mkconfig. No entries again in output. It can't find the f29 and f30 in /boot.
...
The problem is that installing or reinstalling an f30 kernel does not add the kernel to grub.cfg.
This is normal since you have:
cat /etc/default/grub
...
GRUB_ENABLE_BLSCFG=true
This generates the following in grub.cfg:
### BEGIN /etc/grub.d/10_linux ### ... # The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and # populates the boot menu. Please refer to the Boot Loader Specification documentation # for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/. ... insmod blscfg blscfg ### END /etc/grub.d/10_linux ###
The kernels are now defined in /boot/loader/entries/
How do I get grub.cfg updated ?
No need to do that thus.
On 11/24/19 2:39 AM, Francis.Montagnac@inria.fr wrote:
Hi.
I haven't read all this thread. Just a remark about grub. See below.
On Sat, 23 Nov 2019 21:37:42 -0700 stan via users wrote: ...
ran grub2-mkconfig. No entries again in output. It can't find the f29 and f30 in /boot.
...
The problem is that installing or reinstalling an f30 kernel does not add the kernel to grub.cfg.
This is normal since you have:
cat /etc/default/grub
...
GRUB_ENABLE_BLSCFG=true
This generates the following in grub.cfg:
### BEGIN /etc/grub.d/10_linux ### ... # The blscfg command parses the BootLoaderSpec files stored in /boot/loader/entries and # populates the boot menu. Please refer to the Boot Loader Specification documentation # for the files format: https://www.freedesktop.org/wiki/Specifications/BootLoaderSpec/. ... insmod blscfg blscfg ### END /etc/grub.d/10_linux ###The kernels are now defined in /boot/loader/entries/
How do I get grub.cfg updated ?
No need to do that thus.
BINGO ! I removed GRUB_ENABLE_BLSCFG=true from /etc/default/grub , ran grub2-mkconfig, and all the F30 kernels are now in grub.cfg.
No idea how ENABLE_BLSCFG ended up in default/grub. If I have time I'll file a bug. anaconda should know enough to delete it, especially since it probably put it there n versions ago.
sean