I have a 128G SSD for my main drive and it is nearly full, I'd like to move the OS (Yosemite) and all my data to my second drive, a 1TB hybrid drive which is installed in the DVD drive bay. How do I move all my data and make the hybrid drive bootable without losing the data that I already have on the hybrid drive? I also need to add a system recovery to the hybrid drive somehow.
Options: 1) Restore from Time Machine backup somehow. 2) SuperDuper! 3) ???
I would recommend to use the Carbon Copy.app
With Carbon Copy Cloner, your data and the operating system's data are all preserved on a bootable volume, ready for production at a moment's notice.
First: backup data. Backing up is always a good safe start to re-arranging data. Defragmenting may also help, depending on the drive type and format.
Second: repartition your hybrid drive. Create a (bootable) partition, copy everything to this partition.
Third: Tell the Mac to boot from the new partition, make everything works before you blow away the old drive.
Don't want to play with partitions? Use mount points. This is how Linux expands over multiple drives. you need to play with /etc/fstab but the upshot is: a directory on the new drive (example: /foo) gets mounted in the existing filesystem (example: /usr).
To move data from the "first drive" to the "second drive" you should, before doing anything, backup everything as a security precaution before doing the stuff below. It is also a good idea to run the Software Update on the "first drive" to make sure all bug fixes have been made to the software on your current system. Having the latest versions of all software installed on the "first drive" can limit incompatibiliites when getting stuff transferred to the "second drive".
If the second drive is properly formatted for Yosemite, just running the Yosemite installer and telling it to install the system on the second drive should not erase any of the files you currently have on that system, and it should also create the proper recovery partition and install the appropriate recovery software onto it.
Once you have Yosemite on the second drive, set it as your startup disk in "System Preferences" -> "Startup Disk", boot from it, and create an initial administrator account (with a different name from any of the accounts on the first drive so there is no conflict when migrating data from the first drive). You need not give this initial administrator account any AppleID information. Once logged in, it is probably worth updating the system software to the latest, to catch any bug fixes that might not have made it to the installer version that you used for the system as a whole.
Once the second drive is updated to the latest software, you need only run /Applications/Utilities/Migration Assistant.app and tell it to migrate all the data from the first drive to the second drive. Note that Migration Assistant.app will log out the current user and quit all running programs as it runs, which will unmount any externally connected disks. If the data you want to migrate is on an externally connected disk (such as another Mac in Target Disk Mode) it needs to be plugged into the computer AFTER Migration Assistant.app has quit all the running programs and logged out the current user - waiting untl Migration Assistant.app is searching for appropriate hard drives to get data from is a good time to plug in the external disk.
Migration Assistant.app could get the data from the Time Machine backup of the old system, but the transfer from an internal drive will be faster than from the external Time Machine backup drive, especially if the external connection is via the network.
When Migration Assistant.app has done its job, you can log into the system, check that everything is as expected and optionally delete the initial administrator account you created on the second drive. All of your data from the first drive should be migrated to the second drive, and the second drive should also have a working recovery partion on it.
Is this still working for my MacBookPro 13" Mid 2010 running with High Sierra?