Fixing Windows 8.1 Boot by Creating EFI System Partition Manually
Fixing Windows 8.1 Boot by Creating EFI System Partition Manually
技术分享|Nov 1, 2013|Last edited: 2022-6-14
Nov 1, 2013
Fixing boot issue of Windows 8.1 EFI System Partition
fab fa-windows
I had made a mistake on my laptop OS configuration, which turned out wasted me 3 hours to research and fix the issue. My laptop has a 256GB SSD disk on its SATA slot and has Windows 8 OS on it. I decided to install a separate copy of Windows 8.1 on a new 128GB MSATA disk and retire the 256GB SSD. And for make the migration easier, I installed the Windows 8.1 along with Windows 8 OS, which was a big mistake. The boot loader for the new OS is still on the old 256GB disk. And it can make the dual boot perfectly, so I did not realized there was no boot loader on my new SSD. Then things broken up after I remove the 256GB disk as planned, as there was no boot loader on the 128GB disk and there was no EFI partition on it. The whole disk was assigned to a single primary partition with Windows 8.1 OS installed on it. I have tried using Windows 8.1 installation disk to make a auto-fix, but it failed. I guess the reason was simply because no EFI partition found on disk. According to this article and this article, what I had missed were two special partitions, the System and MSR partition:
notion image
The solution came out for my problem is to shrink my Windows partition, create the two system partitions manually, then install EFI boot loader to the system partition. Steps I have taken: 1. Boot with setup disk and enter rescue command prompt, run diskpart.exe, select disk then select my windows volume. Issue a shrink command as: shrink desired=600 run 'list disk' again, now I can see I have 600MB free space on the disk. 2. Then create and format the EFI partition: create partition efi size=260 format quick fs=fat32 label="System" create partition msr size = 128 3. Finally follow this post, run: bootrec /fixboot bcdboot c:\Windows /s b: /f ALL to fix boot record. 4. Lastly for those who enabled hyper-v, run: bcdedit /set {default} hypervisorlaunchtype Auto bcdedit /set {default} nx OptIn 5. Reboot and my Windows 8.1 comes back. Looking into my partition layout, the System partition (EFI boot partition) is on the tail of the disk. It looks wired but works.
notion image
Hosting Mail on Outlook.com勿要打月月