Windows – Boot camp install of Windows 7 issue, no bootable devices

bootbootable-diskbootcampdual-bootwindows

So I have a 2010 15" macbook pro (MBP6,1) and I replaced the optical drive with a hard disk. I wanted to install windows 7 on the hard disk with boot camp with a USB and ISO image.

After searching I found that I need to modify my plist.info to allow my boot camp to create a bootable USB (since normally it doesn't have the option to create the USB for my model since it came with a disk drive).

After doing so and seemingly having a fine (but long) install process onto the USB. I told boot camp how much space to partition windows on and hit install.

Then the computer restarted. When it came back up it was stuck on a grey apple logo screen forever (I waited 15 minutes to ensure it wasn't just "thinking"). I force restarted and the next time it turned on it got stuck on the grey logo for a bit but then proceeded to go to a black screen that said " No bootable device – please insert a bootable device and hit any key". I tried hitting keys with he USB in but nothing happened.

I had to eventually remove the USB and reset PRAM to get it to boot into osx again

Is there any way to install windows 7 from a usb on my macbook pro using boot camp?

Best Answer

UPDATE

An improved procedure for installing Windows 7 can be found at Installing Windows 7 Pro 64 bit without DVD or Flash Drive

Note:

The updated steps, for installing Windows 8.1 using the procedure given below, can be found here.


My hardware and software differs from yours. I will first document how I tested my answer and then try to adapt the answer to your needs. Since this is a fairly long answer, the adaption will be given as a separate answer.

My computer is an iMac (20-inch Mid 2007). The version of OS X is 10.10.5. I will be installing Windows 7 Professional SP1 64 Bit. I have only one internal drive. It is a 1 TB hard disk using the Apple hybrid GUID partitioning scheme. Hybrid means Windows will see the drive as MBR partitioned, while OS X views the drive as GUID partitioned. I will be following Apple's recommendations and installing Window using the legacy BIOS. I also have a working internal optical SuperDrive which is not used to install Windows.

(Hint: For a better view, click on an image or open an image in a new window.)

  1. Aquire the Boot Camp Support Software (the drivers). The software can either be downloaded using the Boot Camp Assistant, downloaded directly from the Web or copied off a OS X installation DVD. See System requirements to install Windows on your Mac via Boot Camp for details. This procedure does not require the use of a flash drive. If your Boot Camp Support Software is stored on a flash drive, then follow the special instructions given in certain step that follow.
  2. Make sure your firmware is up to date. See EFI and SMC firmware updates for Intel-based Macs.
  3. Download and install a free copy of VirtualBox from Oracle. I used VirtualBox, Version 5.0.0 r101573, Copyright © 2015.
  4. Inside your "Documents" folder, create a folder named "VirtualBox". This is where you will keep the files created in the rest of the steps.
  5. Create a MS-DOS (FAT) formatted partition to install Windows. You can use the Bootcamp Assistant, the Disk Utility, or commands (distutil, gpt and/or fdisk) entered in a Terminal window. Other third party tools, such as gdisk, can also be used. Give the label for this partition the name "BOOTCAMP".
  6. Determine the disk and partition numbers of the partition named "BOOTCAMP". To do this, highlight the partition in the Disk Utility application and click the "Info" button. A popup window should appear. The values shown will be used in the next step.

    The information, in this pop up window, shows the disk and partition numbers are 0 and 4, respectively. If your numbers are different, you will need to substitute your numbers in the rest of the steps. If your partition number is greater than 4, then you can not install Windows on this partition. (Technically, this may not be true, but it is beyond the scope of this answer to explain how to do so.)

    Do not close the popup window.

  7. Open the Terminal application and enter the following commands in the Terminal window. This will set variables to be used in later commands. In the next command, replace α with the "Disk Number" shown in the Disk Utility popup window. The usual value for α is 0.

    DISK0=/dev/diskα
    

    In the next command, replace β with the "Partition Number" shown in the Disk Utility popup window. The usual value for β is 4.

    PARTITION=β
    

    The next command sets the variable PARTID to the disk identifier of the partition. This should be the same as the "Disk Identifier" shown in the Disk Utility popup window. The usual value for PARTID is disk0s4.

    PARTID="$DISK0"s"$PARTITION"
    

    Note: the letter s is lower case.

    Close the Disk Utility popup window.

  8. With the Disk Utility application still open, select "File→New→Blank Disk Image..." from the menu bar. In the popup window, enter the values shown below. Note: "Where:" should be the "VirtualBox" folder created in Step 4. If the Boot Camp Support Software is stored on a flash drive, you can use the default "Size:" of "100 MB".

    Save As: bcssoftware
    Tags:
    Where: VirtualBox
    Name: BCSSOFTWARE
    Size: Custom... (1.5 GB)
    Format: MS-DOS (FAT)
    Encryption: none
    Partitions: Single partition - Master Boot Record Partition Map
    Image Format: read/write disk image

    The popup window should appear as shown below.

    Click the "Create" button.

  9. Determine the disk number of the partition named "BCSSOFTWARE". To do this, highlight the partition in the Disk Utility application and click the "Info" button. A popup window should appear. The values shown will be used in the next step.

    The information, in this pop up window, shows the disk number is 1. If your number is different, you will need to substitute your number in the rest of the steps.

    Do not close the popup window.

  10. Using the same Terminal window, enter the following to set the variable DISK1. Replace γ with the "Disk Number" shown in the Disk Utility popup window. The usual value for γ is 1.

    DISK1=/dev/diskγ
    

    Quit the Disk Utility.

  11. Copy the Boot Camp Support Software to to the partition labeled "BCSSOFTWARE". I used the Finder application to do this. You can skip this step, if this software is already stored on a flash drive.

  12. Mark your partition as active in the MBR by entering the following in the same Terminal window. The input for the interactive command fdisk is taken from the variable INPUT. If a password is asked for, enter it.

    INPUT=$(printf  "f  $PARTITION\nw\ny\nq")
    sudo  fdisk  -e  $DISK0  <<<"$INPUT"
    

    Note: To display the value for the variable INPUT, use the command echo "$INPUT".

  13. Allow VirtualBox read/write access to your physical partition by entering the following commands in the same Terminal window. If a password is asked for, enter it.

    diskutil  unmount  $PARTID 
    sudo  chmod  go+rw  $PARTID
    

    This will allow VirtualBox to install Windows on your physical partition. Note: This access will only last until OS X is rebooted.

  14. Create the files that map the virtual partition and disk to the physical partition and disk image. In the same Terminal window, enter the following commands.

    cd  ~/documents/virtualbox
    sudo  vboxmanage  internalcommands  createrawvmdk  -filename  "$PWD/bootcamp.vmdk"  -rawdisk  $DISK0  -partitions  $PARTITION
    sudo  chown  $USER  bootcamp*.vmdk
    diskutil unmountDisk $DISK1
    vboxmanage  internalcommands  createrawvmdk  -filename  "$PWD/bcssoftware.vmdk"  -rawdisk  $DISK1
    

    Note: If a password is asked for, enter it.

  15. Open the VirtualBox application and click on icon above the New label. Enter or select the values shown below, then click the "Continue" button.

    Use the default settings except for the hard drive. Choose the "Use an existing virtual hard drive file" button. Navigate to the VirtualBox folder created in step 4. Open the "bootcamp.vmdk" file. Your window should appear similar to what is shown below.

    Click the "Create" button.

  16. Enter the following command in the same Terminal window.

    diskutil  unmountDisk  $DISK1
    

    Return to the VirtualBox application's "Oracle VM Virtual Manager" window and click on the icon above the "Settings" label. Next, click on the icon above the "Storage" label. Right click on "Controller: SATA" and select "Add Hard Disk". Choose existing disk by opening the file "bcssoftware.vmdk" stored in the folder created in step 4. The attachment "bcssoftware.vmdk" should appear as shown below.

    a16

    It has been reported by other users that the "Use Host I/O Cache" box needs to be checked on if VirtualBox boot fails with error VERR_NOT_SUPPORTED.

  17. Highlight the Empty CD/DVD and select "Choose a virtual CD/DVD file..." to attach your Windows installation iso file. (Hint: Look for the CD/DVD icons)

    a17

    Click OK to close the window. Your "Oracle VM Virtual Manager" window should appear similar to what is shown below.

    a18

  18. Before clicking the icon above the "Start" label to begin installing Windows, enter the following command in the same Terminal window.

    diskutil unmountDisk $DISK1
    
  19. When you reach the window shown below, select "Custom (advanced)".

    In the next window, click on "Drive options (advanced)".

    Select the "BOOTCAMP" partition and click on "Format". The error message shown below will disappear. Click on "Next" to continue installation.

  20. The rest the virtual machine installation will be repeated again after booting Windows on the physical machine. Use the provided answers when the following windows first appear. When asked a second time, you can provide your own answers.

    When the following window first appears, I would enter the Product Key and uncheck the "Automatically active Windows when I'm online" box.

    To be safe, I would not let any updates download or install until after the Boot Camp Support Software (the drivers) is installed. Therefore, I would click on "Ask me later" in the window shown below.

    VirtualBox creates a virtual Public network for your virtual machine. Therefore I would click on "Public network" in the window shown below.

  21. Once the installation has completed on the virtual machine, you need complete the following instructions to make a copy the MBR bootstrap code. From the Start Menu, select "Computer" to open a window containing the hard disk drives and devices with removable storage. Determine the drive letters for the hard disk drive labeled "BCSSOFTWARE" and the CD (optical) drive. The image below shows the drive letters on my computer are D: and G:, respectively. Your drive letters may differ from mine.

    Close the window and open a Command Prompt window run as an administrator. Select "Start Menu→All Programs→Accessories", then right click on "Command Prompt" and select "Run as administrator", as shown in the image below.

    In the Command Prompt window, enter the command shown below. If necessary, substitute your drive letters for G: and D:.

    G:\BOOT\BOOTSECT  /NT60  D:  /MBR
    

    The results of running this command on my computer are shown below.

    Close the Command Prompt window.

  22. Copy the Boot Camp Support Software from the partition labeled "BCSSOFTWARE" to the "C:\Users\Public\Public Documents" folder. I used the Windows Explorer to do this. You can skip this step, if this software is already stored on a flash drive.

  23. You need to prepare Windows to run on your physical Mac. Open the Windows Explorer and navigate to the "C:\Windows\System32\sysprep" folder. Open the "sysprep" application. Select "Enter System Out-of-Box Experience (OOBE)", "Generalize" and "Shutdown" as shown below. Click OK and wait for the virtual machine to shutdown.

  24. Once the virtual machine has shutdown, quit VirtualBox. Enter the following in the same Terminal window. These commands will update the MBR bootstrap code, set the Windows partition identifier to 7 in the MBR and then mount the partition. The input for the interactive command fdisk is taken from the variable INPUT. If a password is asked for, enter it.

    sudo  fdisk  -u  -y  -f  $DISK1  $DISK0
    INPUT=$(printf  "s  $PARTITION\n7\nw\ny\nq")
    sudo  fdisk  -e   $DISK0  <<<"$INPUT"
    diskutil  mount  $PARTID
    
  25. Close all other applications. Open System Preferences and select "Startup Disk". Highlight the "Untitled Windows" icon and click the "Restart" button.

    If something goes wrong, you will need to hold down the "option" key at startup to return to OS X. Hopefully, nothing will go wrong and Windows will start.

  26. When Windows finishing installing, install the Boot Camp Support
    Software (the drivers). This software is either in the "C:\Users\Public\Public Documents" folder, or on a flash drive.

COMMENTS

On OS X El Capitan (10.11) the System Integrity Protection does not allow editing the MBR with fdisk, so disable SIP following these instructions for the duration of the install.

I ended up having to create two user accounts. If you only want one account, you have two options. First, delete one of the accounts. Second, disable one of the accounts so it will not appear. The former can be accomplished from the Control Panel, the latter requires entering the command control userpasswords2 in a Command Prompt window. For example, below is the window were one can enable or disable the rpj account. If you need help let me know.