I have recently received a machine with a OEM Windows 10 installed.
But I couldn't install Ubuntu on it, because the UEFI partition was in NTFS format.
Instead of vfat/fat32 like the the UEFI specification stipulates. NTFS is not even mentioned there.
But like always: Microsoft is bigger than any international standards, so others need to adapt.
I tried different methods to recreate the UEFI partition, but I couldn't get it working without removing the Windows installation. I was considering to reinstall Windows 10 and try to force the UEFI in FAT format.
But I was able to talk the customer/user out of using Windows natively, since he only needs this to Admin Windows servers and simulate problems of Windows users/customers. Remmina will do to connect to the Windows servers and virtual machines will do to simulate Windows software problems.
Still I think it would be a good idea to collect workarounds/fixes for the dual boot with NTFS UEFI partitions. Since I fear I won't be the only person confronted with this issue.
Best Answer
EDIT: Turns out, the below was "false alarm" of sorts; somewhat later, I realized the disk hosting this NTFS "EFI" partition is formatted MBR, not GPT; and it does not have an EFI folder either, nor typical expected Windows EFI files as
EFI/Microsoft/Boot/bootmgfw.efi
. I guess, the presence of the "esp" flag on this partition is what got me confused.In the end, I ended up doing this:
This still didn't help dual boot at this point, however, now that I had a FAT32 partition, I could re-install Ubuntu, from stick booted in EFI mode, while flashing GRUB2 on this partition.
os-prober
simply did not detect Windows at all;boot-repair
did not correct anything, but it mentioned that it saw "legacy windows"--target=i386-pc
; and forced legacy-only boot from BIOSboot-repair
removed all grub EFI-related packages - and finally,os-prober
could see Windows partition; but the entry it added (withchainload
) could not boot into Windows, claiming disk was not bootable (which it isn't, as the Windows install is on partition 2, which is not marked bootable)ntldr ($root)/bootmgr
- and finally I have dual boot!Which is to say - this first NTFS partition, which was bootable (and marked esp) was most likely not a real EFI partition - maybe it somehow facilitated recovery or something; which is (I guess) proven by the fact, that I could only achieve dual boot to Windows, by forcing legacy boot.
Not an answer, but just wanted to respond to this:
Yup, just ended up with a system like that, refurbished ThinkPad.
I booted up Slax on my USB thumbdrive on this laptop (in legacy mode), and it provides this information (note that I've done a bit of manual partitioning, in addition to what was present upon disk already; I've also removed info about other drives):
So, partition 1 is marked both as ntfs, and as boot & esp.
I wanted to install Ubuntu dual-boot on this machine along with Windows, so I booted up the mini.iso from USB thumbdrive (in EFI mode), which runs the text installer; originally it showed this state of partitions:
I then tried to to set up partition 1 to be "Used as" EFI system partition, which resulted with this state being shown:
... however, the text installer would have none of it - and it failed with "The attempt to mount a file system with type vfat in SCSI2 (0,0,0), partition #1 (sdb) at /boot/efi failed.":
So, yeah - the text installer does seem to make the assumption that the EFI partition is always vfat, and as in this case it is NTFS, the process there fails ...
So I cannot really tell, what I can do, to have Ubuntu installed on this system in dual boot configuration with Windows - without changing the EFI partition ...
EDIT: Here are approximately the files present on this first NTFS partition, mounted on
/mnt
here (I had cut off some obvious translation and font files to make it easier to read) - note that there is no EFI folder anywhere: