Windows – Restoring Boot Camp boot from Windows 10 using High Sierra

bootcamppartitionwindows

I was running out of space on my Windows 10 install and needed to expand it. I restarted in High Sierra and downloaded Camptune. When I started Camptune, the program said my Boot Camp had errors and I needed to fix them to use the program. I let it do that, only to find out the free version only allows 2GB of expansion (useless).

I restarted to go back to Windows 10, and was disappointed to see that Camptune ruined my Windows 10 boot options. It removed Boot Camp from the boot options menu and deleted/relocated the W10 boot sectors. I had it set to auto-boot to Windows, and now I get the "no boot disc detected" error.

The volume is intact and files are still there. I had over 190GB of files in that partition. I'm taking computer programming and had homework on there too.

Things I've tried so far:

  1. diskutil in Mac, no errors found on Boot Camp drive
  2. Camptune, it doesn't recognize Boot Camp partition at all now
  3. REFIT/REFIND, I couldn't install these because the drive is encrypted on boot and SIP can't be turned off
  4. Windows 10 recovery with the Boot Camp USB I used to install it the first time; can't automatically fix startup issues; gives me an error when I try to mount to new drive letter as per that post's answer

How do I fix this?

Edit for Dave:

  1. I already confirmed that the drives were in diskutil. Here's the diskutil list command:

    /dev/disk0 (internal, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:      GUID_partition_scheme                        *500.3 GB   disk0
       1:                        EFI EFI                     209.7 MB   disk0s1
       2:          Apple_CoreStorage Mac                     299.4 GB   disk0s2
       3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
       4:       Microsoft Basic Data BOOTCAMP                199.5 GB   disk0s4
    /dev/disk1 (internal, virtual):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:                  Apple_HFS Mac                    +299.1 GB   disk1
                                     Logical Volume on disk0s2
                                     B933C069-F78E-4BCE-9BDF-6AE1C7F07CE8
                                     Unlocked Encrypted
    /dev/disk2 (external, physical):
       #:                       TYPE NAME                    SIZE       IDENTIFIER
       0:     FDisk_partition_scheme                        *16.2 GB    disk2
       1:                 DOS_FAT_32 WININSTALL              16.2 GB    disk2s1
    
  2. MacBook Air (13-inch, Mid 2012)

  3. MacOS is encrypted. I sent an email to the refind programmer for instructions on how to bypass SIP.

Best Answer

SIP can be turned off on your Mac. SIP has nothing to do with encryption. You have to boot the Mac in Recovery mode in order to enter the csrutil disable command. Recovery mode can be booted from the internal recovery partition, from the internet or from a USB flash drive. You can also use third party tools, such as rEFInd, to disable SIP.

rEFIt is the predecessor to rEFInd boot manager. rEFIt is now obsolete with respect to the current macOS operating systems. rEFInd should only be installed to either a EFI, FAT or jhfs+ partition. rEFInd should not be installed in the macOS partition.

The most likely reason the Windows 10 recovery solution did not work would be the partitioning of the internal drive. Normally, your Mac should be using GPT partitioning with a full protected MBR. If the partitioning was changed from full protect to hybrid, then the mountvol S: /s command would return the error message The parameter is incorrect. Here, I made the assumption you installed Windows 10 using the Boot Camp Assistant. If you first installed Widows 7/8/8.1 then upgraded to Windows 10, then this answer may need to be altered.

The easiest way to check and update the partitioning is to use the gdisk command. You will need to download and install gdisk. Also to use gdisk from macOS, you will need to disable SIP. You can also use gdisk while booted in Recovery mode.

If you are out of free space in the Windows partition and you can access your files from macOS, then you might what to consider first backing up your files, deleting windows, and then reinstalling Windows into a larger partition. I say this because there is no practical way to increase the size of the Windows partition without using some third party tool. Before attempting this, you would want to backup your files anyway. So, you might as well remove Windows, increase the partition size and reinstall.