1
I've been searching for this forever... By default EFI partition on Mac is 200 MB. I have a special Windows 10 image (enterprise compilation) I would like to install on the Boot Camp partition, which requires that the EFI partition be 500 MB due to the image installer boot.wim file size, which is 290 MB.
The way I tried to do this is first install MS Windows 10 image downloaded from MS website by using Boot Camp Assistant to create and prepare Windows partition, then startup from the USB drive that includes the Windows 10 Enterprise image, deploy the image on top of the Windows partition, and reboot starting up from Windows to continue installation, but because I cannot copy boot.wim file onto the EFI partition, the deployment process cannot continue.
I've been trying different methods to change EFI partition size, using diskpart
when starting up from the USB drive with the Windows image, or diskutil
when starting up from macOS.
None of which allowed me to resize the EFI partition:
- On
diskutil
I get: "file system format does not support resizing". - On
diskpart
I get: "You may not extend OEM, ESP, or recovery partitions".
Is EFI partition resizing even possible?
Due to the fact that this is a relatively new Mac, I don't think I'll have any problem reformatting the drive for this to work, and reinstall Sierra from the Recovery Mode, if necessary (Of course if it's possible to change the partition size without losing data, that's the best solution).
Just to extand it a bit: The ESP (EFI system partition) may use any format it wants, but it must support at least the FAT32/EFI filesystem. It may also allow others; Apple has devices which use and boot from a Apple HFS formatted ESP. – Hennes – 2016-11-08T17:00:53.017
No, technically the ESP must be FAT (or, to be more precise, the filesystem that the EFI spec describes, which is basically identical to FAT). The spec mentions in one or two places that it should be FAT32, as opposed to FAT16 or FAT12, when used on a hard disk, but that requirement is pretty soft. An EFI firmware implementation may support additional filesystems (Apple's supports HFS+ and a few support ISO-9660), but using anything other than FAT on an ESP means it's technically not an ESP. It might work on some platforms, but it's not technically an ESP. – Rod Smith – 2016-11-08T23:04:55.787
@RodSmith thanks, I was hoping that I won't need to mess around with Macintosh HD partition starting sector, which follows the ESP, because it means that I have to reformat the drive from USB, remap the partitions sizes to match my needs, and reinstall macOS from recovery mode onto the newly moved partition. I've never done this before and I hope not to cause any issues preventing me from reinstalling macOS. – erutan – 2016-11-11T14:48:32.610
Regarding your suggestions:
I thought that boot.wim has to be on the ESP, so having a FAT partition after macOS won't do any good...
The boot.wim file is required to finish the deployment of Windows 10 so I can't put it on HFS+ partition.
Not sure I understand what you meant, but again, the file is needed on the ESP.
>
I guess I don't have a choice other than reformatting and remapping partitions, and then recovering macOS. I'll wait a little longer for more suggestions before I close this thread. – erutan – 2016-11-11T14:59:32.760
I'm not familiar with the details of what you're doing with
boot.wim
(I'm more of a Linux expert, and to a lesser extent OS X; I know relatively little about Windows). Thus, I can't comment on what might or might not be required on that end. My initial comments assumed that you could putboot.wim
and whatever else it needs or uses on the same partition, even if it's not the ESP. This might still be the case; I just don't know. – Rod Smith – 2016-11-11T22:39:49.250@rod I understand, thanks for your suggestions! Unfortunately boot.wim has to be in the ESP for the deployment process to complete when Windows 10 is booting up. – erutan – 2016-11-13T13:35:20.363
Keep in mind that you can always do my first suggestion (shrink a partition from the end and create a new FAT partition in the free space), mark the new partition as the ESP, and unmark the first partition as the ESP. That new partition will then become recognized as the ESP by Windows. You can reverse the process when you're done, if you like, but be careful to move any Windows boot loaders installed to the new ESP to the original ESP. You may also need to adjust EFI boot manager entries. – Rod Smith – 2016-11-13T15:23:26.963
@Rod I just saw your comment, and now I'm intrigued... How can I mark a partition as ESP and unmark the first one? I thought that ESP has to be the first partition on the drive... If this is possible then it would be the best solution, and after I finish deployment I can reverse the process, delete the "fake" ESP partition and re-add it to the main partition... – erutan – 2016-11-27T15:18:26.140
The ESP is a FAT partition with a type code of C12A7328-F81F-11D2-BA4B-00A0C93EC93B. It does not need to be the first partition on the disk, although Apple puts it there by default. Different partitioning tools offer different ways to change the type code. In my
– Rod Smith – 2016-11-28T14:38:34.313gdisk
, it's abbreviated as EF00. In tools based on libparted, it's a "boot flag." AFAIK, there's no way to set a partition as an ESP in Apple's Disk Utility.1Thanks @Rod you helped me greatly! I was able to overcome this by creating another EFI (marking the old one as regular data), performed the deployment and reverted the drive state, and it worked! – erutan – 2017-03-16T15:13:34.403