How To Replace Installed Syslinux with EFI

When I installed Clear Linux on my system on my internal nvmem drive, syslinux was installed as the
boot loader. Is there a way to keep the working install, but change to have the system boot loader
changed to EFI?

I have an ASUS ROG MAXIMUS Z90 APEX motherboard. In the UEFI menu when I setup the boot order, there are two ‘boot drives’ to boot Clear Linux. One is I think the syslinux. I choose the other ‘UEFI boot drive’ to use the UEFI to boot CL directly. I am hoping I am right!! :blush:

Thank you for responding.

I have an ASUS mother board as well, and I have selectable multiple boot options, just like you do.
One of my options is internal nvmem (WD Blue SN570), this is my default. What I was looking to do, was to update my internal drive’s boot loader from syslinux to EFI. See below, the internal nvme drive is partitioned to have an EFI partition, but the Clear Linux installer at the time opted to install syslinux
as the bootloader. What this means I cannot image this drive and boot as a removable USB drive.
I would like to do this so I can keep my samba Primary Domain Controller setup, in case things go wrong when I attempt to update my system from the Linux build I am at to the latest. I got caught up with the Nivida video adapter failing to work after Clear Linux Installed version: 37500. I have not
been able to update since that build. Now I know that latest builds will work with my Nvidia
video adapter.

My current plan is to but a limited part of my system on a removable drive after it was had the latest
Clear Linux build and verify that all of the features in my server will work, then re-install the latest
Clear Linux build on my internal nvmem drive.

I believe I could do what I want to do with my current root nvem drive but it is risky. That is
1.) image a working EFI partition that boots build 37500.
2.) copy that image to /dev/nvme0n1p1, modify the EFI configuration file to boot the same way my
system boots now using the kernal message from the dmesg.

If one of these steps go wrong i am left with a non working boot drive.

Displaying in text what was embedded in graphic from previous post:

/dev/nvme0n1 WD Blue SN570 1TB nvme
/dev/nvme0n1p1 FE14-5C79 vfat FAT32 nvme boot EFI
/dev/nvme0n1p2 bef0c9d7-cfed-4e24-8a31-0dc724d7d6bc 33.5G 835.6G ext4 1.0 nvme root / /

1 Like

This is a late response to my own post, but I figured out how to update my system in place.
The basic procedure I followed was:

1.) Backed up all important data with gtar.
2.) Backup up current settings under /etc/ with gtar to be restored when the root os directory is
3.) Backup any important server settings from the /var/lib/ if you have a server of some kind find
out where it’s critical data is being saved and archive it.
3.A) In my case I was trying to backup all pertinent data having to do with the samba PDC setup. I
am running a Samba Primary Domain Controller. If this information is lost that means all of
the windows client machines and users I am managing have to be reestablished. A lot of work
if it has to redone from rebuilding a new PDC.
4.) Using gtar archive all your home and root directory
4.) Get the latest Clear Linux build, using a desktop iso from the Clear Linux release repository
the URL: Index of /releases/ (
5.) Get a list of all of the Clear Linux packages you were using so you know what to reinstall.
6.) Create a desktop iso build drive for installing the latest build on your system. Below is a
sample of how to this using the Linux/Unix tool dd.
There is a windows tool for this purpose balenaEtcher.exe, usage is discussed on
Here is the Linux method using the Linux tool dd
# Block size adjusted empirically to maximize transfer bs=4M seems reasonable
# The target device is a USB drive bs=4M seems to saturate. The default setting of block size
# 512 bytes is very slow
dd if=${imageFile} of=${TargetDisk} status=progress oflag=sync bs=4M
7.) Boot into the desktop image on your system, install the latest OS on your target disk.
8.) Reboot into your target device. Add all of the packages required you know you will need.
9.) Restore your previously saved /etc/ directory.

Once everything is restored check that you can access the boot partition by
systemctl start boot.mount
You will see the /boot directory it will look as follows:
tree /boot

To umount the EFI boot directory do the following:
systemctl stop boot.mount

Using these basic steps I was able to update from build release that was almost a year old
to the latest build, without losing important data, while getting the benefits of most current boot

I now use two USB “rescue” flash drives to test updates before I update my system. The rescue USB disks have services installed I need; I will update and see if there are failures. If the updates are successful, I will do an image copy of the USB that has the latest updates to the second USB drive. If the update fails I will not update my system and I will have a rescue disk that has the last
working build available.

I do all of this because I had a system that I had an Nvidia vga, there was a catastrophic failure causing my system to be unusable after a an automatic update, it could not be interrupted to diagnosed. It was “bricked” I was able to be restored to a previous build number, thankfully. I stayed at that release for some time until the X windows drivers where updated so the Nvidia VGA became usable again.