Installing Windows 7 on MacBook Pro without SuperDrive

Right after I swapped my SuperDrive to second internal HDD I was graving to move my 20 GB Boot Camp partition to the other drive and make it bigger, so that I don’t have to carry another USB disk for my games.

UPDATE: From the comments it seems that on Mountain Lion 10.8.2 you do NEED rEFIt for the Windows partition to be visible in Boot Menu.

UPDATE 2: I have confirmed lately that the official Boot Camp Assistant method does work on MacBook Pro Retina (Mid 2012) with OS X 10.8.2 (12C3012) on it. So if your Mac came without SuperDrive from the Factory, try the official method first.

UPDATE 3: @Jorge_Rui posted excellent step-by-step instructions down in the comments on how he got it working. Take a look.

What didn’t work

You can skip to Success Story if you are not curious. Also, YMMV, so if my method does not work, you can try one of these and see if you have success with them.

USB-booting installer

Boot Camp Assistant warning that I need optical drive

First I tried to fake Boot Camp Assistant to create bootable USB stick, but that did not boot for some reason. Also, booting from USB-DVD did not work. Then I used Virtual Box to fully install Windows on physical partition and that did not show up in the boot menu either. With all of these options I also combined rEFIt to no avail.

EFI, rEFIt and File Vault 2

Intel Macs have been using EFI instead of BIOS for booting up the system since the beginning. If Boot Camp dual-booting is not enough for you, there is the rEFIt alternative boot manager that gives you more power over boot options. But it turns out that although rEFIt installs without any complaints, it fails to load from File Vault 2 encrypted partition, which is understandable as I haven’t yet provided my passkey.

So, running out of options, I decided to decrypt my partition, which I’d have had to do anyway sometime to be able to resize the encrypted partition over the previous Boot Camp partition (Disk Utility is not able to resize encrypted partitions). I still had rEFIt installed and I retried some of previous failed attempts, including booting from USB, but still no effect. Finally I noticed that I had actually two boot loaders – Mac’s own Option-key triggered menu and then the rEFIt that was installed on the primary Mac OS X partition. While most of the time Mac menu didn’t show me anything besides primary partition and Recovery HD, rEFIt showed me Windows partition (sometimes two of them pointing to the same partition), but was not able to boot from them (giving different errors from EFI failures to Windows complaining that winload.exe is missing or corrupt). In the end I removed rEFIt altogether.

The Success Story

OK, enough of the failures. What ended up working was a variant of the Virtual Machine method, that used Virtual Box to make the partition bootable and then copy over the installation files to that partition. Unfortunately I can not find the original post that lead me to the idea, but it was probably somewhere in this thread.

Note: At this point I had tried multitude of setups already and I can’t be sure that all of the steps below are necessary nor that all of the required steps are listed. If you find some errors, please comment on them.

Create partition

Create a partition in some way. You can use Boot Camp Assistant to shrink existing HFS+ partition and create a FAT32 partition or you can do it yourself via Disk Utility or diskutil command line tool. I had my partition left over from one of the tries with Boot Camp Assistant and USB DVD-drive. Using Boot Camp for this step has the side effect that it gives you the option to download latest Boot Camp drivers for windows (just have a USB stick ready to store them).

Let Boot Camp Assistant download latest support software

Set up Virtual Box guest

Now eject your Boot Camp partition so that it can be remounted elewhere. (Thanks, Bill, for pointing out that I had omitted this step). I used Oracle’s excellent (and free) Virtual Box virtualization tool. To get Virtual Box to use your physical Boot Camp partition, you have to make a raw disk image that is bound to your physical disk. In my case it was the disk1 and I partition number 3 (disk1s3 as seen from Disk Utility’s Info). To create the image, change directory to some good enough place to hold the file and enter (NB! adapt to your needs):

sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk1 -filename bootcamp.vmdk -partitions 3

Next, give yourself access to the physical disk and the just created image files:

sudo chmod 777 /dev/disk1s3
sudo chown $USER bootcamp*.vmdk

Last thing is to actually set up Virtual Box Guest OS. There is nothing special there, except that you specify your * bootcamp.vmdk* as the startup disk, instead of creating new one.

Installing Windows

Install Windows to the Virtual Box guest as usual. I shut down the Virtual Box client at the “Setting up Windows for first use” step, but according to some posts (links to which I again have misplaced), you could stop even at the first reboot, though it didn’t seem to work in my case.

Now you should have a partition that is visible to the Mac Boot menu, but not a working Windows installation.

Next step is to restart the install, only this time on the real hardware. To accomplish this, mount the Boot Camp partition, delete everything and copy over all files from the installer ISO (Alo commented below that on his newer Mac Mini he did not need this step, but instead installed rEFIt to boot the new partition). NB! You probably need to have some kind of NTFS driver, either NTFS-3G (see my blog on how to get NTFS-3g working in Lion) or some commercial driver like the Paragon NTFS for Mac OS X I have installed.

After you copy over the files, reboot your Mac and hold down Option-key to access the Windows partition. Now install windows as you would if you had with optical disk attached.

Conclusion

Now that I have finally managed to jump through all those hoops to get Windows installed, I can only wish that Virtualization advances enough that I could play those old Call of Duty games without even rebooting into Windows. Until then, I hope to preserve my newly installed Windows. ;-)

Be Sociable, Share!

Related posts:

  1. Ruby (on Rails) toolchest for Windows users
Leave a comment ?

86 Comments.

  1. Hi, it’s worked with rEFIt, I see the windows partition in the boot menu, but after have copied all the files (exept “bootmgr” because it was impossible to copy) and boot on the windows partition, I have a black screen and the gray ” – ” blinking, but nothing happens.

    I tried on an Macbook Pro 2012 10.8.2 wit win 7 64bits.

  2. This blinking cursor has been reported before.
    My own machine occasionally shows this blinking cursor too, even long after the initial install, but after a few minutes it continues to boot normally – beats me what it’s doing to pass the time.

    I suggested to the other commenters to retry the install, but they didn’t report back with result, so I don’t know more.

  3. I deleted everything including rEFIt, do I have to install it before or after the windows installation? There is no problem if I don’t copy bootmgr?

    I will reinstall everything, retry a last time and keep you up.

    Thank you for your help.

  4. I missed in your last comment that you failed to copy over bootmgr. This file is vital to the boot process and you cant do it without it.

    Retry copying the files and look around for solutions how you can copy over the bootmgr. I personally did not have any problems with copying files – all went over OK.

  5. Well, I’ve tried everything and it seems don’t work on 10.8.2.

    By the way, thanks for your help :)

  6. BernardBlack

    I’m having some problems here. Running 10.8.2 on a 2010 Macbook Pro. 128 GB SSD, half of it for Mac OS X and another partition designated for Windows 7. I created a FAT32 partition using Disk Utility since Bootcamp somehow wouldn’t allow me to do it. Next thing i did was setting up the Virtual Box guest. Adjusted disk and partition number (0 and 4) and hit enter. It created 2 files, “bootcamp.vmdk” and “bootcamp-pt.vmdk” but NOT the dir /dev/disk0s4. So the chmod command obviously cannot work. I could give myself access to the 2 files however. Sad thing is, I’m still not allowed to open the file in Virtual Box. It says “Permission problem accessing the file[...](VERR_ACCESS_DENIED)”. Could anybody help me out here?

  7. BernardBlack

    Oh my god .. i got it. /dev/disk0s4 is nothing that is created, it is there already. My fault.

  8. BernardBlack

    Now that I spent half day, I can only confirm what bowriss already stated: It won’t work on 10.8.2. I tried several methods.

  9. It works for me on OSX 10.8.2

    I’ve tried several times, until it worked.
    Installed windows on the same drive has OSX.
    Partioned and formated drive on NTFS (Paragon NTFS), semi-installed windows 7 has stated, and reformanted the drive in virtual ambient.

    Reboot, and windows start’s to install, until the moment I have to select the drive to install (DON’T FORMAT IT again, or windows will loose installation files). Windows finished instal.

  10. Hi,

    @Jorge Rui : Please could you tell me what is your macbook pro model?

    @BernardBlack : did you try with tuxera too? Maybe the problem could come from tuxera?

  11. I’ve just got it working on 10.8.2 but I needed to install rEFIt, otherwise it wouldn’t see the windows partition in the disk selection screen.

  12. Thanks for these instructions, everything worked well until the end where I had to use rEFIt. But everything is working now.

    I just had a question about removing the contents of the Windows install files (from the ISO). I removed them all but I still get a boot menu asking if I want to boot into Windows 7 or the Windows 7 Install Disk. Is there any way to get rid of this initial boot menu or will I just have to live with it?

    Thanks in advance

  13. Newer Windowses use BCDEdit for managing boot menu. I’m not familiar with it enough to give exact command line, but I’m sure Google can help you there.

  14. Thanks for the tip. If anyone wanted to know:

    1) Run Command Prompt as an administrator
    2) Type in “bcdedit” to get a list of boot options
    3) Find the one that has the description of “Windows Setup”
    4) Run the command line “bcdedit /delete {identifier of the Windows Setup option}”

  15. Regarding the blinking cursor problem I found a solution, that worked several times for me now.
    I’ve had the blinking cursor after the first steps of the installation were finished. What helped, was booting into OS X and from there starting the newly-created Bootcamp partition in a VM (VMWare, in my case, but others may work too). Windows boots up without any problems. Then, on Windows-on-VM, I ran a tool called “EasyBCD” (v. 2.1.2 in my case) which I found on the Internet, I believe it is free software. Somewhere in this tool, you can “Re-Create/Repair boot files”, thats only one click, as far as I remember.
    After that, Windows boots natively without any problems (and without rEFIt or rEFInd) when selected via Option-key or via “startup drive” in OS X.

    So the steps in short (tl;dr):
    1. Install Win7 in any way (Bootcamp assistant or copy over cloned image)
    2. When during the first bootups the blinking cursor occurs, reboot your machine into OS X.
    3. Install/start virtualization software and import your Bootcamp partition
    4. Start Bootcamp in Virtual Machine
    5. Install EasyBCD on Virtual Bootcamp
    6. Click “Re-Create/Repair boot files”
    7. Close EasyBCD, power down virtual Bootcamp
    8. Reboot your physical machine into Windows (Option-key at startup)
    9. Voilà, blinking cursor gone.

    Thanks to the Author of this blog post and to mobilemacs podcast for mentioning it!

  16. Thanks! This is good news for everybody.

  17. thanks for the guide, i keep getting the winload corrupted error upon boot? can you help me please i’m really desperate to run windows on my mbp.. thanks a lot!

  18. Hi, Max.
    I’m not particularly sure about that error. Have you tried the tool that Helge mentioned in the comment? Maybe that helps.

  19. Success installing windows 8 on a optibay SSD second drive. MacbookPro 17 – Ver: 6.1 Runing OSX 10.8.3 running the latest bootcamp

    All ok. This is the only method that really works for me

    My process: Hack on the bootcamp app to activate USB drive installation:

    on the info.plist:

    New line Here ! MBP61.0057.B0F
    IM41.0055.B08
    IM42.0071.B03
    IM51.0090.B03
    IM52.0090.B03
    IM61.0093.B01
    MP11.005C.B04
    MB11.0061.B03
    MBP11.0055.B08
    MBP12.0061.B03
    MM11.0055.B08
    ….
    

    PreUSBBootSupportedModels

    New Line here ! MacBookPro6,0(I know should be 6.1, but only works with 6.0)
    MacBook7,1
    MacBookAir3,2
    MacBookPro8,3
    MacPro5,1
    Macmini4,1
    iMac12,2
    

    Win7OnlyModels

    “And again here” MacBookPro6,0
    MacBook7,1
    MacBookAir3,2
    MacBookPro5,5
    MacPro2,1
    Macmini4,1
    iMac10,1
    

    Then:

    1. On bootcamp assist activate all option, this should put the ISO image on a USB drive, and bootcamp drivers for windows 7 and 8, and at the end create a partition for windows, more than 50Gb at least…
    2. installed rEFIT (I need that one, whiteout it I can’t see the drive on the first boot)
    3. Install Virtual Box.
    4. Install Paragon NTFS for Mac OS X
    5. Open Terminal:
    
    sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk1 -filename bootcamp.vmdk -partitions 2
    sudo chmod 777 /dev/disk1s2 sudo chown $USER bootcamp*.vmdk
    

    Do the thing with Virtual Box, and install windows on the bootcamp partition you just created. Stop Virtual box on the first reboot of windows (On windows Close Virtual Box Delete all files on the bootcamp folder (strange but you have to do it…, you don’t have to see system files, then AppleShowAllFiles could be on False You don’t have to empty the trash (if you do it, it may crash your MAC, the one I have Crashes). Open the ISO File of Windows and move all files to BootCamp partition (the one you just cleaned of files. (I’ve made this with the files that where on a bootable flashDrive that I’ve made earlier with Windows 8 on it, I didn’t use the iso directly)

    1. Restart the MAC
    2. Let OSX load 1 time (to be certain that rEFIT loads)
    3. Reboot again
    4. You should see rEFI (if don’t, press ALT on the reboot cycle)
    5. Chose EFI Windows (or something else)
    6. Windows should start (if that doesn’t happen, it’s because you have choose the wrong partition, reboot again, and choose other partition, try until you find the right on. Let windows start,
    7. At some stage, windows will ask you to select a partition for it to install, choose the bootcamp (the one you made earlier) and DON’T FORMAT IT
    8. Click Next
    9. Windows will install without any problem. It may reboot a lot of times, be sure to let windows reboot on the right partition, since you have eEFI, you don’t have to press ALT all the time.
    10. Don’t bother with the repairing disk, it is normal on windows 8, and if I can remember on Windows 7 too…
    11. Configure windows has you like.
    12. Install Bootcamp drivers.
    13. Reboot
    14. Enter on Mac Partition
    15. Login
    16. Go to your Root folder and rename folder EFI, to EFI_old (you may need it again)
    17. Reboot
    18. Press ALT
    19. Windows disk partition will show on apple boot screen Select Windows.
    20. Start using Windows 8 (Don’t use it to much, because that apple has a worm on it Done
  20. Hi every one, thanks for the lot of explanations, however i am still running into some trouble.

    When I install Windows 7 on my internal NTFS partition through VirtualBox, it does not boot: even in VirtualBox, I get the blinking cursor. Of course, same behavior when I try to boot it directly through rEFIt. As a result, I have no way to install EasyBCD.

    After deleting the windows files and copying the ISO installer files to the NTFS partition, no way to get Windows to boot either: blinking cursor forever.

    Of course, I tested the ISO by creating a normal VM (no real partition) and installing, works fine…

    Thanks for any advice.

  21. Thank you so much! Finally a guide that actually works… well kind of. It all works until after the first reboot during the windows installation where it gives me an error saying windows could not update the computer’s boot configuration. Installation cannot proceed.
    What can i do about this?

  22. Can’t get it working :( .

    After I install Win8 with VirtualBox, I clean the harddrive and then I copy everything from the USB to the harddrive.
    Then I reboot mine Mac, and then I get the (hateful) Winloader.exe error.

    Can’t fix it :(

  23. Do you have rEFIt installed? Comments seem to indicate that it is required, though I had it uninstalled at the time (but quite possibly something remained still that helped me through the process).

  24. Could it be that you created MBR partition table on the disk, but Windows installer detects that your laptop is actually EFI system and so expects GUID partition table instead?

  25. Hey.

    I’m getting stuck at creating a new virtual machine.

    Failed to open the hard disk /Users/Tanel/bootcamp.vmdk.

    The medium ‘/Users/Tanel/bootcamp.vmdk’ can’t be used as the requested device type.

    Result Code: NS_ERROR_FAILURE (0×80004005)
    Component: Medium
    Interface: IMedium {29989373-b111-4654-8493-2e1176cba890}
    Callee: IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}
    Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

  26. Thank you so much for this guide.

    I encountered a problem when creating the virtual drive for VirtualBox. I unmounted the partition, executed the first line suggested in this article and when I went back to mount it again, it wouldn’t. I then restarted my computer and the partition had disappeared and my drive had been reset to a single Mac partition. I now get this (even after deleting the Bootcamp partition and restarting the process again:

    VBoxManage: error: VMDK: could not create new file 'bootcamp.vmdk'
    VBoxManage: error: Error code VERR_ALREADY_EXISTS at /Users/vbox/tinderbox/4.2-mac-rel/src/VBox/Storage/VMDK.cpp(3557) in function int vmdkCreateRawImage(VMDKIMAGE*, VBOXHDDRAW*, uint64_t)
    VBoxManage: error: Cannot create the raw disk VMDK: VERR_ALREADY_EXISTS
    VBoxManage: error: The raw disk vmdk file was not created

  27. This seems to indicate that you specified a filename that already exists in that folder. Try with another name.

  28. Tanel, first, I'd look at the permissions. Did you do this step: sudo chown $USER bootcamp*.vmdk

    If this does not help, then google around – I won't be of any more help there.

  29. Just tried it today on Mavericks 10.9 and it works great. I have a newer Mac Mini, so I could skip the step where you delete the contents of the bootcamp drive and copy over the install files. I just installed rEFIt, booted from the drive, and finished the Windows Setup I’d started in VirtualBox.

  30. Nice! I’ll update my post with this new info.

  31. This method still works wilth 10.9.1, Windows 8.1 64 bit and virtual box 4.3.6.
    Tried on iMac 27′ late 2009

  32. I’m trying this on a MacBook Pro Mid 2010 that has a dead Super Drive.

    I’ve gotten to the point where I reboot after Virtualbox first part of the virtual box install. I’ve tried two different ways: removing all the files that installing under Virtualbox installed and copying the contents of the ISO into the bootcamp partition, and Alo said, and tried to just reboot and try to complete the Virtualbox started install natively.

    Any way I go about it, I get the missing winload.exe error.

  33. Forums suggest that rEFIt might be necessary for the first boot and when native windows install completes, rEFIt is not needed any more.

    Only other suggestion I can make is to check that you really removed all files and copied all files. There might be some hidden files that you missed.

    To be sure about it, use Terminal.app with

    rm -rf *

    in the correct folder. NB! In the correct folder. And then use, say

    rsync -arv /Volumes/WindowsCD/ /Volumes/BootCamp/

    This should make exact copy along with any hidden files, preserving file dates etc.

  34. Holy crap, this tutorial actually worked. Thanks a lot guys. I do have to say that there are some skipped steps that caused a lot of headache (for instance, I spent a lot of time looking through VirtualBox’s settings to figure out my ‘no bootable disk’ error — turns out I had to point the CD-ROM boot setting to the Windows ISO, and the commands returned some errors because it wasn’t clear where the bootcamp vmdk drives were being created). With that said, nothing is perfect, and so far this is the ONLY solution I have found to work on an Early 2011 MBP.

    Well done.

  35. Hi: I need help :) I been working on installing windows 8 on my Mac.

    Spec of equipment:

    Mac Book Pro Mid 2012
    Bootcamp Version: Version 5.0.4 (473)
    Bootable USB Flash Drive: Type Scan disk 4 GB windows 8 pro iso image but without the driver and the 2nd Scan disk USB flash drive with 32 GB with the Bootcamp Drivers downloaded and saved to this drive.

    Please Note: I also have the original back up installation disc for Microsoft 8 Prof 64 from Microsoft where I purchased it from.

    1st Bootcamp is not recognizing the Original Microsoft 8 Pro backup disk from microsoft itself.

    Solution: I created the New Image from the Original Microsoft installed disc in my desk top and changed the extension to .ISO then burned the ISO image into the newly purchased DVD+R. Then I ran Bootcamp Once again and it get the following error message “The installer disc could not be found — Insert your Windows installer disc and wait a few seconds for the disc to be recognized. Solution

    2: Created a bootable usb drive with bootcamp assistant successfully with bootcamp. Yes I close, ejected or un-mounted any image that was open or had been previously used then i restarted the Mac. Next, I start the bootcamp assistant tool once again then i get the same insert your windows installer disc message.

    3: Then I try to resolve the installer disc not found issue: this are the steps i took: a). Lauch disc utilities
    1. Selected the top most drive 750 GB Macintosh HDD
    2. On the right you’ll see 5 tab buttons: First Aid | Erase | Partition | RAID | Restore.
    3. Choose Partition. Then I clicked + to add another partition size of the partition was 222 GB
    4. Change the Name of the Partition to BOOTCAMP
    5. Change the Format to MS-DOS (FAT)
    6. Click Apply to save the changes and then reboot your Mac and we’ll begin Windows installation.
    7. During reboot, press and hold the alt/Option key and you’ll be presented with drives to boot from.
    8. Use the arrow keys and return button to select the Windows yellow USB key drive containing your Windows 8 installation files.
    9. This will begin the Windows install. –> then i get the following message: “Booting from Boot Camp Assistant created USB Drive…Failed to load BOOTMGR”.

    4: Take the Mac to best buy and let them resolve the issue and charge me like a million dollars for it :’( since i have no other idea who to get this bootcamp working at all. This has been a terribly lengthy issue and it is not as simple as it is claimed to be since i started with the Original Windows Disc Purchased from Microsoft and I have the Optical disc drive which it should be simpler from what I understand.

    Please can you help It would be of great help. :)
    My email address is jramirez0802@yahoo.com

  36. From what I could gather, all your problems seem to stem from your installation media. First thing I would do is check that against another computer, preferably a PC. See if it boots there.

    IMHO BootCamp Assistant does the following steps:

    1) partitions the hard disk for windows
    2) configures startup disk to be the BootCamp disk (so that if windows installer will reboot back into bootcamp automatically)
    3) optionally download Bootcamp drivers
    4) optinally prepare a bootable USB stick for the computers that do not have optical drive

    All of the steps can be done manually, but w/ BCA it is just easier.

    For your install to succeed you must be able to:
    a) boot any installer on your MBP
    b) boot your installer media somewhere

    If any of the above fails, you have found your problem to work on.

    So, you could try the following

    verify that the installer media works in a PC
    try the BCA-created USB stick in a PC
    try either one (CD or USB) in another Mac if you can
    try to find (i.e. lend from a friend) alternative Windows installer media and try to boot from that
    download and burn an arbitrary Linux LiveCD to a CD-R and try to boot that

    You could start with Linux b/c it is generally a lot less picky about its environment than Windows. Then move on to see if your media works somewhere else.

Leave a Comment

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>