System in UEFI mode unbootable after changing motherboard
This document (7019031) is provided subject to the disclaimer at the end of this document.
Environment
SUSE Linux Enterprise Server 11 Service Pack 2 (SLES 11 SP2)
SUSE Linux Enterprise Server 11 Service Pack 3 (SLES 11 SP3)
SUSE Linux Enterprise Server 11 Service Pack 4 (SLES 11 SP4)
SUSE Linux Enterprise Server 12 Service Pack 1 (SLES 12 SP1)
SUSE Linux Enterprise Server 12 Service Pack 2 (SLES 12 SP2)
Situation
You may see the generic LILO prompt once the system fails to boot.
boot:However, what you see may vary depending on the hardware in use.
When booted to rescue system, efibootmgr output shows that the SLES EFI boot entry is missing as shown below:
Rescue:~ # efibootmgr
BootCurrent: 0000
Timeout: 10 seconds
BootOrder: 0003,0000,0001,0002,0004,0005
Boot0000* CD/DVD Rom
Boot0001* Hard Disk 0
Boot0002* PXE Network
Boot0003* Windows Boot Manager
Boot0004* USB Storage
Boot0005* Diagnostics
Resolution
- Boot system to installation media and select "Rescue System." Log in with root when prompted and chroot into the installed system.
See here for detailed instructions on chroot-ing into an existing system from rescue:
https://www.suse.com/support/kb/doc/?id=7018126 - Once chrooted, check the /etc/fstab file for the /boot/efi entry and verify that the configured disk identifier exists. In some RAID configurations, the scsi disk ID may change when the motherboard is changed. Update disk ID(s) accordingly before proceeding.
- Verify that the /boot/efi partition (and the /boot partition, if it's on its own separate partition) is mounted and that the data in the /boot/efi directory are accessible.
- On SLES11
Run the following elilo command:
Rescue:~ # elilo --refresh-EBM
On SLES12
Run the following grub2 command:
Rescue:~ # grub2-install
This step will copy your EFI Linux Bootloader configuration files to the EFI partition under the "/boot/efi/efi/SuSE/" directory and write a new "SUSE Linux Enterprise Server ## SP#" or "sles" entry to the UEFI firmware on the motherboard. - Run efibootmgr once more to verify that a new SUSE Linux Enterprise Server or sles entry exists and that its boot ID is the first entry in the BootOrder row:
SLES11:Rescue:~ # efibootmgr
SLES12:
BootCurrent: 0000
Timeout: 10 seconds
BootOrder: 0006,0003,0000,0001,0002,0004,0005
Boot0000* CD/DVD Rom
Boot0001* Hard Disk 0
Boot0002* PXE Network
Boot0003* Windows Boot Manager
Boot0004* USB Storage
Boot0005* Diagnostics
Boot0006* SUSE Linux Enterprise 11 Server SP3Rescue:~ # efibootmgr
BootCurrent: 0001
Timeout: 0 seconds
BootOrder: 0001,0003,0000,0008
Boot0000* UiApp
Boot0001* sles
Boot0003* UEFI QEMU DVD-ROM QM00001
Boot0008* EFI Internal Shell - Reboot to test
Cause
Additional Information
Disclaimer
This Support Knowledgebase provides a valuable tool for SUSE customers and parties interested in our products and solutions to acquire information, ideas and learn from one another. Materials are provided for informational, personal or non-commercial use within your organization and are presented "AS IS" WITHOUT WARRANTY OF ANY KIND.
- Document ID:7019031
- Creation Date: 22-May-2017
- Modified Date:12-Oct-2022
-
- SUSE Linux Enterprise Server
For questions or concerns with the SUSE Knowledgebase please contact: tidfeedback[at]suse.com