Shared vs. Separate EFI System Partitions (Windows/Manjaro Dual-Boot)

Greetings Manjaro brains trust,

I have a Razer Blade laptop with 16 GB of RAM, booting via UEFI from a GPT-formatted 512 GB Samsung NVMe SSD, running Windows 10 Home Edition (Version 1809). I would like to create a dual-boot setup with Manjaro.

This will be my first attempt at installing a Linux distribution. I settled on Manjaro after quite a bit of research and also trying out a few different distros off a live USB. I know my way around a terminal and bash scripting, having learnt programming on a Unix environment, but am very much a newbie in terms of the finer points of setting up a system from scratch. Nevertheless, I'm aiming to avoid the easy road as much as I can in order to force myself to learn more about the inner workings of Linux; if I can get my head around all the various components, I hope to eventually use the architect installer.

I'm having a bit of trouble deciding whether to create a second EFI System Partition to be used by Manjaro, or whether to just share the 100 MB ESP that is already being used by the Windows OS.

Looking through the forum here, I have come across posts by linux-aarhus and gohlip describing the merits of having separate ESPs for Windows and Manjaro, which certainly make sense. However, I subsequently discovered other sources claiming the opposite --- that the presence of multiple ESPs is asking for potential trouble. In particular, this post by the author of the EasyBCD software, where he claims:

Now, granted that the Windows bulletin relating to this issue (as well as a superuser post) that he uses in support of his advice against multiple ESPs are 5+ years old. So I'm not sure whether the concerns raised on these pages are not relevant to Windows 10; I haven't been able to find conclusive information either way.

As far as I can gather, it seems that in the best-case scenario, either approach would result in a working system. After all, there are guides based on both options, and I can only assume the people making these recommendations are basing them either on first-hand or reliable second-hand information. But there doesn't seem to be conclusive proof that the theoretical worst-case outcome in each case is beyond a reasonable doubt (dun-dun... Law and Order: ESP! hehe :stuck_out_tongue:). Either we share the ESP and risk Windows damaging Manjaro-specific boot files, or use separate ESPs and risk Windows not booting, or potentially breaking things during a future Microsoft update/upgrade.

So it seems to be a matter of choosing the lesser of two evils, and thus my question: How does one go about making that choice? What factors should I take into account? Does the choice change depending on other system parameters that I haven't mentioned here? For instance, I'm hoping to go with an LVM on LUKS setup for my Manjaro partition, in case that has any bearing on the ESP choice. Or is the decision clear-cut due to one of the worst-case scenarios being far less likely to occur than the other?

My apologies for the verbose post, and my gratitude in advance for any assistance you may be able to provide.

1 Like

I have done it both ways and both methods has worked for me. However, with a separate ESP, I do recall having run to the problem you mentioned when upgrading my Windows system. If I remember correctly, I removed the boot and esp flags from Manjaro's ESP and Windows upgrade went through just fine.

I have run a dual boot on a Lenovo Miix (two $esp) and have had zero issues with Windows updates/upgrades.

Only one $esp can be active ( boot flag) at any time.

Having a separate $esp (partition id EF00) will ensure Windows does not touch the Manjaro $esp because the Windows entry is chainloaded.

When Windows does it's updating it knows which partition is its $esp (after all it has to be booted to update) and all arguments are satisfied for Windows.

Even during updates when Windows reboots I am booted into Grub - and as Manjaro sets grub to remember last entry - I don't have to do anything - it boots to Windows in 5-4-3-2-1.


The mentioned Windows behavior - both references applies to Windows only and not in combination with Linux.

So I think you are safe.

I also use different ESPs for Linux and Windows. Both are flagged as esp. I never had any problem with a Windows update. I don't use grub to start Windows. If I want to start Windows I select the Windows boot option in the UEFI boot manager.
I actually forgot once to select Windows during a Windows feature update reboot and the system booted into Linux. But it did not do any harm, the next time I started Windows the update finished. However, it might be better to avoid something like this.

It seems that your situation seems to be very suitable for using Windows in virtual.:stuck_out_tongue:
I am not kidding. If you choose to use Linux and Windows dual boot, you will end up with quite a lot of trouble.:neutral_face:

Be prepared for the worst and choose any of the two. My preference would be single $esp.
Experience says it depends on the HW vendor mostly, for having strange issues with esp, not actually MS.
So,

  • always have a working Manjaro LiveISO at hand
  • get familiar/study @gohlip 's tutorial

I have no personal experience with UEFI booting, except once in a VirtualBox. But I have been helping others with their UEFI issues for years, in this forum.

Oh that's good to know, thank you Marte. Going by what @gohlip posted in the thread I linked earlier:

I wonder if simply not flagging the Manjaro ESP as "boot" is the key to avoiding mishaps with Windows updates/upgrades? Either way good to know that you had success with both methods and were able to eventually overcome the upgrade issue.



I thought the superuser article was referring to Linux/Windows dual-boot? But either way, it's definitely reassuring to hear of your consistently trouble free run with such a setup. Thank you very much (and also for your very informative tutorial).



Oh that's interesting, thank you for the tip. Seems like a good option, particularly if the Windows OS isn't being used very regularly. Oh and warning received, I'll make sure to be careful during update-related restarts to boot into the correct partition.



Oh no, please don't forecast trouble! :stuck_out_tongue: In all seriousness, I know dual-booting is always likely to throw up some curve balls, but I'm hoping to give it a try, if for nothing else than to just get experience with such a process. If it turns out to be a disaster and I keep getting hassles, I'll definitely consider your suggestion. Admittedly I had always thought running Windows in a VM would not be viable for me, because the main reasons I would be using Windows would be for photo/video editing (due to the lack of a Linux version of editing software I've become accustomed to) as well as potentially some gaming. So I just assumed such resource-heavy operations would be a headache inside a VM, but perhaps with 16 GB RAM I might be okay? Out of curiosity, is that what you meant by my situation being very suitable for running Windows virtually? That the ample RAM would make it viable?



That is a very good point, about hardware vendors being responsible for strange issues arising from two ESPs. It would certainly explain why there seems to be such a disparity between results, with some people reporting flawless outcomes, and others having lots of headaches. I guess it would make sense that the way certain hardware vendors implement their respective firmware would be a determining factor as to whether that system can withstand the rigours of multiple ESPs. And thank you also for the pointers about keeping the live ISO on hand and studying @gohlip's tutorial. Will do!


Thank you everyone for your thoughts thus far. I think I'm leaning towards attempting a dual-ESP setup and seeing how it goes. The ESP partition that was already on my computer was only 100 MB in size, and I had read elsewhere that might be too small for a dual-boot setup (although other sources had claimed it would be fine - it's so hard to avoid conflicting information with stuff like this!). So I actually already tried extending that to a bigger size, and ran into some issues whereby I couldn't even boot Windows. I ended up having to restore to a full system backup after failing to fix the boot issue. While I've since discovered that there were perhaps other tools I could have used in attempting to rectify the issue, I would prefer to avoid going down that path again if I can avoid it.

There have also been some posts in Linux forums saying there must be only one $esp.
I don't know. I have 4 $esp's. Seems to work. (dun-dun :slightly_smiling_face:).
one for linux - /boot/efi - grub
one for windows -
one for linux - /boot - rEFInd and systemd-boot
one for my own bootloader - grub OS independent

and oh.. I also have a mbr bootloader (another msdos disk) [my own -OS independent] in the same system. All works with and without boot flag and also works with flags in non-OS or non-boot partitions. :stuck_out_tongue_winking_eye:

But some installer (Solus) will need a flag to install but then Solus use a non-conventional bootloader (efistub - but I made it work with systemd-boot).

What can I say? Do what's comfortable with you. If it works.
Cheers.

1 Like

Wise words! :slight_smile: I guess as long as I have a system backup and a live USB of a Linux distro, there's no reason not to just try it and see what comes of the process. Hehe, I love that you have managed to make so many ESPs work! Admittedly my level of Linux knowledge isn't yet advanced enough to know why such a setup was required (I still need to do a lot of studying of the ArchWiki pages, I think), but given how troublesome two ESPs can be for some people, it's very impressive you made four of them work smoothly!

By the way... I hope it's okay to go slightly off-topic for a sec... I was curious what the reason is behind using the syntax $esp? I'm starting to feel like I'm making a giant faux pas everytime I write ESP! :stuck_out_tongue:

I actually use Windows in a virtual machine and play 3D games like Dark Soul 3 and Wizard 3. Very curious how I did it? Because I can use a discrete graphics card directly in the virtual machine and allocate 6 cores and 12 threads to the virtual machine to get more performance than the Ryzen R5 3600x (CineBench r15 multicore score 2000).:grin:

It's just a convention of BASH mostly, referring to $ as marking a parameter. It refers to the partition used as ESP. Geeky stuff...

As AgentS says, just a convention in linux. Like $root for example. So say we "set abc=(hd0,5) then $abc=(hd0,5). If people say 'EFI partition', of course we know what that is, but that's too long. Just 'EFI' may not denote the partition; it may be referring to the system, not the partition. As long as we know what we're talking about, it's fine whatever we use.

Welcome to Manjaro. See you around.

I can see why - I read it as a discussion on the efi structure in general and the possibility of adding more $esp partition.

The comment marked as answer - correctly states that from an efi perspective there can be as many $esps as you need.

The user commented on a bad experience with Windows 7 - but I would think that the issue could be related to the Windows installer - at least previous versions - has the annoying habit of insisting the installation must be on the first partition (maybe even the first disk).

Where the Windows installer is today in that regard - I don't know - but when I experimented with dual-booting - I had above mentioned behavior several times - which has lead me to believe so.

For the question of $dsp - as already said the $ is a *nix script reference to a variable's content.

[ESP] is an akronym for EFI System Partition where [UEFI] is another acronym for Unified Extensible Firmware Interface

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

Forum kindly sponsored by Bytemark