Converting Legacy BIOS to EFI in LUKS+LVM setup

I’ve been doing some research on how to convert my legacy bios boot to a efi bootloader. In part this comes as I have recently updated my hardware and just swapped my HDD to my new hardware. As I don’t want to resetup my filesystem for I have finally reached a stable config for my many drivers and needs. ( I have not added any foreign ppa by the way, in case this comes up).

I’m planning on upgrading my HDD to a M.2 ssd nvme and I have been reading it might not boot on a legacy bootloader. Also, Intel has claimed BIOS bootups will be deprecated in new systems. I have read some blogs and some Ubuntu manuals, which are closely related to most debian distros:

This recommends using boot-repair and to alter the MBR partition into a GPT partition which could potentially render my system unbootable.

I have found similar proposals such as this one:

which seems a more comprehensive debian-based solution. However it is long and may not be compatible with my setup. Also, it suggests a 43 MB EFI partition which might not be enough.

I already have a full disk encryption with LUKS+LVM partition framework and a MBR boot partition with a legacy bootloader. It works perfectly and I have absolutely no issues or problems to keep booting like this. Speed isn’t a problem.

I would like to know if there’s a safer solution to the ones above and if there’s a way to avoid a fresh install to setup an EFI boot. Also, I have read there is a way to transfer a filesystem from one LVM to another, but this could also break a boot partition that was not compiled with such filesystem. Maybe you guys know an even better solution.

So here are the following questions,

Will BIOS bootloaders be deprecated for newer motherboards?
If so, would it be advisible to convert my legacy boot to an EFI one?
Does it imply any risks securitywise?
Is there a way to convert my present configuration to a an EFI boot?

I’m using Parrot 4.9, up to date… always. I run apt update && apt dist-upgrade every 3 days to check up for new updates and I debug broken dependencies for my config. The only debs I have added come directly from the debian webpage and are only used to resolve broken dependencies.

I installed Parrot a while back, I think it was in 2017 or early 2018. I dont even remember the version I installed back then, but did it with the debian standard installation, I have no multiboot at all. The only additional software available in grub is memtest. Parrot is my only install on my HDD.

Also, I forgot to add to my original post some of my hardware specs. Its a Lenovo Y520 with an i5-7300HQ intel processor. I currently boot my system with BIOS legacy but the hardware is capable of EFI.

I have found some topics in the forum that might guide the situtation but do not offer a specific solution to this particular problem.

I usually write to the Telegram group but I thought this might be better for this. Also, feel free to tell me if this is not the topic or the place to discuss such a problem. Any input and suggestions are greatly appreciated and welcome.

UEFI can EMULATE bios, but bios can NOT be converted to UEFI. This is a system issue. if your system is old enough that it has only BIOS there is no way to achieve what you describe.
Not a thing the devs can do anything about.

thank you for your reply. My hardware is compatible with both EFI boot and legacy BIOS. I agree that BIOS cannot emmulate newer UEFI generation bootloaders. My boot partition is MBR and can be converted to an EFI boot, but I risk rendering my system unbootable. See for example: posted above. There are ways to change the bootloader, but I’m unsure, even as a debian tutorial, if it might break my system.

Quick follow up…
I got my ssd NVMe drive and inserted it in my motherboard’s pcie. I booted from a live parrot os and went old school with:
cat /dev/sdX > /dev/nvmeX

I waited a couple of hours and after it finished I pulled my HDD out to see if my NVMe and motherboard could boot on legacy. It worked fantastically, faster than ever. I will still try to move to a UEFI boot just to try it out, though.

After trying my new ssd drive and moving my whole LUKS+LVM drive I booted again in Parrot live and deleted all partitions on my old HDD so that the \boot and other identical UUID didn’t mess up my booting sequence and consequent mounting.
After formatting that HDD and making a new whole disk encryption scheme, I changed my tmp in fstab and mounted tmpfs instead of lvm tmp partition to lower wearing on the drive. So far, legacy booting on a Lenovo y520 series from an NVMe works fine.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.