BootCamp Mac Disk Clone to a Larger HD

Below is my multi-day adventure into cloning my (BootCamped) Mac’s HD onto a larger HD.  I hope this is helpful to someone other than me, as nothing I tried that I found via online searching worked.  This apparently is not nearly as straight-forward as it probably should be, unfortunately.  Not TrueImage, DiskDirector, CopyCatX, VolumeWorks, CampTune, or GParted (or any combination of those that I tried) worked for this.  I’m going to outline the process that I did to get this to work (you’ll need both the Windows 7 and Mac OS X install DVDs, not to mention a couple of blank CDs to burn):

  • First of all, make sure to run a “chkdsk /f” from the command line in your (BootCamp) Windows partition.  It will have to reboot as it won’t be able to lock the drive while it’s in use.
  • Second, you’ll want to boot from the OS X install DVD and run DiskUtil and do a “Repair” (hold down the Option key, it changes the buttons at the top and “Repair” becomes available) on your OS X partition.  This is similar to a chkdsk /f on Windows.
  • Next, I download Clonezilla’s bootable ISO and burned it to a CD and booted it.  Clonezilla is the ONLY solution (and believe me, I tried many, including Paragon’s pay-for solution, CampTune, that proved useless) I have found that will accurately copy/clone and/or resize both the BootCamp/Windows AND the OS X partitions accurately (I know it runs partclone and some other stuff, but it’s got a “wizard” ;).
    • After you have burned Clonezilla, attach your new HD to your computer somehow (I used USB) and then fire up Clonezilla and run it taking all the default options until you get to the “Start_Clonezilla Start Clonezilla” menu option.  Go ahead and start Clonezilla and be sure to choose the source and target HDs properly and choose device-to-device and HD-to-HD for copying.  This will take a few hours to run depending on your HD size.
    • This creates an EXACT duplicate of your ENTIRE HD, the boot, OS X, and BootCamp/Windows partitions, and it worked flawlessly for me.  The issue is that it is indeed exact, my old HD was 500GB and my new 750GB HD was using only 500GB, but both Windows and BootCamp were bootable/working (a major feat in my book).
  • At this point, switch out your old and new HDs so that the new HD is inside the Mac (if you’re just cloning your Boot Camped HD to a new, same sized HD, apparently this should do ya and you’re done.  Read on if cloning to a bigger HD).
  • Now fire up OS X and download and install GPT Fdisk on the Mac side.  Fire up Terminal on your Mac and execute “sudo gdisk”.  Inside of gdisk, type “x” (for expert mode) and hit “Enter”.  Now type “e” (move backup GPT data structures to the end of the disk) and hit “Enter”.   Finally type “w” (Write table to disk and exit) and hit “Enter”.  Those commands just made your Mac’s GPT recognize the full size of your new HD instead of the 500GB (or whatever size your source disk was) size.  I would reboot Mac OS X at this point.
  • Now, inside OS X, fire up DiskUtil and delete your BootCamp partition (yes, it needs to be deleted as far as I can tell, and again, I tried a ton of other stuff).
  • Next, inside of DiskUtil, drag/resize your Mac partition to the full size of your new HD and apply it.
  • Now exit DiskUtil and fire up the BootCamp Assistant and create your BootCamp partition to whatever size you want.  Follow all of the instructions including inserting your Windows 7 installation disk and the click the “Install” button.
  • Follow all of the Windows prompts and do a full install of Windows 7.  Once this is finished, I verified that I could boot my Mac into either OS X or Windows 7 using the Option key at boot time.
  • Now restart the Mac from the Clonezilla CD, but this time take the defaults up through device-to-device and then choose partition-to-partition copy instead of HD-to-HD.  Again be sure to choose the correct source and target partitions.  You will be copying your source BootCamp partition to your new, target BootCamp partition.  The only way to identify which of these partitions is which, will be by the disk they are on, their size and their file system type. When copying your source to target partition, be SURE to select the “–m” (Do not clone the bootloader) option and the –r (Resize the filesystem of the target to fit the partition size) and deselect the “–j2” (Clone the hidden data between MBR and 1st partition) option.  This leaves (most of) the Windows/Mac boot stuff alone and only copies the data in the partition.  This will take a while again (hours for me).
  • At this point, you will still have the ability to boot either Mac OS X or Windows 7 by holding down the Option (Alt) key at boot time on the Mac, but the Windows partition will not boot (it gives a disk read error), which is OK.
  • Now boot from Windows 7 Install DVD and select “Repair” (on the second screen).  It will tell you right away that there is a startup issue that needs to be fixed.  DON’T let if fix it automatically! Just cancel or close this window.  Now from the repair choices, fire up a command prompt and execute each of these commands in order:
    • “Bootrec /fixmbr”
    • “Bootrec /fixboot”
    • “Bootrec /rebuildbcd”
    • “exit”
  • Now cancel out/exit without doing/installing anything else (red X) and do the same for the windows install screen.  This will reboot your computer at which point you can hold down the option key to select to boot into Windows.  Do this and allow Windows to run its chkdsk.
  • At this point you should have working Windows and OS X partitions at their new sizes!  On you Mac, if you don’t see the option in Startup Disk for BootCamp any longer, from what I’ve read online it is usually because you have either Paragon NTFS or NTFS3G installed.  Apparently they need to be removed for the BootCamp disk to reappear.  I have not found/read if you can then reinstall them and the disk stays, but either way, you can always switch OSes using the Option key at boot time method.

19 Responses to “BootCamp Mac Disk Clone to a Larger HD”

  1. Sam Joyce says:

    Hi Mark,
    I am really glad I came across this post. I had struggled for over a week with this issue and thanks to you I now have a fully functioning Bootcamp after migrating to a new disk.
    Thank you very much.

  2. Luke Wallyn says:

    I’m trying this whole thing of swapping to a bigger hard drive. Such fun.
    In point 7, where we use Terminal to “resize” the partition, the first thing that Terminal asks me after entering “sudo gdisk”, aside from password, is “Type device filename, or press to exit:”
    Any thoughts on what to enter here? Thanks (so far, so good).

    • Mark says:

      Sorry I didn’t see this sooner Luke. I hope you were able to get it working. I’m guessing that your system could somehow see more disks/partitions than just the one. You’d need to tell it the device name for your Mac’s HD. Running DiskUtil should show you…

  3. stev says:

    super

    will help cloning a mac pro moving parts 1TB HDD to a not-apple (less costly and faster) SSD

  4. Kyle Silfer says:

    Dude, thanks for this write-up. You’d think restoring a partition would not require so much screwing around, but it does. The one thing I didn’t do was invoke the -m switch during the Clonezilla restore, which wasn’t an option on the Live CD I used. But it didn’t matter. Two things I would like to emphasize: (1) definitely make your destination partition exactly the same size as the original (or play it safe and make it slightly larger) because Clonezilla is very picky about that, and (2) you really do need to let the Bootcamp assistant create the partition and step through the whole Windows install. I tried to skip the Windows install and go right to the partition restore, but it wouldn’t recognize the partition to repair using the steps you outlined. Again, thanks!

  5. Fred says:

    Thanks for the write up. I had great success doing device to device hd to hd one time using alternative stable releases – 20131125-saucy of clonezilla with all defaults. Both OS X and Windows partitions booted after full disk image (about 2.5 – 3 hours). Basically I ended after your 4th major bullet (switching out old and new hard drives).

    I did replace 750GB original spinning drive with same size ssd. All partitions remained the same.

    Not sure what made this work first time, but was a pleasant surprise.

  6. Fred says:

    Thanks for the write up. I had great success doing device to device hd to hd one time using alternative stable releases – 20131125-saucy of clonezilla with all defaults. Both OS X and Windows partitions booted after full disk image (about 2.5 – 3 hours). Basically I ended after your 4th major bullet (switching out old and new hard drives).

    I did replace 750GB original spinning drive with same size ssd. All partitions remained the same.

    Not sure what made this work first time, but was a pleasant surprise.

    • Mark says:

      That is what should happen when you are cloning to the same size HDD. Clonezilla is awesome. But if you’re cloning to a larger HD, it will likely not work/boot for both partitions without doing the rest of the steps (again, unless there’s some Clonezilla cloning flags that can get around the boot problem, and thus save some steps).

  7. Mark says:

    Thanks Fred. You’ve pointed out a major “flaw” in my musing! I forgot to put “to a larger HD” in the title! I shall have to fix that…

  8. Kerry says:

    Since you are destroying the Bootcamp partition anyway wouldn’t it be faster to just use Carbon Copy Cloner or something similar to clone your Mac partition to the new drive and then proceed with step 8?

    • Mark says:

      Sure, there might be some combination of options with Clonzilla that would allow you to do this in less steps. I had tried so many different tools and ways to do this, I was getting too fed up to keep doing more trial and error. I found a method that worked and I posted it. For those with more knowledge on Clonezilla’s cloning flags, if you get an easier combo to work, please post it!

  9. Kenneth Hilton says:

    After i get everything working on the new drive and load the final bootcamp drivers, i attempt to clone the partitions using Clonezilla and every time i do, i get an error message after i select the options, -m -r and remove -j2. I also had to select -k1 on the next screen which after pressing ENTER, i get the following:
    Unknown partition table format for file /temp/ocs_onthefly_local.kUn8S0/src-pt.parted!
    Program terminated!!

    Btw, Im going from a SATA 256GB SSD (original on iMac27″) to a Crucial 1TB SSD M550 drive.

    I can boot into OSX and Windows just fine. I just can’t clone the windows partitions to finish the installation.

    Any help is greatly appreciated.

    post or email me directly: kennethhilton[AT]mail.com

  10. Mark says:

    Kenneth,

    I’m going to guess that it is the -k1 option that is causing your problem. Macs and newer (as of Windows Server 2003 SP1) WIndows machines use Guid Partition Tables (GPT) not Master Boot Record (MBR) partition tables. The -k1 option is telling Clonezilla that you want to create the new partition table proportionally which Clonezilla says is only OK with MBR partition tables. If you followed the instructions up to that point, you should already have the new partition created to the size (and type GPT or MBR) that you want/need, so there is no need to create it proportionally with the -k1 option. Just take the default option instead of the -k1 option and it will hopefully work fine for you.

  11. Robert says:

    I should note that when starting gdisk, it’ll first ask you which disk you want to work with.

    When modifying the internal HDD on the Mac as described above, tell gdisk you want to work with /dev/disk0.

    If there’s any doubt, fire up Disk Utility to verify this mount point.

  12. Eliot Lash says:

    Thanks so much for this post! I experienced similar bewilderment trying to clone my HDD to a new SSD.
    I couldn’t get clonezilla to do the drive-to-drive copy. But the Clonezilla LiveCD was useful to me anyway as it included the command-line utilities dd and gdisk. I booted Clonezilla and used dd to clone drive-to-drive, but I was experiencing a weird problem where my target drive of the dd clone appeared to be corrupt. Gdisk was showing that the partitions were incorrect and larger than the size of the disk. It turned out to be an issue with the SATA to USB adapter I was using to plug in the drive with – it was making the drive appear to have a sector size of 4096 bytes, so the original partition tables on my old 512-byte sector drive were nonsensical. The problem went away when I opened up my mac and replaced the old HDD with the SSD. After swapping the disks, I booted immediately to Clonezilla to inspect that everything went okay. Now that the SSD was connected directly to the motherboard, the drive’s internal 512-byte sector emulation worked properly and the old partition table was accurate again! Phew. This issue is covered in great detail on this SuperUser Q&A for “How to correct 512-byte sector MBR on a 4096-byte sector disk?”. I was then able to use gdisk to inspect and verify the SSD looked okay, back up the GPT/MBR, and then move the backup GPT to the end of the disk as stated in your instructions. Before starting, I used OSX Recovery Disk Assistant to make a bootable Mac recovery USB stick, so I booted off it and ran Disk Utility to verify/repair the disk. I decided that after going over a day solid of troubleshooting on this I was done, so instead of deleting the Windows partition as you described, I just turned the free space into a new HFS+ partition so I could make use of it for archiving files without having to move the Windows stuff. I then booted into Mac OS and everything came up fine. I also booted into Windows and ran chkdsk /f. All good. Thanks so much for the tips!

  13. Vince says:

    Struggled for three days trying different cloning programs and combinations of installations. Followed your instructions carefully. Worked perfectly. Thanks so much for posting your instructions.
    V

  14. http://joe.blog.freemansoft.com/2015/07/cloning-mac-bootcamp-disk-to-larger.html

    This fellow references your work good sir. He has another spin but requires more software. Would like to give it a try however as I have only completed an = size hdd to ssd with clonezilla.
    Thanks for the good stuff.

  15. Stewart Robbins says:

    Anybody still trying to do this? I successfully just did this using
    Hard Disk Manager 15 Premium boot up cd.
    It slightly favors Windows side in that it booted into Windows no problem.
    The only thing I did on the MAC side was boot into recovery and run first Aid on the Mac side.
    Next while holding alt during starutp to choose boot up disk there where 2.
    1. Windows
    2. Efi blah blah blah

    Number 2 Efi….. was actually my Mac side and it booted up fine. After booting up into Mac side and restarting
    “Macintosh HD” returned as its label.
    Using Paragon I updated from a 250GB SSD to a 500GB SSD.
    Hope this helps.

Leave a Reply

Your email address will not be published. Required fields are marked *