Table of Contents
Here’s the scenario: your current external storage is full and naturally you bought a new external storage (HDD or SSD) that has twice (or more) the capacity of your current external. Now, some of your applications like Adobe Lightroom have registered your hard drive so you want to make sure that your hard drive is exactly like the old one, but with a bigger capacity.
This is the guide to cloning and extending your external storage so your application can’t tell the difference.
Plan and assumptions
- You bought a new external storage with a larger capacity than the old external storage.
- You will plug both external storage into the same Mac and run some commands to clone the volume of the current external storage into a new external storage and extend the new volume.
- The command to clone the drive is
ddand to extend the drive is
- For this demo, the assumption is the old external storage is
disk1and the new external storage is
- Plug in both new and old external storage into your Mac. Open up the Terminal app to access the command line. The Terminal app can be found in Finder -> Application -> Utilities -> Terminal.app
- Use the
diskutilcommand to list all the storage. Take note of the names of the external storage as detected by your Mac. In my example, my old external is disk4 and the new external is disk6
diskutilto unmount the external storage. This will make your storage invisible to your user interface, but your Mac still detects them.
diskutil unmountDrive disk1
diskutil unmountDrive disk2
- Use the
ddcommand to clone your old external drive into the new one. Important: Do not mix up the drive names in
ofoptions. If you mix them up, you are screwed. You need root access to do this command.
Sudo dd if=/dev/rdisk1 of=/dev/rdisk2 bs=64k status=progress
- This command will take a while depending on your Mac and your external storage.
- When the command is done, you essentially have cloned your old external storage into the new one. You can run the disk util command to extend the new external drive.
Diskutil apfs resizeContainer disk2 0
- You should check and see if the new external drive has all the content and the new size. However, if the new external drive did not resize to the new large size, you have to fix the partition table in the drive. Run
diskutilcommand to repair the drive and resize the storage again.
diskutil repairdisk disk2
diskutil apfs resizeContainer disk2 0
- At this point, you are done
- Using raw disk in the
ifoption will make things go a lot faster. The raw disk has an “r” in front of the disk name. For example, is the external storage is disk2, the raw disk is rdisk2
- Important: be careful with the
ifoption flags. Don’t mix them up! The
status=progresswill show you how much data is being transferred. You can peek for more info by pressing
ctrl + t.
Support this free website by visiting my Amazon affiliate links. Any purchase you make will give me a cut without any extra cost to you
|iPhones||iPhone 15 / iPhone 15 Plus (Renewed) - (Amazon)||iPhone 15 Pro / iPhone 15 Pro Max (Renewed) - (Amazon)|
|Watch||Apple Watch SE (Amazon) / Apple Watch Series 9 (Amazon)||Apple Watch Ultra 2 (Amazon)|
|AirPods||AirPods 3 (Amazon)||AirPods Pro 2 (Amazon) / AirPods Max (Amazon)|
|iPad||iPad 9 (Amazon) / iPad Mini (Amazon)||iPad Air (Amazon) / iPad Pro M2 (Amazon)|
|Laptops||MacBook Air (Amazon)||MacBook Pro M3|
|Desktop||Mac Mini (Amazon) / iMac (Amazon)||Mac Studio / Mac Pro|
|Displays||Studio Display (Amazon)||Pro Display XDR (Amazon)|
Other Ecosystem Items