What I did: Installing Windows using Bootcamp
Mac: MBA 6.2
Bootcamp assistance: 6.1.0
What Windows version: Windows 10 and 8.1
What OS i tried: Catalina, Mojave, and High Siera
What happened: BSOD, all of them
Ask Different is a question and answer site for power users of Apple hardware and software. It only takes a minute to sign up.Sign up to join this community
Apparently, the Windows Support Software you used to previous install Windows is currently unavailable. The current download does not appear to work properly. This software is for the UEFI booting of Windows. This method of booting was adopted by the industry for booting x64 Windows in 2011. Apple started using this method of booting x64 Windows in 2012. Prior to UEFI booting, the industry (including Apple) used the BIOS boot method for x64 Windows. The BIOS boot method dates back to mid 1980's, when the original IBM PC's BIOS was modified to allow booting from internal HDD and has gone through many revisions since then.
The BIOS boot files for your Mac are suppose to be used for the installation of BIOS booting x64 Windows 7 with Service Pack 1 (SP1), 8 or 8.1. However, these files should also work with x64 Windows 10. In your case, you would need to download Boot Camp Version 5.1 (Build 5640). These files have been referred to as the Boot Camp Support Software or the Windows Support Software.
Assuming you have a single internal drive with an
EFI partition as
disk0s1 and an
Apple_APFS container partition as
disk0s2, the you can enter the following command to create a
ExFAT formatted partition where ultimately Windows will be installed. Here, you will need to replace
800G with the size of you wish to shrink the
Apple_APFS container partition to make room for Windows.
diskutil apfs resizecontainer disk0s2 800G ExFAT BOOTCAMP 0
For example, say the command
diskutil list disk0 shows the following before entering the above command.
/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 999.8 GB disk0s2
The result after entering the command is shown below.
/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 800.0 GB disk0s2 3: Microsoft Basic Data BOOTCAMP 199.8 GB disk0s3
One problem, with manually installing a BIOS booting Windows, is the need for the drive to be hybrid partitioned. The Disk Utility used to hybrid partition drives, but this no longer happens with High Sierra and newer versions of macOS. Basically, there are two types of partition tables stored in a Mac. The first is the legacy Master Boot Record (MBR) partition table. Normally, this contains a single entry of type
0xEE which indicates the existence of the second type called the GUID Partition Table (GPT). The partition entries in this table are used by macOS and UEFI booting Windows. However, BIOS booting Windows only read values from the MBR partition table. Therefore, in order to get BIOS booting Windows to work, the entries the GPT need to be copied to the MBR partition table. Once this is correctly accomplished, the Mac is said to be hybrid partitioned. Two different methods to hybrid partition a drive are given here. If method 1 was applied to the above example, then the input to
gdisk would be as follows.
r h 2 3 y af n 07 y n w y
Example output is shown below.
davidanderson@Snapper ~ % sudo gdisk /dev/disk0 GPT fdisk (gdisk) version 1.0.4 Warning: Devices opened with shared lock will not have their partition table automatically reloaded! Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): r Recovery/transformation command (? for help): h WARNING! Hybrid MBRs are flaky and dangerous! If you decide not to use one, just hit the Enter key at the below prompt and your MBR partition table will be untouched. Type from one to three GPT partition numbers, separated by spaces, to be added to the hybrid MBR, in sequence: 2 3 Place EFI GPT (0xEE) partition first in MBR (good for GRUB)? (Y/N): y Creating entry for GPT partition #2 (MBR partition #2) Enter an MBR hex code (default AF): af Set the bootable flag? (Y/N): n Creating entry for GPT partition #3 (MBR partition #3) Enter an MBR hex code (default 07): 07 Set the bootable flag? (Y/N): y Unused partition space(s) found. Use one to protect more partitions? (Y/N): n Recovery/transformation command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): y OK; writing new GUID partition table (GPT) to /dev/disk0. Warning: Devices opened with shared lock will not have their partition table automatically reloaded! Warning: The kernel may continue to use old or deleted partitions. You should reboot or remove the drive. The operation has completed successfully.
To create the USB installer, use the Disk Utility to erase a flash drive. Use the ExFAT format with a MBR partition type. Mount the Windows ISO and copy all the files to the flash drive. Do the same with the Boot Camp Support Software. If you are using the Windows 10 (1909), the the result should be the same as shown below.
Next, you need to write boot code to the MBR and boot sectors of the ExFAT formatted partition. On my Mac, I have VirtualBox installed. So, I basically create a Windows 10 virtual machine using the default settings. Next I put the Windows 10 ISO in the virtual DVD drive and the physical flash drive in the virtual machines USB port. Next, I booted from the virtual DVD drive and pressed the shift+F10 key combination when the first window appeared. The opens a Command Prompt window where the following command can be entered.
boosect /nt60 c: /mbr
Below is an image showing that the boot sectors were updated.
To shutdown the virtual machine, follow the steps below.
exitto close the Command Prompt window.
Repair your computer.
Turn off your PC.
Finally, you need to mark the first (only) partition on the drive as active. Here I assume the flash drive have been assigned the identifier
disk2. To flag the partition as active, enter the following commands.
diskutil unmountdisk disk2 sudo fdisk -e /dev/disk2 flag 1 quit
Below is an example.
davidanderson@Snapper ~ % diskutil unmountdisk disk2 Unmount of all volumes on disk2 was successful davidanderson@Snapper ~ % sudo fdisk -e /dev/disk2 Password: fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory Enter 'help' for information fdisk: 1> flag 1 Partition 1 marked active. fdisk:*1> quit Writing current MBR to disk.
Restart the Mac and immediately hold down the option key until the Startup Manager icons appear. Next, choose the external drive icon labeled
Note: If the Mac reboots back to macOS before finishing installing Windows, select Windows from the Startup Disk pane of System Preferences. Next, click on the
Restartbutton. Windows will continue installing.
If you have problems installing the Windows Support Software after installing Windows, then try entering the command
BootCamp.msi in an Administrator Command Prompt window. The
BootCamp.msi file can be found in the
BootCamp\Drivers\Apple folder on the flash drive. You will need to change to this folder before entering the