Windows – Triple boot: “Missing operating system” on Windows 10 partition after Windows update

bootcampdual-bootefipartitionwindows

I have a triple booted MacBook Pro (using rEFInd as boot manager). Recently I selected "Update and shut down" when finishing up in Windows 10. Since then, rEFInd still offers Windows to boot from, but the system responds with "Missing operating system". I've tried repairing using a Windows recovery USB according to the suggestion here, but 0 Windows installations are found.

I've also tried fixing the MBR using the methods discussed here, here, and here, but to no avail.

diskutil list
/dev/disk0 (internal, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *1.0 TB     disk0
   1:                        EFI EFI                     209.7 MB   disk0s1
   2:                 Apple_APFS Container disk1         490.0 GB   disk0s2
   3:                 Linux Swap                         10.0 GB    disk0s3
   4:           Linux Filesystem                         250.0 GB   disk0s4
   5:                 Apple_APFS Container disk2         250.0 GB   disk0s5

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +490.0 GB   disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh SSD           173.2 GB   disk1s1
   2:                APFS Volume Preboot                 23.0 MB    disk1s2
   3:                APFS Volume Recovery                507.2 MB   disk1s3
   4:                APFS Volume VM                      1.1 GB     disk1s4

/dev/disk2 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +ERROR      disk2
                                 Physical Store disk0s5

Partition 5 on disk0 used to be the Bootcamp install of Windows 10. Now it is on disk2.

    sudo gpt -r -vv show disk0
gpt show: disk0: mediasize=1000204886016; sectorsize=512; blocks=1953525168
gpt show: disk0: Suspicious MBR at sector 0
gpt show: disk0: Pri GPT at sector 1
gpt show: disk0: Sec GPT at sector 1953525167
       start        size  index  contents
           0           1         MBR
           1           1         Pri GPT header
           2          32         Pri GPT table
          34           6         
          40      409600      1  GPT part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B
      409640   957031248      2  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
   957440888    19531248      3  GPT part - 0657FD6D-A4AB-43C4-84E5-0933C84B4F4F
   976972136   488276496      4  GPT part - 0FC63DAF-8483-4772-8E79-3D69D8477DE4
  1465248632   488276496      5  GPT part - 7C3457EF-0000-11AA-AA11-00306543ECAC
  1953525128           7         
  1953525135          32         Sec GPT table
  1953525167           1         Sec GPT header

sudo fdisk /dev/disk0

Disk: /dev/disk0    geometry: 121601/255/63 [1953525168 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE    0   0   2 - 1023 254  63 [         1 - 1465248631] <Unknown ID>
*2: AF 1023 254  63 - 1023 254  63 [1465248632 -  488276496] HFS+        
 3: 00    0   0   0 -    0   0   0 [         0 -          0] unused      
 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused

Any help is very much appreciated. I have files on the partition I'd really prefer not to lose.

sudo dd if=/dev/disk0s5 count=1 | hexdump -Cv

1+0 records in
1+0 records out
512 bytes transferred in 0.000428 secs (1195704 bytes/sec)
00000000 98 ce 13 79 db ae e7 88 01 00 00 00 00 00 00 00 |...y............|
00000010 63 00 00 00 00 00 00 00 01 00 00 80 00 00 00 00 |c...............|
00000020 4e 58 53 42 00 10 00 00 42 50 a3 03 00 00 00 00 |NXSB....BP......|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000040 02 00 00 00 00 00 00 00 64 b6 65 e7 3d 15 45 f6 |........d.e.=.E.|
00000050 83 17 cd a9 fa 33 c0 8e d0 bc 00 7c fb 68 c0 07 |.....3.....|.h..|
00000060 1f 1e 68 66 00 cb 88 16 0e 00 66 81 3e 03 00 4e |..hf......f.>..N|
00000070 54 46 53 75 15 b4 41 bb aa 55 cd 13 72 0c 81 fb |TFSu..A..U..r...|
00000080 55 aa 75 06 f7 c1 01 00 75 03 e9 dd 00 1e 83 ec |U.u.....u.......|
00000090 18 68 1a 00 b4 48 8a 16 0e 00 8b f4 16 1f cd 13 |.h...H..........|
000000a0 9f 83 c4 18 9e 58 1f 72 e1 3b 06 0b 00 75 db a3 |.....X.r.;...u..|
000000b0 0f 00 c1 2e 0f 00 04 1e 5a 33 db b9 00 20 2b c8 |........Z3... +.|
000000c0 66 ff 06 11 00 03 16 0f 00 8e c2 ff 06 16 00 e8 |f...............|
000000d0 4b 00 2b c8 77 ef b8 00 bb cd 1a 66 23 c0 75 2d |K.+.w......f#.u-|
000000e0 66 81 fb 54 43 50 41 75 24 81 f9 02 01 72 1e 16 |f..TCPAu$....r..|
000000f0 68 07 bb 16 68 52 11 16 68 09 00 66 53 66 53 66 |h...hR..h..fSfSf|
00000100 55 16 16 16 68 b8 01 66 61 0e 07 cd 1a 33 c0 bf |U...h..fa....3..|
00000110 0a 13 b9 f6 0c fc f3 aa e9 fe 01 90 90 66 60 1e |.............f``.|
00000120 06 66 a1 11 00 66 03 06 1c 00 1e 66 68 00 00 00 |.f...f.....fh...|
00000130 00 66 50 06 53 68 01 00 68 10 00 b4 42 8a 16 0e |.fP.Sh..h...B...|
00000140 00 16 1f 8b f4 cd 13 66 59 5b 5a 66 59 66 59 1f |.......fY[ZfYfY.|
00000150 0f 82 16 00 66 ff 06 11 00 03 16 0f 00 8e c2 ff |....f...........|
00000160 0e 16 00 75 bc 07 1f 66 61 c3 a1 f6 01 e8 09 00 |...u...fa.......|
00000170 a1 fa 01 e8 03 00 f4 eb fd 8b f0 ac 3c 00 74 09 |............<.t.|
00000180 b4 0e bb 07 00 cd 10 eb f2 c3 0d 0a 41 20 64 69 |............A di|
00000190 73 6b 20 72 65 61 64 20 65 72 72 6f 72 20 6f 63 |sk read error oc|
000001a0 63 75 72 72 65 64 00 0d 0a 42 4f 4f 54 4d 47 52 |curred...BOOTMGR|
000001b0 20 69 73 20 63 6f 6d 70 72 65 73 73 65 64 00 0d | is compressed..|
000001c0 0a 50 72 65 73 73 20 43 74 72 6c 2b 41 6c 74 2b |.Press Ctrl+Alt+|
000001d0 44 65 6c 20 74 6f 20 72 65 73 74 61 72 74 0d 0a |Del to restart..|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000001f0 00 00 00 00 00 00 8a 01 a7 01 bf 01 00 00 55 aa |..............U.|
00000200

Best Answer

How to Fix the Partition Tables

If you have a 2011 model Mac, then you should be using Hybrid partitioning. From linux, you could enter the following commands to restore hybrid partitioning.

sudo gdisk /dev/sda
t
5
0700
r
h
5
y
07
y
n
w
y

If you computer does not boot, then you may need to rebuild the Windows boot files and data. This would require creating a bootable Windows 10 flash drive.

How to Rebuild the Boot Files and Data

After EFI booting from the Windows 10 flash drive, navigate to where you can open a Command Prompt window or just press the shift+F10 key combination. Enter the command given below to determine the drive letter where windows is installed.

echo list volume | diskpart

Here, I will assume the drive letter is C:. If you have a different drive letter then make the appropriate substitutions. To recreate the boot files and data, enter the commands given below.

bootsect /nt60 c: /mbr
attrib -h -s -r c:\boot\bcd
del c:\boot\bcd
bcdboot c:\windows /s c: /f bios

If you do not have a c:\boot\bcd file, then you will get error messages regarding this file. You can ignore these messages.

Note: Since you are EFI booted from the flash drive and Windows 10 is installed on the internal drive to BIOS boot, the command bootrec /rebuildbcd can not be used.