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):

#!bash
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:

#!bash
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. 😉

102 thoughts on “Installing Windows 7 on MacBook Pro without SuperDrive

  1. 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?

    Like

    • 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?

      Like

  2. 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 😦

    Like

    • 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).

      Like

  3. 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 (0x80004005)
    Component: Medium
    Interface: IMedium {29989373-b111-4654-8493-2e1176cba890}
    Callee: IVirtualBox {3b2f08eb-b810-4715-bee0-bb06b9880ad2}
    Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

    Like

    • 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.

      Like

  4. 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

    Like

  5. 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.

    Like

  6. 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.

    Like

    • 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.

      Like

  7. 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.

    Like

  8. 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

    Like

    • 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.

      Like

  9. to everyone with the blinking problem, here’s what I did to fix it:

    I’m running on Mavericks 10.9.2 (Mid 2011 13″ MBP).

    I had the blinking screen problem with both VMWare and VirtualBox. Eventually I worked with VirtualBox bc it worked better, but it’ll probably work with Fusion. Well here are all the steps I did (don’t know which one was the one that fixed it since I did it all):

    give the virtual machine enough ram in virtual box (I gave it 4 gb)
    format the OSX created partition using the windows installer during virtual box stage
    right when you’re on the first “restart now” phase, eject the iso from virtual box – this should take it into setup and skip the blinking cursor stage.

    I also had problems with the deleting files part so ill chip in:
    1. you can’t copy boot and bootmgr (not bootmgr.exg or something) bc boot and bootmgr are hidden
    2. you gotta unhide in Finder, delete those two files, and then copy the contents of windows ISO

    Hope this helps!

    Like

  10. Hello,

    I’m french and i ve test with success solution for my MacBook Pro mid-2010.

    My solution in french :

    MacBook Pro 15″ Mid-2010
    SSD Crucial M500 240Go + Disque Dur 320 Go à la place du SuperDrive (Optibay)
    OS X 10.9.2 (Maverick)
    Modèle : MacBookPro6,2
    Version de la ROM de démarrage : MBP61.0057.B0F
    Version BootCamp : 5.1.2

    1 – Autoriser à créer un disque d’installation Windows 7 sur l’Assistant Boot Camp
    1.1 – Dans /Applications/Utilitaires/Assistant Boot Camp, clic droite “Afficher le contenu du paquet”
    1.2 – Ouvrir le fichier “Info.plist” présent dans le dossier “Contents” avec un éditeur de text (pour ma part Smultron (Fraise))
    1.3 – Dans la section “DARequiredROMVersions”, rajouter la version de la ROM de démarrage
    MBP61.0057.B0F

    1.4 - Remplacer la section "PreUSBBootSupportedModels" par "USBBootSupportedModels"
    1.5 - Ajouter le modèle de votre ordinateur
    <code><string>MacBookPro6,2</string></code>

    1.6 - Dans la section "Win7OnlyModels", rajouter le modèle de votre ordinateur
    <code><string>MacBookPro6,2</string><c/ode>

    1.7 - Sauvegarder
    1.8 - Ouvrir le Terminal, et revalider la signature de l'assistant Boot Camp par la commande suivante :

    <code>sudo codesign -fs - /Applications/Utilities/Boot Camp Assistant.app/</code>

    Résultat : <code>/Applications/Utilities/Boot Camp Assistant.app/: replacing existing signature</code>
    Remarque : OS X vous demandera d'installer des libraries de dév pour que la commande fonctionne

    2 – Préparer votre partition de BootCamp,
    2.1 – Laisser cocher “Créer un disque d’installation Windows 7 ou version ultérieur” + “Installer ou supprimer Windows 7 ou version ultérieur”
    2.2 – Créer votre clé USB bootable (DD externe fonctionne aussi) à partir d’un ISO Windows (obliger pour pouvoir créer la partition)
    2.3 – Faite une seconde partitions sur le SSD (pour ma part 80 GO pour Windows)

    3 – Redémarrer sur OS X

    4 – Installer rEFIt et VirtualBox (pour ma part version 4.3.10), redémarrer sur OS X

    5 – Démonter la partition BootCamp

    6 – Ouvrer le Terminal,
    – Exécuter les commandes suivantes :
    cd ~/Desktop/
    mkdir Install_Win
    cd Install_Win
    diskutil list
    /dev/disk0
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *240.1 GB disk0
    1: EFI EFI 209.7 MB disk0s1
    2: Apple_HFS OS X 159.2 GB disk0s2
    3: Apple_Boot Recovery HD 650.0 MB disk0s3
    4: Microsoft Basic Data 80.0 GB disk0s4
    /dev/disk1
    #: TYPE NAME SIZE IDENTIFIER
    0: GUID_partition_scheme *320.1 GB disk1
    1: EFI EFI 209.7 MB disk1s1
    2: Apple_HFS Sans titre 1 319.7 GB disk1s2

    sudo VBoxManage internalcommands createrawvmdk -rawdisk /dev/disk0 -filename bootcamp.vmdk -partitions 4
    sudo chmod 777 /dev/disk0s4
    sudo chown $USER bootcamp*.vmdk</code>

    7 - Ouvrir VirtualBox
    - Nouvelle machine
    - Choisisser bootcamp.vmdk
    - Configuer la machine virtuelle
    - Modifier l'ordre d'amorcage pour mettre le CD/DVD en premier
    - Selectionner l'ISO pour le CD/DVD
    - Démarrer la machine virtuelle et installer jusqu'a l'étape de saisir le nom de l'ordinateur
    - Arrêter la machine virtuelle

    8 - Redémarrer sur OS X

    9 - Ouvrer le Terminal,
    - Exécuter les commandes suivantes :
    defaults write com.apple.finder AppleShowAllFiles 0
    sudo killall Finder

    10 - Supprimer, tous les fichiers et dossier présent sur la partition BootCamp (sauf les dossiers ".Trashes" et ".fseventsd"
    NE VIDER PAS LA CORBEILLE

    11 - Monter l'ISO

    12 - Installer Tuxera NTFS ou bien Paragon NTFS pour pouvoir écrire sur une partition NTFS

    13 - Ouvrer le Terminal,
    - Exécuter la commande suivante
    rsync -arv /Volumes/NOM_ISO/ /Volumes/NOM_BOOTCAMP/
    Vérifier qu'il n'y a aucune erreur

    14 - Redémarrer sur OS X (histoire d'être sur qu'on part sur une base propre)

    15 - Redémarrer sur la partition Windows (pour ma part partition 4) avec rEFIt

    16 - Installer Windows 7, SANS FORMATER LA PARTITION
    A chaque redémarrage, redémarrer sur la partition Windows et séléctionner Windows et pas l'installation

    17 - Rédémarrer sur OS X

    18 - Avec l'assitant BootCamp, créer une clé USB avec les pilotes BootCamp

    19 - Redémarrer sur Windows et installer les pilotes BootCamp

    20 - Pour supprimer, le "DVD" d'installation de Windows :
    20.1 - Supprimer au démarrage avec bcdedit le "DVD"
    1) Exécuter la commande Prompt en tant qu'administrateur
    2) Tapez bcdedit pour obtenir une liste des options de démarrage
    3) Trouvez celui qui a la description de "l'installation de Windows"
    4) Exécutez la ligne de commande bcdedit / delete {identifiant de l'option d'installation de Windows}
    20.2 - Redémarrer et supprimer, fichiers et dossiers du DVD (attention ne supprimer pas les fichiers de boot, ex : bootmgr...)

    21 - Vous pouvez supprimer rEFIt si vous voulez (touche ALT au démarrage pour afficher la partition Windows)

    Like

  11. Success, MacBook Pro Late 2011 (MacBookPro8,2) running OS X 10.9.3

    Thank you so much for this post, I definitely wasted a lot of time over a few days trying to get Windows installed before I ran into this post.

    Like

  12. I replaced my DVD drive with an internal SSD recently and had a miserable time trying to install Windows 8.1 to this new SSD. My ultimate resolution is crude, but it works. I am not a programmer. I did have my DVD player in this case, converted to an external drive, and was able to use it. I used a combination of several techniques I found throughout the web to resolve my issues which I’ll outline here:

    The first problem I encountered was that windows did not boot from the DVD automatically using Bootcamp. I solved this by holding the alt key during reboot and selecting the EFI Boot. By the way this same method does not work with Windows 7.

    The second problem I found was that the partition formatting created by Bootcamp was unusable for Windows installation. I had to erase the partition and reformat as MS DOS Fat in Disk Utility. After restarting Windows install, Windows does not accept the drive without deleting and creating a new location using the Windows Installer

    The third problem I found was that Windows could not finish installation. It had a problem with the updating the boot configuration during the “Finishing Up” part of the install. I was able to solve this by going back to the OSX environment and repairing the permissions on the OSX partition using Disk Utility. From what I read this needs to be done twice. I’m not sure why, but it seemed to work. Additionally, upon restart, I reset the PRAM by hold alt + Command + P + R during start up. On the second start up I held alt and selected the EFI Boot again. This time all installed properly.

    Unfortunately, I had additional problems with the Bootcamp drivers. Specifically, the graphics drivers. I believe the Intel drivers. My screen was going black and I had to reinstall several time to figure the problem. I had read that the second graphics unit for the mac as issues in Windows 8. I disabled it in device manager. Regarding the drivers, I removed the Intel and Nvidia graphics drivers (for good measure) from my bootcamp install USB. The Bootcamp driver install worked fine even after removing items.

    This seemed to prevent the issue, but then the Windows update caused the same problem. It was downloading the drivers on its own! I therefore turned off hardware driver updates by selecting properties for the C: drive (right click), selected advanced settings,then Device Installation Settings. I selected No, let me choose and Never install driver software… I also unchecked the “Automatically get device app..”

    Some of this stuff at the end was probably more than needed, but I spent a week on this and wasn’t interested in any more installs. Anyway it all seems stable. I hope this is helpful to others, especially those not as technically sophisticated like myself.

    Like

  13. Another way I did mine that seems a bit easier was after linking the vmdk file to the physical partition, I fully installed windows on the virtual machine.
    –Once booted up I just went to C:/Windows/System32/Sysprep.
    –Open up sysprep.exe and make sure Generalize or OOBE is selected depending on which version of windows you have.
    –Then set to shutdown on the last dropdown.
    The system will clean itself of any personal identifiers it has with the virtual machine “hardware”.
    –The virtual machine will turn off by iself now.
    –Reboot mac to the Windows partition by using Alt/option on boot.
    –Windows will reconfigure itself for the hardware it is running on now, which is the physical computer and not the virtual machine.
    –All set, depending on your mac it could take 15-30 minutes to complete maybe.

    Like

  14. Hi everyone.

    I still have a problem while installing windows 7 on my VM with virtual box…

    The installation program need a NTFS partition to be installed but I don’t have on my mac. It seems that the .vmdk in not recognized as a partition.

    So I’m still at the 7th step…

    Any solution ?

    Thanks.

    Like

  15. I’ve followed Jorge’s directions but it seems that Windows will not start, thus I am unable to install Windows. I must say that I restarted my iMac (Mid 2007) after 5 minutes seemingly doing nothing. Or does it take much longer for it to boot Windows for installation?

    Like

    • I don’t think you did not wait long enough. More likely something went wrong. I think I have had similar problem once and just a rinse-and-repeat cycle did the work back then.

      Like

    • Of course try just rebooting first, but I’d wager that you’d have to repeat everything from the start (and make a good cleaning in between to undo changes to ensure clean state).

      Like

  16. Hey man I just wanted to say great job with that. I thought I was gunna have to go buy a whole new pc for windows cuz my superdrive isnt working and ofc the whole usb thing but all in all this was really sweet. If i may suggest being a little bit more clearer on some of the steps I almost couldnt figureout what to do half the time but I managed to pull through. This is a great way of doing it specially with being able to just reboot straight into the installing phase couldnt have ask for more! Thanks again man, good karma for you! :mrgreen:

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s