I use a macbook pro 2015 with macOS High Sierra. I installed windows 10 using bootcamp, which resized the macOS partition and created a 80GB windows partition. The machine boots into windows just fine.
Unfortunately I can't go back to macOS because the macOS partition is not selectable as a boot source in bootcamp and "boot into X" boots into windows again.
When I start from recovery (ctrl+R) I can see both partitions in diskutil.
I tried to repair the macOS partiton but it had no effect.
How can i resurrect the macOS partion so I can choose which OS to start?
Update: I can start macOS by booting with option/alt pressed and chose the mac partition.
diskutil list output:
Capsicum:~$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *251.0 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 170.0 GB disk0s2
3: Microsoft Basic Data BOOTCAMP 80.3 GB disk0s3
4: Windows Recovery 503.3 MB disk0s4
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +170.0 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 101.3 GB disk1s1
2: APFS Volume Preboot 20.2 MB disk1s2
3: APFS Volume Recovery 506.6 MB disk1s3
4: APFS Volume VM 2.1 GB disk1s4
/dev/disk2 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: FDisk_partition_scheme *2.0 TB disk2
1: Apple_HFS Passport 2.0 TB disk2s1
thanks a lot for any clarification what is wrong!
Best Answer
If you use APFS, then your macOS boot volume may not appear as a choice in the Windows Boot Camp Control Panel pane. The following procedure can be used to fix this problem.
Since the Windows Boot Camp software can detect bootable "Mac OS Extended (Journaled)" volumes, the follow instructions create such a volume. Instead of placing macOS in the volume, a third party boot manager, called rEFInd, will be substituted. This boot manager will then be configured to silently boot the macOS stored in the APFS container. Finally, macOS will be instructed to not automatically mount this new volume at startup.
Below are the steps. The commands need to be entered into a Terminal application window.
Create the new volume. The
diskutil
command, shown below, shrinks the APFS container (170000M, i.e. 170 GB) by 300 MB (169700M) and creates the new 300 MB "Mac OS Extended (Journaled)" volume labeled "Macintosh HD via rEFInd".After the command completes, restart the Mac.
Download the rEFInd Boot Manager software from this SourceForge web site. Enter the following commands to install the software to the "Macintosh HD via rEFInd" volume.
Configure the TextEdit application. Open TextEdit, then navigate to the "Preferences..." window. Uncheck all the "Options", as shown below. When finished, quit TextEdit.
Use the command below to navigate to the folder containing the
refind.conf
file.Make a backup copy of this file.
Add write permissions to the CoreServices folder and the refind.conf file.
Open the file in the TextEdit application.
Add the following lines to the end of the
refind.conf
file. You should be able to just cut and paste these lines. When finished, save the changes, then quit TextEdit.(Optional) Enter the following commands to modify the
/etc/fstab
file. This entry will instruct macOS not to mount the volume labeled "Macintosh HD via rEFInd" at startup.When finished, restart the Mac.
Now when choosing Boot Camp from the Control Panel, you should get something similar to what is shown below.
Update to Step 5 for an Encrypted macOS
Enter the command given below to get identifier of the booter disk.
Your output should be similar to what is shown below.
Use the identifier to get the boot disk volume name, as shown below.
Your output should be similar to what is shown below.
Use the macOS volume name to get the volume UUID, as shown below.
Your output should be similar to what is shown below.
Replace the
volume
with the boot disk volume name and add the volume UUID to the path of theloader
, as shown below.Here the assumption has been made that there are no other APFS containers with a bootable macOS installed. If you do have another container, then by boot disk volume names may be the same. In this case, you will need to rename one of of the volumes. To change the volume name in this example from
Preboot
toInternal Preboot
, enter the following commands.First, enter the command shown below to mount the volume.
Your output should be similar to what is shown below.
Second, enter the command shown below to rename the volume.
Your output should be similar to what is shown below.
Finally, enter the command shown below to unmount the volume.
Your output should be similar to what is shown below.
The lines added to the end of the
refind.conf
file would then need to appear as shown below.