I have Ubuntu installed on hdd, recently I've converted that disk to GPT using gdisk and created EFI partition formatted in fat32 (right after convertion it was ntfs, but then I've formatted it into fat32). However, when I was trying to install windows to unallocated space on disk, it said that my ESP is not in Fat32 and asked me to format it into fat32. I have rebooted into ubuntu and checked partitions:

  1. ESP created during convertation to GPT (fat32, about 4 Mb used, 200 Mb unused)
  2. Restore partition created by windows (ntfs)
  3. ESP created by windows (fat32, about 4 Mb used, 96 Mb unused)
  4. MSR partition created by windows (unknown)
  5. Partition for data created by windows (ntfs or unknown, I do not remember)
  6. Linux swap
  7. Ubuntu partition

Windows version is 10, ubuntu is 16.04, I also have Ubuntu live USB in case I have to fix bootloader or something else. How can I fix the error?

EDIT: Now I've deleted the EFI partition and Ubuntu can still successfully load, also Windows now does not give error about ESP but it does not create one! It only creates Basic data partition and MSR partition, no ESP and no Recovery! It does not load after install, however Ubuntu loads because it has GRUB on my old HDD with Windows (this HDD is half-broken that is why I want to reinstall Windows to another HDD). I have literally no idea what is happening, any suggestions?


Two things:

  1. windows is yet to implement gpt (for what i saw)
  2. create the efi partition within the windows installation.
  • What do you mean by create the efi partition within the windows installation? – Krigga May 1 '17 at 7:42
  • yes, had this problem a while ago. – Nadav Tasher May 1 '17 at 7:44
  • I can't understand you, do you have the solution or are you just saying that you had this problem and couldn't solve it? – Krigga May 1 '17 at 8:17
  • i had the problem and the problems were that i was using a gpt partition table and that i pre created the partitions in ubuntu. – Nadav Tasher May 1 '17 at 8:31
  • 1
    what do you mean by "windows is yet to implement gpt"? Windows has supported booting from GPT since Vista and using GPT data drives for even longer than that – phuclv May 1 '17 at 9:17

I haven't checked with Windows 10, but the installers for earlier versions of Windows tended to become confused when presented with disks that have multiple ESPs. My recollection is that they'd present errors after getting partway through the installation. Note that the ESP is supposed to be shared between all OSes installed on a computer. Although there's nothing in the EFI specification to forbid the creation of multiple ESPs, the usual practice is to share one ESP. Thus, if the disk already has an ESP, Windows is perfectly within its rights to add its boot loader to that ESP, even if that ESP was created by another OS.

Note also that there's nothing wrong with an OS using an ESP on one disk to boot the OS installation on another physical disk. Thus, if your first disk has an ESP, installing Windows to the second disk might result in no ESP being created on that second disk; Windows might just use the ESP on the first disk. That said, I've never actually tried this, so I don't know what Windows actually does.

None of this would explain why Windows would fail to boot once properly installed; however, there might be some ancillary issue at work. For instance, as I understand it, you've got a working Ubuntu installation and you tried adding Windows to that installation. If the Windows EFI boot entry somehow did not become the default, you'd need to run sudo update-grub in Ubuntu to add a Windows entry to the GRUB menu.

Another possibility about what's going on is that you might have installed Ubuntu in EFI mode and Windows in BIOS mode. Such cross-mode installations are possible, but they're usually very awkward to manage. In Ubuntu, check the partition table types for both disks. (Tools like parted and recent versions of fdisk report this information.) If they're both GPT, then this Windows-in-BIOS-mode hypothesis is wrong. If the Windows disk uses MBR (which parted, at least, reports as "msdos"), then you've probably got a mixed-mode installation. See my page on the CSM for more on why this type of configuration is awkward and how to control your boot mode. If you've got a mixed-mode installation, you have at least two options for how to proceed:

  • Re-install Windows -- You can wipe the partitions from the MBR disk, create a GPT on it, and re-install Windows. This is probably the best approach. You'll need to learn how to control your boot mode, as described on my CSM page, so that you don't accidentally boot the Windows installer in BIOS mode.
  • Use rEFInd -- My rEFInd boot manager is an EFI-mode boot manager that can redirect to boot in BIOS mode. If you install rEFInd in Ubuntu, you can then edit /boot/efi/EFI/refind/refind.conf: Uncomment the scanfor line and ensure that hdbios is among the options. (You may also need to uncomment uefi_deep_legacy_scan, but I recommend doing this only if you don't see an option to boot the Windows-containing disk without this option.) When so configured, rEFInd will show, on most computers, BIOS-mode boot options for your hard disks. One of those options should boot your existing Windows installation in BIOS mode.
  • I have both disks in GPT, so mixed-mode installation is not possible. I have moved my EFI partition to the disk where I am trying to install windows, however as I said if there is EFI partition on the disk (it is now present and contains grub) then windows creates its own EFI partition as well as MSR, Recovery and data partition but it gives error when copying starts that EFI partition is NTFS (I checked, they are Fat32). If there is no ESP on disk, windows does not create its own and it does not create Recovery partition. I still haven't tried disconnecting my old disk, I'll try that tomorrow – Krigga May 1 '17 at 20:05
  • Windows should not attempt to create a second ESP. If it does, that likely means that what you're calling an "ESP" is not, in fact, an ESP. To be an ESP, a partition must use the FAT32 filesystem and have a type code of C12A7328-F81F-11D2-BA4B-00A0C93EC93B ("EF00" in gdisk; "boot" [and "esp," on recent versions] flag set in parted). This type code is on GPT; on MBR, it would be 0xEF. Note that FAT12 and FAT16 are acceptable to most EFIs, but Windows insists that the ESP be FAT32. – Rod Smith May 2 '17 at 12:28
  • I know about these flags, but I was surprised when I saw two fat32 partitions with boot and esp flags on one disk and one on another disk. – Krigga May 2 '17 at 13:38
  • This evening I will try disconnecting my old disk which contains old windows installation and installing windows after. – Krigga May 2 '17 at 13:39
  • Also I've found a russian guide about installing windows manually, I tried it yesterday but I did something wrong and I will retry it this evening before disconnecting old HDD. – Krigga May 2 '17 at 13:41

The only thing that helped is disconnecting my old dying HDD before Windows Installation. When it succeeded, I wanted to cry and laugh at the same time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.