Convert CentOS7 Legacy Bios to Uefi
Jump to navigation
Jump to search
Contents
1 Intro
Sometimes it is needed to convert a legacy Bios system into Uefi. I got this working for CentOS7 and RHEL7 as well, but it is not easy at all. This are my notes about how to do it.
2 Links
- NICE HOW TO
https://www.reddit.com/r/linux/comments/ij9por/howto_migrate_a_centos_installation_from/
- CDROM LOCAL REPO:
https://access.redhat.com/solutions/1355683
- EFI INSTALL RHEL:
https://access.redhat.com/solutions/3486741
3 Prepare
- Ensure the kernel RPM of this version is copied to the local filesystem of the OS
rpm -qa | grep kernel
- hint:
yum downloadonly
- Install RPMs needed by UEFI
yum install grub2-common grub2 grub2-efi-x64 grub2-efi-x64-modules shim-x64 grub2-tools-extra grub2-pc-modules grubby grub2-tools-minimal grub2-tools grub2-pc efibootmgr dosfstools gdisk
4 Configure Disks needed by UEFI
- increase lun (where /boot resides) by at least 200MB
- we assume its /dev/mapper/mpatha
- switch OS from legacy bios to uefi
- reboot into rescue cd
- verify its an UEFI system
ls -l /sys/firmware/efi/
- list disk config
lsblk
- save current state
fdisk -l /dev/mapper/mpatha | tee -a fdisk gdisk -l /dev/mapper/mpatha | tee -a gdisk
- create UEFI partition
gdisk /dev/mapper/mpatha n 4 -> part <ENTER> +200M ef00 x a 4 -> part 2 <ENTER> w y partprobe /dev/mapper/mpatha fdisk -l /dev/mapper/mpatha | tee -a fdisk gdisk -l /dev/mapper/mpatha | tee -a gdisk mkfs.fat -F32 -s1 /dev/mapper/mpatha4 lsblk | tee -a lsblk blkid | tee -a blkid echo 'UUID=XXXX-YYYY /boot/efi vfat umask=0077,shortname=winnt 0 0' >> /etc/fstab mount -a mount df -hPT
- Install/Configure UEFI bootloader
grub2-install --target=x86_64-efi --bootloader-id="Red Hat Enterprise Linux 7" --boot-directory=/boot --efi-directory=/boot/efi --recheck --verbose /dev/mapper/mpatha
grub2-mkconfig -o /boot/grub2/grub.cfg
grep efi /boot/grub2/grub.cfg
5 Reinstall Kernel (initrd)
rpm -qa | grep kernel
rpm -e kernel yum install kernel # or manually: yum -C install /media/cdrom/Packages/kernel-3.10xxx.rpm # or manually: rpm -ihv /media/cdrom/Packages/kernel-3.10xxx.rpm
yum update kernel
6 Reboot
sync reboot