[GUIDE] Cloning or Migrating SSD/HDD (Windows)

This guide is for anyone who needs to migrate from an HDD to a SSD, or vice-versa… You can also clone the drive to move it to a bigger drive. Currently I only have Windows instructions. So if anyone would like to make instructions for Linux, or Mac, feel free to do so.

TL;DR: version – scroll all the way down.

Things needed:
Windows PC (of course.)
2 USB 3.0 enclosures or whatever interfaces/enclosures you use for your drives.
The drive you’re migrating/cloning from (any size)
The drive you’re migrating/cloning towards (any size, as long it is identical or bigger than the “from” drive)

===== Windows instructions ======
Backup your 24 secret words and the lightning channels, if you haven’t done so! Better safe than sorry!

I am assuming you have already shutdown your Umbrel node, if not – you have 2 choices: via the Web UI: Dashboard > Settings > ‘System’ Shutdown
-or-
SSH: sudo shutdown -h now

  1. Install Macurim Reflect
    https://www.macrium.com/reflectfree

  2. Installing Macrium Reflect Free:
    2a) When it prompts you this message: “What Free edition licence do you require?” Choose “Home”
    2b) When it prompts if you’d like to register the installation, uncheck that.
    2c) Continue as you want (choose the installation directory, or leave at default)
    2d) It gives you the option to launch the program.

  3. Choose the drive you want to clone/migrate by checkmarking it.

  4. You will see the option to “Clone this disk…” as soon you checkmark the drive. Click that.

  5. It will prompt you to choose the disk you’d want to clone/migrate towards. BE SURE THAT YOU SELECT THE CORRECT DISK! (This disk should be left unformatted and having NO file system!)

  6. It will ask you if you’d like to schedule it, just click on Next >

  7. It will give you a summary of what it will do, be sure that if you’re migrating/cloning from HDD to a SSD that “SSD Trim” is showing a “Y”, otherwise cancel the clone. Click on Finish.

  8. Now it will ask if you’d want to save the backup options, uncheck “Save backup and schedules as an XML Backup Defintion File”. Then click on OK.

  9. The process will begin, and may take a while. Maybe clean up your desk while you’re at it? heheh

  10. If the drives are the same size, then you’re all done! You should now be able to plug in the new drive on your Umbrel node. Otherwise continue on.

  11. If the drives are different sizes (such as 500GB–>750GB,1TB,2TB, etc.). You will need to start a SSH session on your Umbrel node after you plug in the new drive.

  12. When you have the SSH session up, install ‘cloud-init’ (as we need the “growpart” module from it.)
    sudo apt install cloud-init -y

  13. When that is installed, check to see where your drive is mounted at by doing:
    df -h

I am assuming that you have connected it via USB 3.0, so the instructions will be for sda1. And the best part is that you can do this all live! So you do not have to unmount the drive, how nice is that?!

sudo growpart /dev/sda1 1

It will take a minute or so, don’t panic.

  1. Then we need to resize the filesystem (if you run ‘df -h’ again, you’ll see the drive still showing the old filesystem size!)
    sudo resize2fs /dev/sda1

This will take a while, so again, don’t panic.

  1. Now run df -h again, and see the drive is now the correct size.

  2. Reboot the node for a good measure, sudo reboot

  3. All done!

===== TL;DR: version =====

Backup 24 secret words and lightning channels.
Gracefully shutdown your Umbrel node. (sudo shutdown -h now)
Install Macrium Reflect Free. https://www.macrium.com/reflectfree
Choose drive being cloned/migrated - Clone this disk… Select From, and Towards drive.
Wait a while.
If the size of the FROM_DRIVE is the same as the TOWARDS_DRIVE, you’re done, otherwise continue…
SSH session to Umbrel node:
sudo apt install cloud-init -y
sudo growpart /dev/sda1 1
sudo resize2fs /dev/sda1
sudo reboot
Done.

8 Likes

Wow, thanks for the comprehensive guide, @DHD — it will help a lot of people! :pray:

When you clone the drive using Macurim, does it also automatically format the other drive (the one you’re migrating to) as EXT4?

1 Like

Macurim is filesystem agnostic, so it doesn’t care what you have on the drive you’re migrating to, it’ll overwrite the filesystem on the destination drive. You could have it originally formatted as NTFS, and Macurim will change it to EXT4 for you. So it would be optimal if you had no filesystem on the destination drive, so it doesn’t cause a conflict when you’re migrating/cloning.

2 Likes

Thank you! I’ve always been wondering what we’d do when the blockchain got bigger than 900gb or so, as most of us have 1tb drives.

2 Likes

Can’t I just copy all content from one drive to another (assuming Unix machine, if you’re using Windows rethink your life choices)?

Thanks! Great guide @DHD . I am planning on cloning from existing SSD to new SSD this weekend. Any idea on how long it took you (ballpark) I just need to factor this into my scheduled downtime.

Since it is a SSD to SSD clone, it shouldn’t take more than 6 hours. In my case, it took my 1TB SSD about 3.5 hours to clone onto a new 2TB SSD.

Now the question is should I upgrade to 0.4.1 before I clone?

@DHD everything went really well. Took 1.5 hours to clone. The only issue I encountered was in the disk resizing step., It’s complaining that the partition has no label.

" umbrel@umbrel:~ $ sudo growpart /dev/sda1 1

WARN: unknown label

failed [sfd_dump:1] sfdisk --unit=S --dump /dev/sda1

sfdisk: /dev/sda1: does not contain a recognized partition table

FAILED: failed to dump sfdisk info for /dev/sda1"

Suggestions on Stack to head straight to resize2fs


From the Umbrel log:
Aug 21 04:03:22 umbrel external storage mounter[521]: no label, UUID=8cef8f6b-7bbd-46e1-916f-a8bbd21c5833