Seemingly correct NTFS partition not recognized as EFI, installation fails (system is by default booted in UEFI+Legacy mode)

(apologies for this bloated mess of a post)
(should state I've been using Ubuntu for at least 5 years, had a break, installed Mint on my laptop, built this thing, looked for other distros and am now at this point)
So I attempt to install Manjaro KDE 17.1.11 alongside Windows 10 on my self-built desktop computer (providing system info below), setting the /boot/efi mount point and corresponding tags to what I presume to be the correct partition, not finding it worrying that its filesystem is said to be NTFS.

During the partitioning stage I get an error message (copy-pasted from error window):

Installation Failed

Boost.Python error in job "bootloader".

Command 'grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Manjaro --force' returned non-zero exit status 1.
Installing for x86_64-efi platform. grub-install: error: /boot/efi doesn't look like an EFI partition.

File "/usr/lib/calamares/modules/bootloader/", line 353, in run

File "/usr/lib/calamares/modules/bootloader/", line 324, in prepare_bootloader
install_grub(efi_directory, fw_type)

File "/usr/lib/calamares/modules/bootloader/", line 251, in install_grub

File "<string>", line 5, in <module>

The partition doesn't look like an EFI partition, now?
When I check the partition table in Windows it is listed as an EFI partition.

What's more, Windows says its boot mode is Legacy. Nothing I'd expect from an UEFI system shows up when I boot into the Advanced Startup Options menu. No Secure Boot toggle, at least.
In the BIOS menu (or whatever it's called in this UEFI age) the boot mode was set to UEFI+Legacy by default. I installed Windows with that enabled.
I assume this means Windows boots in the legacy BIOS way but still needs an EFI partition for it to work (somehow, why tho), and created it as an NTFS partition during its installation (from an official USB stick I purchased). I just now realized it might rather be the system reserved partition and that this whole post might be slightly off-track, see latter paragraph.

I assume the apparently unorthodox choice of NTFS (which still might not play well with Linux, as far as I know, although there is significant compatibility for it now (hm.)) instead of FAT-something for the EFI partition is what causes this issue (if it even is an EFI partition and Windows isn't lying to my face - which it might be).

If it's realistically (and securely) possible, I'd like to just convert that specific partition from NTFS to FAT32, and hope that solves the problem. That'd be less of a hassle.
(But I might still have preferred to have GPT instead of MBR, seems there's a tool for "simply" switching that in Windows, don't know if that one's even remotely a proper option. It's not like I need more than four partitions anyway.)

As a simpler but more time-consuming fix, I could just backup my data (not much, really) and install Windows again, forcing it to do it in a more ideal way. I suppose I'd have to set the boot mode to UEFI in the BIOS menu and possibly make the EFI partition myself (Windows shouldn't create a new one, I hope?), also making sure the partition layout is GPT instead of MBR. If it's possible or perhaps better (heh, doubt it) to use legacy BIOS, I'm not entirely sure how to go about it.

Also, if the boot mode is set to UEFI+Legacy, why is Manjaro insisting it is UEFI? Because that's what it actually is, and it's just running in a legacy mode?
--> and on that note, when I select the "Detect EFI bootloaders" option in the initial menu of the Live USB, none seem to be found. Also due to it being NTFS, I suppose. Or due to it not being an EFI partition.

------This is all presuming there is an EFI partition at all here.
As I realized when looking at the output from the blkid command, it is very possible I have been on the wrong track here. This might just be the usual "system reserved partition" that Windows has a tendency to create. And then... What should be done? Forcing the Live USB to not boot in EFI mode? Ignore the warning about the need for an EFI partition and let the installer run without setting one as that? Reinstall Windows anyway, making UEFI the thing? Something else?

(I haven't googled that much for this problem, hope it's not being asked about much, which I somehow doubt it is)

System information, command run on USB drive:

[manjaro@manjaro ~]$ inxi -Fxz
System:    Host: manjaro Kernel: 4.14.52-1-MANJARO x86_64 bits: 64 compiler: gcc v: 8.1.1 
           Desktop: KDE Plasma 5.13.2 tk: Qt 5.11.1 Distro: Manjaro Linux 17.1.11 Hakoila 
Machine:   Type: Desktop System: Micro-Star product: MS-7B24 v: 2.0 serial: <filter> 
           Mobo: Micro-Star model: B360M PRO-VDH (MS-7B24) v: 2.0 serial: <filter> UEFI: American Megatrends 
           v: A.10 date: 04/02/2018 
Battery:   Device-1: hidpp_battery_0 model: Logitech Wireless Mouse M325 charge: 100% status: Discharging 
CPU:       Topology: 6-Core model: Intel Core i5-8400 bits: 64 type: MCP arch: Skylake rev: A 
           L2 cache: 9216 KiB 
           flags: lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 33708 
           Speed: 800 MHz min/max: 800/4000 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 801 6: 800 
Graphics:  Card-1: NVIDIA GP106 [GeForce GTX 1060 3GB] driver: nvidia v: 396.24 bus ID: 01:00.0 
           Display: x11 server: X.Org 1.19.6 driver: nvidia resolution: 1920x1080~60Hz 
           OpenGL: renderer: GeForce GTX 1060 3GB/PCIe/SSE2 v: 4.6.0 NVIDIA 396.24 direct render: Yes 
Audio:     Card-1: Intel Cannon Lake PCH cAVS driver: snd_hda_intel v: kernel bus ID: 00:1f.3 
           Card-2: NVIDIA GP106 High Definition Audio driver: snd_hda_intel v: kernel bus ID: 01:00.1 
           Sound Server: ALSA v: k4.14.52-1-MANJARO 
Network:   Card-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet driver: r8169 v: 2.3LK-NAPI 
           port: 3000 bus ID: 03:00.0 
           IF: enp3s0 state: up speed: 1000 Mbps duplex: full mac: <filter> 
Drives:    HDD Total Size: 2.05 TiB used: 8.90 GiB (0.4%) 
           ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 960 EVO 250GB size: 232.89 GiB 
           ID-2: /dev/sda vendor: Seagate model: ST2000DM006-2DM164 size: 1.82 TiB 
           ID-3: /dev/sdb type: USB model: USB Flash Disk size: 3.81 GiB 
Partition: ID-1: / size: 11.71 GiB used: 423.2 MiB (3.5%) fs: overlay dev: ERR-102 
Sensors:   System Temperatures: cpu: 27.8 C mobo: N/A gpu: nvidia temp: 29 C 
           Fan Speeds (RPM): N/A gpu: nvidia fan: 51% 
Info:      Processes: 198 Uptime: 28m Memory: 15.61 GiB used: 2.35 GiB (15.1%) Init: systemd Compilers: 
           gcc: 8.1.1 Shell: bash v: 4.4.23 inxi: 3.0.12

(additional hardware vendors: motherboard is MSI, GPU is Zotac, and the RAM is from Corsair, if any of that matters)

Current partition setup:
On my SSD I have the insidous EFI partition, windows' system chunk, the presently unused install location for Manjaro, and a swap partition (I seriously don't think I need one, tho, just put it there as usual).
The HDD has a large partition for (shared) data and a slightly thinner partition for Manjaro's home folder (I chose to have it encrypted).

Partition information after installation attempt, also run on USB drive (which shows as the middle one, HDD as the first):

[manjaro@manjaro ~]$ sudo parted -l
Model: ATA ST2000DM006-2DM1 (scsi)
Disk /dev/sda: 2000GB
Sector size (logical/physical): 512B/4096B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      1049kB  1371GB  1371GB  primary  ntfs
 2      1371GB  2000GB  629GB   primary

Model: USB Flash Disk (scsi)
Disk /dev/sdb: 4090MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End     Size    Type     File system  Flags
 1      32.8kB  2167MB  2167MB  primary               boot
 2      2167MB  2171MB  4194kB  primary               esp

Model: Unknown (unknown)
Disk /dev/nvme0n1: 250GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags: 

Number  Start   End    Size    Type     File system     Flags
 1      1049kB  577MB  576MB   primary  ntfs            boot, esp
 2      577MB   208GB  208GB   primary  ntfs
 4      208GB   248GB  39.8GB  primary  ext4
 3      248GB   250GB  2098MB  primary  linux-swap(v1)

Running blkid gives this information (with the "EFI" partition labeled "Reserved by the system - is that a significant detail? This realization leads to me writing that additional stuff above):

[manjaro@manjaro ~]$ sudo blkid
/dev/loop0: TYPE="squashfs"
/dev/loop1: TYPE="squashfs"
/dev/loop2: TYPE="squashfs"
/dev/loop3: TYPE="squashfs"
/dev/nvme0n1: PTUUID="24d32e43" PTTYPE="dos"
/dev/nvme0n1p1: LABEL="Reservert av systemet" UUID="28BC0D85BC0D4EAE" TYPE="ntfs" PARTUUID="24d32e43-01"
/dev/nvme0n1p2: UUID="A0DC0E9EDC0E6F3A" TYPE="ntfs" PARTUUID="24d32e43-02"
/dev/nvme0n1p3: UUID="67a3e584-b362-41a9-ac9b-1eb251916a21" TYPE="swap" PARTUUID="24d32e43-03"
/dev/nvme0n1p4: UUID="f973c239-f242-4719-b977-4ed8268a7e12" TYPE="ext4" PARTUUID="24d32e43-04"
/dev/sda1: LABEL="Data" UUID="02248B26248B1C33" TYPE="ntfs" PARTUUID="4f19cd2a-01"
/dev/sda2: UUID="a4308411-bb03-401a-999a-ec82528e47b6" TYPE="crypto_LUKS" PARTUUID="4f19cd2a-02"
/dev/sdb1: UUID="2018-07-01-09-34-20-00" LABEL="MJR17111" TYPE="iso9660" PARTUUID="2ff390a6-01"
/dev/sdb2: SEC_TYPE="msdos" LABEL="MISO_EFI" UUID="64C8-8DA6" TYPE="vfat" PARTUUID="2ff390a6-02"

Will provide more information if necessary.

First, welcome to Manjaro.
Take a look at this first post.. Read completely. In your case, boot up install media in bios-legacy [1]

At step 6, your commands should be

sudo pacman-mirrors -f 3
sudo pacman -Syyu
sudo pacman -S grub
grub-install --target=i386-pc --recheck --debug /dev/nvme0n1
sudo update-grub

Good luck.

[1] - Advisable to set your boot setup to only bios-legacy

1 Like

Thanks a bunch. While in my case I haven't actually gotten to fully install Manjaro (which seems to be a requirement for your guide to work), what you said sent me looking for a way to actually get the Live USB to boot in bios-legacy.

I didn't think of checking the boot order setup before, and now that I did, it's obvious. I moved the one for non-UEFI USB boot to the top.
Now the live USB boots in bios-legacy, and it seems I might finally be able to install. Doing so right now.

However, in your guide you have a point about never using the CSM on a gaming-edition MSI motherboard - which mine might very well be. Is this actually bad, then?
Also, it seems I ended up as a rare case, according to you, of having legacy bios on an nvme device. Just because that was the default state of my motherboard.

Now that you mentioned it, there's one case very long ago when nvme was new, where a user installed in bios-legacy. He's having trouble installing grub and I think (fairly sure) the solution for him was to use "--force"

So instead of

grub-install --target=i386-pc --recheck --debug /dev/nvme0n1

Use "--force" in it if without, it won't work.

grub-install --target=i386-pc --force --recheck --debug /dev/nvme0n1

Good luck.

1 Like

If at the end of installation, and you get "bootloader error"
And still at livecd (installation completed); you can do the following before reboot.

sudo mount /dev/nvme0n1p4 /mnt
sudo grub-install --target=i386-pc --force --boot-directory=/mnt/boot  --recheck --debug /dev/nvme0n1

Hope this saves you one extra process of a failed reboot and needed to boot again into livecd to fix it.

1 Like

Sorry for not stating earlier that the installation finished succesfully. No need for any advanced fixing.

System seems to run fine, only problem is I wrote some part of the admin password wrong and will have to type an unknown amount of variations of it before I can do any sudo-ing.
(but why does grub have to load so slowly tho, is some kind of sliding-up animation normal? is it really rendering the screen line for line that slowly?)

Hee hee hee. But glad to hear.

Sorry, but I have no idea what this is.
Is that the grub menu appearing slowly with line by line appearing slowly?
If it is, try rebooting again and see if that happens again.
And if does repeat the slow line by line rendering, I honestly have no idea why this happens.
Anybody when the OP repeats it? Or have the same situation?

1 Like

Well, yeah, but it's actually not that slow, rather quite swift. Not gonna be much of a problem.
The grub menu on the Live USB did have a significantly slower variant of this effect (and also lagged quite a bit when scrolling for keyboard layout) when in bios mode, as opposed to its instant screen changes in EFI mode. I suppose this could be due to some inefficiency in the way my motherboard does legacy booting, but of course I don't know, and it doesn't really matter. Graphics work fine when fully booted.

Also, I hadn't typed the wrong password during setup, I just didn't know there were different password prompts requesting either user or root password, and didn't think of it before quite some frustrating time had passed. Am used to Ubuntu and Mint where you just put in the user password. Manjaro's way seems more secure.

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

Forum kindly sponsored by