0

I installed windows 10 on my iMac with bootcamp and it worked great. I have since upgraded to an SDD and the old hard drive is now in a usb 3 enclosure. I'd really like to be able to boot from that external - is this even possible without doing a new install? (I no longer have the install disk or key)

Late 2013 27" iMac OS 10.14.4

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         1000.0 GB  disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            487.1 GB   disk1s1
   2:                APFS Volume Preboot                 45.9 MB    disk1s2
   3:                APFS Volume Recovery                522.7 MB   disk1s3
   4:                APFS Volume VM                      2.1 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:          Apple_CoreStorage Macintosh HD            1.7 TB     disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3
   4:       Microsoft Basic Data BOOTCAMP                501.0 GB   disk2s4
   5:          Apple_CoreStorage Macintosh HD            801.4 GB   disk2s5
   6:                 Apple_Boot Boot OS X               134.2 MB   disk2s6

Entering ls "/Volumes/BOOTCAMP/Boot/BCD" returns /Volumes/BOOTCAMP/Boot/BCD. The disk is BOOTCAMP like you suggested.

Leaving off the BCD returns:

BCD     da-DK       fr-FR       nl-NL       sr-Latn-RS
BCD.LOG     de-DE       hr-HR       pl-PL       sv-SE
BCD.LOG1    el-GR       hu-HU       pt-BR       tr-TR
BCD.LOG2    en-GB       it-IT       pt-PT       uk-UA
BOOTSTAT.DAT    en-US       ja-JP       qps-ploc    zh-CN
Fonts       es-ES       ko-KR       ro-RO       zh-HK
Resources   es-MX       lt-LT       ru-RU       zh-TW
bg-BG       et-EE       lv-LV       sk-SK
bootvhd.dll fi-FI       memtest.exe sl-SI
cs-CZ       fr-CA       nb-NO       sr-Latn-CS

-------

sudo fdisk /dev/disk2/ returns:

Disk: /dev/disk2    geometry: 97451/255/63 [1565565872 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
------------------------------------------------------------------------
 1: EE 1023 254  63 - 1023 254  63 [         1 -     409639] <Unknown ID>
 2: AC 1023 254  63 - 1023 254  63 [    409640 - 3314770416] <Unknown ID>
 3: AB 1023 254  63 - 1023 254  63 [3315180056 -    1269536] Darwin Boot 
*4: 0C 1023 254  63 - 1023 254  63 [3316451328 -  978511872] Win95 FAT32L

-------

sudo gpt -r show /dev/disk2 returns:

gpt show: /dev/disk2: Suspicious MBR at sector 0
       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  3314770416      2  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  3315180056     1269536      3  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  3316449592        1736         
  3316451328   978511872      4  GPT part - EBD0A0A2-B9E5-4433-87C0-68B6B72699C7
  4294963200        2040         
  4294965240  1565305744      5  GPT part - 53746F72-6167-11AA-AA11-00306543ECAC
  5860270984      262144      6  GPT part - 426F6F74-0000-11AA-AA11-00306543ECAC
  5860533128           7         
  5860533135          32         Sec GPT table
  5860533167           1         Sec GPT header

------

output from diskutil list after running disk:

/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         1000.0 GB  disk0s2

/dev/disk1 (synthesized):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      APFS Container Scheme -                      +1000.0 GB  disk1
                                 Physical Store disk0s2
   1:                APFS Volume Macintosh HD            946.7 GB   disk1s1
   2:                APFS Volume Preboot                 44.8 MB    disk1s2
   3:                APFS Volume Recovery                522.7 MB   disk1s3
   4:                APFS Volume VM                      3.2 GB     disk1s4

/dev/disk2 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *3.0 TB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:          Apple_CoreStorage Macintosh HD            1.7 TB     disk2s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk2s3
   4:       Microsoft Basic Data BOOTCAMP                501.0 GB   disk2s4
   5:          Apple_CoreStorage Macintosh HD            801.4 GB   disk2s5
   6:                 Apple_Boot Boot OS X               134.2 MB   disk2s6

/dev/disk3 (external, virtual):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                  Apple_HFS Walter Storage         +2.5 TB     disk3
                                 Logical Volume on disk2s2, disk2s5
                                 F412314E-8209-46FA-905B-7D0E2789F915
                                 Unencrypted
  • Before posting an answer, have you tried holding down the option key at startup and selecting to boot windows from the external drive? – David Anderson Mar 31 at 22:22
  • I have. The external drive doesn't show up as an option. Once booted, both the Mac and Windows partitions are visible, so I know both are functioning. – wawaupnorth Apr 18 at 18:26
  • Well, I need more information. Can you edit your question and add the following? What version of OS X (macOS) do you have installed? What is the model year of your iMac? With the external drive connected, can you post the output from the Terminal application command diskutil list? Assuming your Windows volume is labeled BOOTCAMP, can you post the output from the command ls "/Volumes/BOOTCAMP/Boot/BCD"? – David Anderson Apr 18 at 20:18
  • I've made the edits to the post that you asked for. Thank you for your help in this. – wawaupnorth Apr 19 at 1:47
  • For some reason, I am now able to "boot" from the partition, however I get a warning saying that Boot Data was missing or corrupted, referencing the BCD file you asked about. – wawaupnorth Apr 19 at 1:50
1

Windows appears to be setup to BIOS boot. This is unusual since 2013 Macs are suppose to have Windows 10 installed to EFI boot. Perhaps you originally had a previous version of Windows installed and upgraded to Windows 10. A BIOS booting Windows requires the drive to be MBR or hybrid partitioned, were as, an EFI booting Windows required a GUID partitioned (GPT) drive. The output from sudo fdisk /dev/disk2 can be used to determine the type of partitioning.

Macs can not BIOS boot Windows from USB drives. EFI booting usually works with most newer Mac computers.

You probably will need to complete the following steps.

  1. Determine the type of partitioning. If necessary, remove the hybrid partitioning.
  2. Create or rebuild the boot files in the EFI partition (disk2s1).

Once you post the output from the fdisk command, I will add instructions on how to complete the steps.

The procedure posted in this answer relies on the use of the command gdisk. The command is not included with macOS. Included is the procedure for installing this command.

Note: Disk identifiers (disk2 for example) and partition identifiers (disk2s1 for example) can be set arbitrarily by macOS. I tried to post the correct identifiers. Before executing a command, you may want to review the output from diskutil list to insure the correct identifier is being used.

Removing the Hybrid Partitioning of the External Drive

Install gdisk

  1. Download gdisk from the internet. I assume this will be downloaded to your Downloads folder.
  2. Execute the command given below to remove the quarantine.

    xattr -d com.apple.quarantine ~/Downloads/gdisk-1.0.4.pkg
    
  3. Use the Finder application to install gdisk.

Use gdisk to Remove the Hybrid Partitioning.

  1. Use command given below to determine the identifier for the drive. I will assume this is disk2, as shown in your question.

    diskutil list
    
  2. Execute the following commands to perform the conversion.

    diskutil unmountdisk disk2
    gdisk /dev/disk2
    x
    n
    w
    y
    

    Below is an example.

    $ diskutil unmountdisk disk2
    Unmount of all volumes on disk2 was successful
    $ gdisk /dev/disk2
    GPT fdisk (gdisk) version 1.0.4
    
    Partition table scan:
      MBR: hybrid
      BSD: not present
      APM: not present
      GPT: present
    
    Found valid GPT with hybrid MBR; using GPT.
    
    Command (? for help): x
    
    Expert command (? for help): n
    
    Expert 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/disk2.
    Warning: The kernel may continue to use old or deleted partitions.
    You should reboot or remove the drive.
    The operation has completed successfully.
    
  3. Eject the drive by executing the command given below.

    diskutil eject disk2
    
  4. Unplug the drive and plug back in. Execute the command below to see if the drive identifier has changed.

    diskutil list
    

Create or Rebuild the Boot Files in the EFI Partition

  1. You will need a Window 10 installer flash drive. If you do not have this flash drive, then you will need to build one. First download the 64-bit Windows 10 iso from this Microsoft web site. This can be done while running macOS. Currently, I would recommend the Windows 10 April 2018 Update. Next you will need 16 GB or larger flash drive. For your model Mac, I believe the Boot Camp Assistant will aid in the creation of the Windows installer flash drive. If not, let me know.
  2. Boot to the flash drive. Hold down the option key at start up. From the Startup Manager, select the external drive icon labeled "EFI Boot".
  3. When the window below appears, press the shift+F10 key combination to open a Windows Command Prompt window.

    xy1

    The Windows Command Prompt window should appear, as shown below.

    xy2

  4. Use the diskpart command to determine the volume number and drive letter for BOOTCAMP partition. In my case, this was volume 2 and drive C:.

    diskpart
    list volume
    
  5. Enter the command given below to select the BOOTCAMP volume on the external drive. If your volume number is not 2, then make the appropriate substitution.

    select volume 2
    
  6. Enter the command given below to select the EFI partition on the external drive.

    select partition 1
    
  7. Assign this partition the drive letter S:.

    assign letter=s
    
  8. Enter the command below to exit the diskpart command.

    exit
    
  9. Here, I will assume the BOOTCAMP partition is assign the drive letter C. If not, then make the appropriate substitution. Enter the command shown below to create (or rebuild) the boot files.

    bcdboot C:\windows /s S:
    
  10. Enter the command shown below, to close the Windows Command Prompt window.

    exit
    
  11. Click on the red button with the X to close the window.

    xy1

  12. Click on the Yes button to cancel the installation.

    xy3

Appendix

Descriptions for the main gdisk commands is given below.

b   back up GPT data to a file
c   change a partition's name
d   delete a partition
i   show detailed information on a partition
l   list known partition types
n   add a new partition
o   create a new empty GUID partition table (GPT)
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   sort partitions
t   change a partition's type code
v   verify disk
w   write table to disk and exit
x   extra functionality (experts only)
?   print this menu

Descriptions for the expert gdisk commands is given below.

a   set attributes
c   change partition GUID
d   display the sector alignment value
e   relocate backup data structures to the end of the disk
f   randomize disk and partition unique GUIDs
g   change disk GUID
h   recompute CHS values in protective/hybrid MBR
i   show detailed information on a partition
j   move the main partition table
l   set the sector alignment value
m   return to main menu
n   create a new protective MBR
o   print protective MBR data
p   print the partition table
q   quit without saving changes
r   recovery and transformation options (experts only)
s   resize partition table
t   transpose two partition table entries
u   replicate partition table on new device
v   verify disk
w   write table to disk and exit
z   zap (destroy) GPT data structures and exit
?   print this menu

References

Fix Windows after Ubuntu installation

  • I believe it was originally a windows 7 install, upgraded to 10, so that would make sense. I posted the output from the commands you mentioned on the original question. Thanks. – wawaupnorth Apr 19 at 19:22
  • I ran everything as you said and printed the output above. I'm not sure what I'm looking for to see if it was successful. Thank you again for your help. – wawaupnorth Apr 26 at 17:14
  • When viewing the icons in the Startup Disk pane of the System Preferences application, do you see an icon labeled "BOOTCAMP Windows"? It would also be helpful if you could include output from sudo fdisk /dev/disk2 and sudo gpt -r show /dev/disk2. – David Anderson Apr 26 at 18:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .