I wasn't able to find the info I needed here or on Apple's own forums or via Google, so here goes.

I have a MacBook Pro 15" early 2011 model with a 500 GB internal hard disk drive (non-SSD). Currently running OSX 10.8.5 on a 300 GB partition, and Windows 7 via Bootcamp on a 200 GB partition. OSX is under backup via TimeMachine, Windows is backed up manually on an external hard drive as a simple copy.

I would like to replace the internal hard disk drive with an Intel DC S3500 480GB SSD. Changing the drive itself should be easy via a guide I've found. But... instead of the 300GB/200GB partitions I currently have, I'm aiming for 400GB/80GB partitions on the SSD. The Windows 7 Bootcamp partition I currently have uses only 70GB, so I'd like it to occupy the 80GB partition on the SSD. Once I'm on the SSD, I will upgrade OSX to Yosemite.

Question: I would like to migrate both my current installation of OSX and the installation of Windows to their respective new (differently sized) partitions on the SSD, without having to re-install the OS'es. What steps do I need to take to make this work? (Any pitfalls?)

Update: Command output requested by David Anderson:

sudo fdisk /dev/disk0
Disk: /dev/disk0    geometry: 60801/255/63 [976773168 sectors]
Signature: 0xAA55
         Starting       Ending
 #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
 1: EE 1023 254  63 - 1023 254  63 [         1 -     409639] <Unknown ID>
 2: AF 1023 254  63 - 1023 254  63 [    409640 -  584931504] HFS+        
 3: AB 1023 254  63 - 1023 254  63 [ 585341144 -    1269544] Darwin Boot 
*4: 07 1023 254  63 - 1023 254  63 [ 586610688 -  390162432] HPFS/QNX/AUX

diskutil list
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *500.1 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            299.5 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
   4:       Microsoft Basic Data BOOTCAMP                199.8 GB   disk0s4

diskutil cs list
No CoreStorage logical volume groups found
  • 1
    You may not have enough reps to add comments. If so, edit your question to respond to my comments. Feb 28, 2015 at 20:37
  • 1
    I have migrated both OS X and Windows may times in the past. I use the Disk Utility to create a .dmg backup of OS X. I assume you can just restore OS X using your Time Machine backup. The tricky part will be moving Windows to a smaller partition. I have always used a product called Winclone to do this. The cost is $30. I can help you but only if you are willing to purchase this product. Feb 28, 2015 at 21:17
  • I added Update 1. Mar 1, 2015 at 16:09

1 Answer 1


Update 3:

There were a two reasons I wanted the output from diskutil and fdisk. First I wanted to check if rEFIt was installed on its own partition. It is not. This leaves either the EFI partition or the OS X partition. The normal (automatic) installation would be OS X, which is backed up with Time Machine. To be safe, you could backup the EFI partition. This is not a problem since it is only 210 MB in size. I usually just make an exact image copy of the entire partition. The command is shown below. The image file efi.img will be stored in the root directory of the OS X partition.

sudo dd if=/dev/disk0s1 of=/efi.img bs=10000

I do not know if Time machine will backup the "Recovery HD" partition. It is only 650 MB in size. Again, you can just image it to the root of OS X using the command below. My outline did not include migrating this partition to the new disk. Therefore, you probably will never use this file.

sudo dd if=/dev/disk0s3 of=/RecoveryHD.img bs=10000 

The second reason, for running the diskutil and fdisk commands, was to determine if you are using a GPT or hybrid GPT/MBR partitioning scheme. You are using hybrid GPT/MBR. I assume then that Windows is using the legacy BIOS method of booting and not using the EFI to boot.

According to your original post, you intend to upgrade to Yosemite after migrating to the new drive. It just so happens, I am trying to help someone (riznad) who has already done this. See here. Upgrading to Yosemite disabled rEFId and created a new "Recovery HD" partition. So you may need to reinstall rEFId. I would not recommend upgrading to rEFInd.

I am not sure why you felt the need to use the rEFId boot manager. I use the System Preferences in OS X to boot to windows. Apple provides Boot Camp to boot from Windows back to OS X. On startup, you can hold the alt key to choose an operating system. I rarely need to do that. In riznad's case, rEFId makes sense, that computer has a third partition running the Fedora operating system.

If you wish to have a partition writeable by both OS X and Windows, now would be a good time to create it. This can be done by creating the partitions in the following order using the Disk Utility. First create the MS-DOS(FAT) partition for windows 7. This partition will be changed to NTFS by Winclone. Format the next partition as MS-DOS(FAT) or ExFat. Finally, put the OS X partition last.

Update 2:

Just FYI, the output of chkdsk can be viewed in the Event Viewer. An example is shown below. You can "Open Image in a New Window" to enlarge.

enter image description here

An example output is shown below.

Checking file system on C:
The type of the file system is NTFS.
Volume label is Orca.

One of your disks needs to be checked for consistency. You
may cancel the disk check, but it is strongly recommended
that you continue.
Windows will now check the disk.                         

CHKDSK is verifying files (stage 1 of 3)...
  123136 file records processed.                      
File verification completed.
  171 large file records processed.                    
  0 bad file records processed.                                        
  2 EA records processed.                                              
  50 reparse records processed.                                       
CHKDSK is verifying indexes (stage 2 of 3)...
  168030 index entries processed.                                         
Index verification completed.
  0 unindexed files scanned.                                          
  0 unindexed files recovered.                                       
CHKDSK is verifying security descriptors (stage 3 of 3)...
  123136 file SDs/SIDs processed.                                         
Cleaning up 12 unused index entries from index $SII of file 0x9.
Cleaning up 12 unused index entries from index $SDH of file 0x9.
Cleaning up 12 unused security descriptors.
Security descriptor verification completed.
  22448 data files processed.                                            
CHKDSK is verifying Usn Journal...
  36677272 USN bytes processed.                                             
Usn Journal verification completed.
Windows has checked the file system and found no problems.

 107460604 KB total disk space.
  30413860 KB in 94522 files.
     64108 KB in 22449 indexes.
         0 KB in bad sectors.
    228944 KB in use by the system.
     65536 KB occupied by the log file.
  76658804 KB available on disk.

      4096 bytes in each allocation unit.
  26865151 total allocation units on disk.
  19164701 allocation units available on disk.

Internal Info:
00 e1 01 00 e3 c8 01 00 a5 53 03 00 00 00 00 00  .........S......
bf 03 00 00 32 00 00 00 00 00 00 00 00 00 00 00  ....2...........
11 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00  ................

Windows has finished checking your disk.
Please wait while your computer restarts.

What you are looking for is the messages Windows has checked the file system and found no problems. and 0 KB in bad sectors.

Update 1:

It is my understanding rEFIt installs in the OS X partition. According to the rEFIt documentation, it is also possible for rEFIt to be installed on a separate partition or on the hidden EFI partition. No mention of being installed on the Windows partition.

Assuming rEFIt was installed using the automatic installation, then it should be saved by Winclone followed by Time Machine. But to be honest, I have never used rEFIt.

To be safe, it would be useful for you to post the output from the following commands. They can be entered from a Terminal application window. The first one will ask for your login password. This is normal.

sudo  fdisk  /dev/disk0
diskutil  list
diskutil  cs  list

Other than Winclone creating a backup of Windows on you OS X partition, the procedure does not change the files on your original disk. If you wish, you can also backup Windows to a external disk that is HFS formatted (Mac OS Extended Journaled). This way Windows does not have to pass through Time Machine.

I don't know where you are living. Where I live, I would go to Microcenter and buy an enclosure for the new disk. I would then plug the enclosed drive into a USB port on the Mac. Transfer everything over. I would also boot OS X on the the enclosed drive and test things out. From my understanding, you can not boot windows. You might be able to from Parallels. I have never used Parallels. I would then remove the drive and return the enclosure for a full refund. (Actually, have done this a few times with 3.5" drives.) The drive could then be installed in the MacBook Pro.

If you proceed, it would be a good idea to run CHKDSK on the windows partition before backing up with Winclone. CHKDSK (Check Disk) has be around since the original IBM PC-DOS 1.0. The best way to do this is to open a Command Prompt window as an Administrator under Windows 7 and enter the command:

fsutil  dirty  set  c:

After entering the command, reboot (restart) Windows. It usually is not necessary to see the results, but if you wish, I will post how to do so using the event viewer. (You can also watch the screen during boot up)

I can outline the basic steps using the Winclone product.

  1. Purchase, download and install Winclone to your OS X partition.
  2. Use Winclone to backup Windows to your OS X partition.
  3. Make sure OS X is backed up to Time Machine.
  4. Install the new disk
  5. Do a internet recovery boot. This involves hold the cmd-alt-R keys down at startup and booting over the internet.
  6. Partition the new disk using the Disk Utility. Format the OS X partition as "Mac OS Extended (Journaled)" and the Windows partition as "MS-DOS (FAT)".
  7. Restore OS X using time Machine.
  8. Reboot the computer to the new OS X partition.
  9. Run Winclone to restore Windows 7 back to the new 80 GB partition.
  10. Drag the Winclone Windows 7 backup to the trash to recover the space on the OS X partition (Optional).
  11. You are done.

If you wish to proceed, let me know. Also, if klanomath happens to post, I would recommend any of his solutions. He has more experience with Time Machine than I have.

  • Thanks David for outlining the steps! Very useful! When I currently boot into Windows, I do it via a menu that appears at boot, allowing me to choose between OSX and Windows. I believe the menu is called "rEFIt" or something - someone I knew installed that one for me years ago. If I restore Windows using Winclone, will it install that "rEFIt" menu for me? (Also, will my OSX Parallels app still be able to run it? And will the files on my Windows partition be accessible from the Finder like I have it now?)
    – Quester
    Mar 1, 2015 at 14:15
  • Thanks for the explanation David! I've added an update to the question with the info you requested. Also, when setting the dirty bit using fsutil, I assume the disk check will then happen only on the first Windows boot after that, i.e. the dirty bit is then cleared again automatically. Correct?
    – Quester
    Mar 2, 2015 at 18:48
  • You are correct. Mar 2, 2015 at 20:01
  • I believe I understand your guide to the whole procedure, and I'd like to follow it. So final thing, just to be safe as you said: you see nothing in the command output that would jeopardize the operation?
    – Quester
    Mar 2, 2015 at 20:31
  • Thanks a lot David for your detailed answers! It'll probably be a couple weeks before I do the procedure. I think my reason for rEFIt was that I'd maybe install Linux, but now I have no intention to do that - I'll just go with the alt-key during boot, as you mention, after going Yosemite. No idea whether there's anything worth saving on the "Recovery HD" partition - don't know what that one's for, but I'll back up both partitions EFI and "Recovery HD" as you suggest, to be sure. Thanks for your help, I'm ready to close the question now, unless you have any final point I should be aware of.
    – Quester
    Mar 4, 2015 at 18:02

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .