How to - Switch from legacy to UEFI?

Hi all!

So my laptop disk was on MBR on
windows was on legacy-bios
I changed both to GPT and URFI.

Then flashed manjaro (with etcher) on a pen drive
For the partitioning part i made :

  1. 4GB Linuxswap
  2. 50GB ext4 for (mount /)
    And that’s it. Didn’t specify efi boot partition.

When i boot my computer it boots automatically to windows because manjaro is on legacy-bios
And i have to change the boot option to legacy everytime to open manjaro.
Anf grub never shows up.

So…
How do i change manjaro to uefi without having to reinstall the system as i did with windows?

Thanks all.

Take a look at this wonderful guide. It has everything you need and you’ll notice immediately what is missing from your current approach, specifically the lack of a ESP partition (or choosing the windows one).

2 Likes

This is more appropriate for your situation (I used this myself)

https://wiki.manjaro.org/index.php?title=UEFI_-_Install_Guide#Switching_from_BIOS_to_UEFI

Here’s my thread after my transition:

3 Likes

That’s awesome!
I wish I have seen this before I install it.
Thanks man.

1 Like

That’s exactly what I was looking for!
I have followed the steps but stuck at this line

sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=manjaro --recheck

EFI variables are not supported on this system.

Also tried this line

sudo modprobe efivarfs

It doesn’t output anything (no errors)
But when i try the previous line i get the same error

EFI variables are not supported on this system.

What should I do?

You have to boot into UEFI mode to do this procedure. Since you cannot boot the installation on disk in UEFI mode yet, you have to boot the live USB in UEFI mode then work from there (manjaro-chroot).

If you have never chrooted before, don’t worry manjaro-chroot is very easy to use, it does all the work.

This is probably the most confusing part. And it’s not really explained very well in any guide I read, even if it might mention chroot somewhere.

1 Like

Ok that makes more sense for me now.
The problem is…
I can’t boot into the flash drive in UEFI mode

Here is the options i get :

Legacy : (CD - USB - Manjaro)
UEFI (windows - windows - error:grub rescue)

Not sure how to get into live usb in uefi

I had your case. What I did was create a live usb from an MV with linux using the following command:

sudo dd if=XXX.iso of=/dev/sdc bs=4M status=progress conv=fdatasync

Note: Replace XXX with the name of the iso you will use and /dev/sdc by the unit where the pendrive is mounted

And with that live usb you can have a boot with uefi, then follow the instructions of the wiki

sorry my english, use google translator

2 Likes

You might have better luck with a USB 3.0 stick or try the USB 3.0 port (blue colored port). I have a USB 2.0 that can only boot in legacy mode. I do not know if this is a technical requirement of UEFI or a compatibility problem with older hardware.

unfortunately i don’t have either. Both are type 2.

The good part there was a problem with the bootable usb. I fixed it and worked fine on other desktop.
And it does show on my laptop in UEFI section as well.
BUT… It only shows black screen and nothing else.
Tried switching between AHCI and RAID but no results.

If the usb stick is recognized as UEFI, that is progress. How did you make it this time? I use the same method as dagrlx’s command example.

1 Like

that looks promising. But I’m still newbie and don’t understand everything.

First of all… I can no longer boot into manjaro.
I was simply following a tutorial how to chroot
(i was on legacy) and i copied some libraries to new directory to chroot but it didn’t work and when i was turning off the laptop manjaro prompt some errors "failed to unmount the libraries and i forced the laptop to shutdown since it took forever.
Later i accessed the new directory where i copied the libraries there (from legacy live usb) and deleted the files it couldn’t unmount but the problem still present.
I get 2 error messages (depending on raid or ahci)

So now i can’t access manjaro.
Can i try what you mentioned, in windows?
If yes. Then how?

it was already recognized before.
but opened Grub rescue. I tried it on my desktop and got the same problem so i changed the bootable image
(used etcher instead of rufus)
The rufus one didn’t work on legacy nor uefi
But etcher did. I mean… Sort of.
Worked completely fine on desktop.
Worked only in legacy on laptop.

Do not do things like this. This is creating more problems. I do not have the expertise to fix this problem now.

But there was no reason to run chroot because you cannot boot the Manjaro in UEFI mode anyway. So you could not have done anything.

1 Like

Yep i wish i knew earlier. I was wondering why until you told me earlier.

And then I knew I messed up.
I guess I learned the hard way again.

But i didn’t understand the VM part that dagrlx mentioned.
Now i can only boot to windows (raid) or to legacy usb manjaro.
What can I do now?

dd is a linux command, so no it cannot be done in Windows.
sudo dd if=XXX.iso of=/dev/sdc bs=4M status=progress conv=fdatasync

But be careful you can destroy all your data on your computer with this command if you do it wrong. Make sure the /dev/sdc is the USB device. Sometimes the naming can change on boot. You have to use lsblk command to verify your are writing to the correct name.

I think he means install Manjaro in a virtual machine (how did you know it was VM, I was confused because he wrote MV) from within Windows, then create a live USB using the dd method.

You cannot boot Manjaro anymore and you have deleted system files, so you probably need to re-install Manjaro. Maybe someone can help you fix the missing files without re-installing but I cannot.

But this is not the main problem anymore. The problem is creating a UEFI bootable live USB. Or else you will never fix the bootloader unless you want to dual-boot by going to your BIOS menu every time.

the files i deleted was the ones that i copied to the new directory /home/jail /bin /lib /lib64 not the original files so i guess it’s not a big deal. I guess?

I just misread it. I don’t know what MV is.
(brain auto-correct maybe?)

Ok so as far i understand …

  • use VM to install UEFI manjaro. (on windows)
  • then (use the dd command) to create live USB.
  • then use the live USB to correct GRUB
    I guess.

note I no longer care if i lost the current manjaro.
= i don’t mind re-installing it.

1 Like

Something more happened than this. Just copying files to your home directory does not cause boot errors.

For the next time, all you have to do to chroot into Manjaro is use the manjaro-chroot command from a live environment. All the other steps are done automatically.

You can also just re-install Manjaro in legacy mode and use it for the first step. You do not need a UEFI Manjaro installation to create a UEFI live USB.

But of course if you can create a UEFI Manjaro live USB from within Windows, that means you do not need to do step 3 (because your current install is not booting anyway so you will need to re-install maybe).

does that mean I can create (live UEFI USB) directly from (live legacy USB)?

I don't think you can unmount the usb you booted from. That doesn't make sense. But you can always try! :smile_cat:

You can if you have 2 usb drives.

1 Like

Forum kindly sponsored by