Installing Windows 8 or Windows 7 on a Mac without Superdrive with VirtualBox

Version française ici

It works GREAT with Windows 8!

 
 
October 29th, 2012 update: Works perfectly with Windows 8 RTM (the one sold)
 

July 25th, 2012 update: Works with Mountain Lion
 

June 6th, 2012 update: After 4 months and hundreds of testers, I can tell that everyone that has tried this tutorial, has been successful in installing Windows! Because this method just works!
 
 
Hello everyone,

I’ve been trying to install Windows 7 on my MacBook Pro that doesn’t have a superdrive and it’s been quite painful. But I’ve found a solution that works perfectly. I’ve written this post in French, but it seems legit to have a world wide audience for that solution that I hope will work for your too!

I’ve tried several tutorials on the web, but none has really worked. To do this one, I’ve been inspired by this article, which is really great… but didn’t do the trick to me!

If you are lucky, try Part 2 directly, it might work for you if you have a 2011 MacBook Pro. For others, start at Part 1!

What you’ll need:

The 3 big steps:

  • Create a « Generalized » Windows 7 installation
  • Create a BootCamp partition
  • Clone the « generalized » Windows 7 image onto the BootCamp partition

Let’s Go !
 

Part 1 – Create a « Generalized » Windows 7 image

First, we are going to create a Windows 7 installation that will not take into account the hardware on which it’s running. Indeed, when Windows is installing, it takes into account the hardware it’s running on to configure only the drivers it needs. But in this first step we’re installing it on a Virtual Machine, which is not a real PC, so we need to say to Windows: Ok, next time you boot, check the hardware and install any necessary driver.

Step 1: Install Windows 7 on the Virtual Machine

  1. Download and install VirtualBox
  2. Add a new virtual machine and name it Win7 (easier when prompting commands later), add how much RAM you want
  3. Add a VDI hard drive of type and then, choose dynamically allocated that uses 10 Gb (you’ll need less, but it is to be sure, and you can choose more, but it’s going to take longer in the last part of this tutorial)
  4. Launch the virtual machine and choose the ISO image of Windows 7 installer
  5. It’ll take two reboots to finish the installation

First step is done. Let’s start tricking Microsoft!
 

Step 2: Delete the « System reserved » Partition

Truth is, Windows has created two partitions when installing, to prepare the use of the built-in encryption technology called BitLocker. And this little partition is considered as the principal, which means Windows will eventually boot on this one and not the one we’d like to. This is why we need to delete this partition.

Just go and use this great article from Terabyteunlimited to do the trick. You’ll only need part 1 and 3 and to reboot the system between these two steps.

Step 3 : Generalize the Windows 7 installation with sysprep

I must say this step was the most painful to me, because I didn’t have any tutorial and needed to find why things didn’t work by myself !
What we’ll basically do here is create an installation of Windows that is independent of the hardware it’s booting on with the help of sysprep.

    1. Reboot your virtual machine (we’re never too safe…)
    2. Don’t ask me why BUT we need to stop the Windows Media Player Service
      1. Click on Start
      2. in the search box, type « cmd »
      3. On the application that has been found, right click and select « Use as an Administrator »
      4. Type this command « net stop WMPNetworkSvc » without the quotes
    3. Go to the directory C:\Windows\System32\sysprep
    4. In this directory, create a file and name it « unattend.xml« , without the quotes. If you don’t have the rights to create a file, then, go to the desktop and then copy it when the next steps are done.
    5. Be careful, when creating the file, it will automatically add the .txt extension. To change this, when on a folder window, hit « alt ». The menu shall appear. Under View, select « Folder Options ». In the window that appears, select the « View » tab and uncheck « Hide extension for known file types ». Then, you’ll see the .txt extension on the unattend.xml file. Erase the .txt extension and click Yes when prompted to change the file extension
    6. Copy-Paste this into the file:
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend">
     <settings pass="generalize">
          <component name="Microsoft-Windows-Security-Licensing-SLC"
processorArchitecture="x86" publicKeyToken="31bf3856ad364e35"
language="neutral" versionScope="nonSxS"
xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
                <SkipRearm>1</SkipRearm>
          </component>
      </settings>
</unattend>
  1. Save it (and copy it in the sysprep folder)
  2. Double click on sysprep app and select these options: (complementary info).
    1. In the « System Cleanup Action list » list, select « System Out-of-Box Experience (OOBE)« 
    2. Select the « Generalise » check box
    3. In the « Shutdown Options » list, select « Shutdown« 
    4. Click OK

 
If your virtual machine stops, you can be proud of yourself because you’ve done the most difficult part! Congrats!

If you get the painful error : « A fatal error occurred while trying to Sysprep the machine.« , you can try what a commentor has tried: run this command in cmd (without the quotes): « sysprep.exe /generalize /oobe /shutdown /unattend:unattend.xml »

If you still have the error, it might be because your Windows Media Player Service has been reactivated, try to turn it off once again. Also, adding a comment made by Julian:

If anyone is getting the « A fatal error occurred while trying to Sysprep the machine » for Part 1 Step 3 on the unattend.xml file. I suggest you type out the xml file instead of copying and pasting. This fixed the issue in my case. There may be some hidden characters or incorrect format. Also try saving the file as UTF-8 instead of ANSI.

Otherwise, well, you’re screwed… But you can be helped by opening the log file that can be found in that folder: C:\Windows\System32\sysprep\Panther. At the end of the log, you’ll find the error ID. Google might help you with it!

Well done to the ones that have gone so far, the end is near !
 

Part 2 – Create a BootCamp partition

I know that I’m giving the hardest solution here, and I hope it’ll go painlessly for you, but I had to do all these steps. If you can create the Bootcamp partition without these steps, you can go to the Third Part (the easiest!).

EDIT Thanks to Andrea Comment
You can easily bypass this Part 2 by installing Daemon Tools Lite For Mac. After downloading and installing this app, just mount the Windows ISO image in Daemon Tools. This will trick Bootcamp thinking you have a real Windows DVD.

Step 1: Create the BootCamp partition

Well, I must say that I’ve done that a long time ago, so I can’t recall everything, but these are the main steps.
As explained before, I don’t have a super drive. So I need to make the BootCamp Assistant think I’m a Mac with rights to boot on a USB drive. To do that :

  1. Go to Applications/Utilities
  2. Right click on Boot Camp Assistant and select « Show Package Contents« 
  3. Open the Contents folder
  4. Open Info.plist with TextMate or TextEdit. If you don’t have permission to do that, copy the file on your desktop. Once you’ve made the changes, copy back this file in the folder.
  5. Click on the top left Apple menu of your Mac, go to About this Mac. In the opened window, click « More Info« 
  6. In Hardware:
    1. Find Model Identifier (Mine is MacBookPro6,2)
    2. Find Boot Rom Version (Mine is MBP61.0057.B0C)
  7. In the previously opened Info.plist, copy paste the previous info on top of the list in the correct field:
      1. In « <key>DARequiredROMVersions</key>« , add a string that matches your Boot ROM Version. For instance, mine was:
    <key>DARequiredROMVersions</key>
       <array>
          <string>MBP61.0057.B0C</string>
          <string>IM41.0055.B08</string>
      1. Go to « <key>USBBootSupportedModels</key>« , and add a string that matches your model. It’s a bit tricky here, but you need to find the right model. For instance, I have a MacBookPro6,2, so I had to write: MBP61. If you have a MacBook Air3,2, you would have: MBA31 etc… You can try several times if it doesn’t work. Here is what I added:
    <key>USBBootSupportedModels</key>
       <array>
           <string>MBP61</string>
           <string>IM130</string>
  8. Once the info.plist has been saved (and copied where it was before), double click on Boot Camp Assistant, the greyed check box « Create a booting USB drive » shouldn’t be anymore.
  9. You should also check « download the last drivers« , you’ll need it later
  10. At last, create your BootCamp partition

What happened next was that the Mac rebooted, couldn’t boot on the USB drive, and couldn’t find how to boot on the Mac partition neither. Don’t panic, just press the hard button and reboot it again, plugging out your USB drive.
Edit Thanks to wilson :

At the end of Part 2, where we finish installing Boot Camp partition and rebooting i kept getting the « No boot partition found blank screen ».

Easy fix, just reboot again and hold down the « Alt/option » key so you can select your main MAC OS and reboot that way.

Congrats, you’re really near to have your Windows! Great job.
 

Part 3 – Clone the Virtual Machine Hard Drive onto BootCamp

This is the easiest part and the one that works every time!
In a few minutes, you’ll have your Windows 7!

Step 1: Prepare the Virtual Machine Hard Drive

    1. Download and open VirtualBox
    2. Go to the File menu and click on « Media Manager« 
    3. Click to select the partition that matches your virtual machine
    4. Click on Copy, a wizard should appear
    5. Choose Fixed size. (Really important)
    6. And then rename the file as: Win7_copy. (will be easier when prompting in Terminal)
    7. Once the copy is done, open Terminal (Applications/Utilities), go to the folder where your previously copied file is (to do that use the command « cd path/to/the/file ». VERR_FILE_NOT_FOUND error? read the first few comments below) and paste this command: (this command will create a raw file that can be understood by the Mac as a partition. You’ll be asked for your password)
    sudo VBoxManage internalcommands converttoraw Win7_copy.vdi win7.raw
  1. Once the copy is done, you’ll need to mount this partition. Enter this command:
sudo hdiutil attach -imagekey diskimage-class=CRawDiskImage win7.raw

 
If everything went well, you should have a disk image called « Untitled » on the desktop. And the end is pretty near!
Last step!
 

Step 2 – Clone the virtual machine onto the Boot Camp partition

This is the last step.

  1. Download and launch WinClone
  2. On the « Image » Tab:
    1. Source: Choose the partition « Untitled » that matches your virtual machine (should be disk2 or disk3)
    2. Click on Image and choose a folder to copy the files
  3. Once the copy is done, click on the Restore Tab:
    1. Restore Image: Choose the image that has just been done
    2. Destination: « BOOTCAMP »
  4. Click on Restore

DONE !

If you have a 2009 iMac, please read David comment !

Once the copy is done, reboot your Mac and maintain pressure on the alt button just before the « Dong » sound. You should have your Windows partition. Windows will then initialize with two restarts. You’ll need your CD key again.
You have your Windows !

I hope that I’m clear enough, and I can help some of you in the comment section. Hope you’ll make it !

Cheers.


272 réflexions au sujet de « Installing Windows 8 or Windows 7 on a Mac without Superdrive with VirtualBox »

  1. This post was my last chance to install win 7 on my imac mid’2007 without superdrive. SSD is in main hd bay and hdd on superdrive bay.

    I followed all steps and no problem, but after restore final image with winclone and reboot, choose bootcamp partition and press enter, my imac gets frozen and no windows splash, i have to shutdown manually.

    I gave up, i tried several tutos and no way.

    Thanks anyway for this wonderfull tuto.

  2. I’m having trouble restoring the mounted virtual machine in the new WinClone. I can see the ‘Destinations’ options: « Save Image » and my bootcamp disk which i named ‘WINDOWS’, but if I try to select them they are greyed out.

    Any help would really be appreciated, I’ve been going at this for so long and I’m so close. especially frustrating after shelling out for WinClone.

  3. what i do .you need 1)screwdriver 2)normal laptop dvd drive ,3)windows 7 installation disk .just remove internal super drive remove laptop dvd and insert windows 7 dvd on it and connect to mac install normally through boot camp…..mid 2010 imac is a shitt version imac i ever seen..!@@@##$$%$%%^

  4. I know this a very old post now, I have just followed your instructions mainly, except for partioning myself in Disk Util.

    I have been trying to sort out a triple boot system on a 4TB HD in a 2010 iMac.

    The whole process has been quite fraught.

    When partitioning make sure the Bootcamp is within the first 4 partitions, taking into account the EFI partition and Recovery HD partitions and also within the first 2TB of the drive, or else the Bootcamp partition will no show up as bootable.

    This took a while to figure out.

    Next issue I had was, BSOD every time I tried to boot from Bootcamp partition I had created using the above technique.

    I eventually managed to find out it was a 0x0000007B error
    Which is described here
    https://support.microsoft.com/en-gb/kb/922976

    I discovered that if you apply the fix in the above link to the VBox install before you generalise it with sysprep, it fixed the BSOD and allowed me to finish the installation.

  5. Hi guys,

    Followed every step, very successful all the way!

    but when i finish recovering the image with winclone, and then try to reboot, i keep getting the « no bootable device » black screen..

    my windows partition doesn’t show up either when i start with the command key.

    looked all over the comments, just can’t get an answer..

    thank you for your help!!

  6. So, I’m the one who can confirm…. THIS WORKS FOR WINDOWS 10
    I have a late 2011 MBP.

    Albeit with one important addition: you must disable networking for the virtual machine, it can’t connect to the internet until you shut it down with sysprep. Otherwise win update will install apps that sysprep won’t be able to uninstall and errors out (my error was caused by… f’in candy crush saga).

    Otherwise everything is as written above. My only gripe is with the drivers, Bootcamp 5.1 doesn’t solve everything, I don’t have wlan/touch/backlight and keys, but I hope that will be easier than this above. Thanks a lot OP!

  7. Just one addition to the above: you might find it difficult to quickly copy commands/unattended.xml or other files to the virtual machine without network, so the easiest way is to pack everything you need in an iso file (with UltraIso or similar) and you can load that up via Virtualbox CD drive.

  8. Thank you very much for this tutorial! I finally managed to install Windows w/o SuperDrive. I replaced the Drive on my mid 2010 iMac 21.5″ for a SSD and built a FusionDrive. Everything went good up to the point where Winclone fails to update partition table. Like mentioned before ( i also use El Capitan ) you have to turn off the CSRUTIL by entering El Capitans recovery mode. After successfully installing Windows 7 i use the MS Upgrade option to install Windows 10.

  9. That doesn’t worked for me. iMac restarts to OS X instant after « Loading Windows » screen (after restore with winclone). 🙁 Any suggestions?

  10. Thank you very much, after trying for more than 1 week, I was finally able to install Windows 10 to my Macbook Pro late 2011 with no DVD drive.

    What I did was easier.

    1. Create a boot camp partition with the assistant. Use DaemonTools to mount the ISO as disc, after that it is quite simple to create the partition.

    2. With VirtualBox, create a new virtualpc but use fixed size vdi disk for it. I used 20 GB to make it sure.

    3. Install Windows 10 to it, proceed until you see the desktop. Shut down the virtualpc when finished.

    4. Install Paragon Virtual Disk Mounter. It is free now. Mount the installed virtualpc disc.

    5. Install Winclone and clone the mounted disk to your boot camp partition.

    When finished, you can try restarting but if you don’t see windows partition, you can try installing refind.

    I hope this will help you.

  11. Hi there,

    I followed this guide and everything went fine. I have an issue only with the last step when I need to use Winclone. Could you please specify which versione has been used? I bought the basic one, but it doesn’t seem doing the job. Is there any open alternative in case?
    Thanks!

  12. Very helpful website thank you.

    Once I had initially created a boot camp partition using the daemon tools method with a windows 7 iso, I then tried an alternate method;

    I found by using VMWare Fusion (8) and using the included CLI tool vmware-rawdiskCreator I was able to create a raw vmdk to install the windows 7 iso directly onto the physical bootcamp partition and then use the sysprep method to generalize, effectively cutting out the cloning steps and the requirement to buy winclone. It also bypassed the BitLocker steps for some reason.

    I am not sure if virtualbox can do the same technique but might be worth looking into for compiling a completely free solution.

  13. This worked great for me on a Late 2006 MacBook with a broken Superdrive. I now have Windows 7 running on it. I wish I’d found this tutorial sooner since I had been trying all sorts of other methods that hadn’t been working for me. Thanks!

  14. Thx for this tutorial. I have the problem that my media manager is not showing the copy option. I am using a 4.x version because 5.x does not run on my old airbook. What i found out is that 3.X should have the option but that version does not start up. Any ideas?

  15. Thx for tutorial, all works good until i try to restore image on Bootcamp drive, appear error cant copy bcd and transffer was intrerupted! any sollution on this please? Thank You

  16. I solved the problem VERR_FILE_NOT_FOUND when I renamed Win7_Copy to W7W and moved it to the folder (in my case) /Users/emperor_kuzco/W7W (emperor_kuzco – name of my Mac) and type
    VBoxManage clonehd W7W.vdi W7W.raw –format RAW
    It is important instead of one dash should be 2 dashes! After follow the instructions below.

  17. Still works in 2020!

    Installed Windows 7 on a late 2009 Mac with High Sierra.

    I had some trouble using Winclone, for I didn’t want to spend 40 Euro on the official version. I found a free Version of Winclone 6 (had to use some Magic: Winclone goes through some lengths to make you pay. If it hangs up during Preparation of the Image or at 90% -> Make sure that your Mac has no Internet Connection while Cloning, that did the trick for me)

    I have a late 2009-Mac, so I followed the David Comment after the first reboot (I didn’t even get a Black Screen, it just froze in Boot-Selection): Here is a copy of the Comment:
    « b. After part 3 step 2, I rebooted to the windows partition. Windows started arranging itself and then I got a black screen. Apparently, this is a know phenomenon with late 2009 iMacs, but the apple fix (http://support.apple.com/kb/TS3173) doesn’t work in this case (at least, not straight forward).
    So, it turns out that this is a matter of windows getting faulty ATI drivers. All you have to do is delete this file C:\WINDOWS\SYSTEM32\DRIVERS\ATIKMDAG.SYS from the windows partition, and restart again. Then windows will thake basic drivers, manage to load properly, finish installation, and you are able to update the proper drivers, install bootcamp win software etc.
    Deleting this file is very easy: boot to OS x, install some ntfs driver (I used the 14 days free Tuxera), and then it is possible to simply delete the file. Windows managed to boot, and a week-long adventure in OS x came to a happy end. »

    For me the ATIKMDAG.SYS was in a sub-folder of drivers and had an additional ending ATIKMDAG.SYS.MUI. I deleted that file and then it worked. Just run a search « atikmdag » in drivers and you’ll find it.

    It really shows the quality of this tuto, that it still works nearly 10 after publishing – this is the way! Thanks to all of you.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *