I have installed OpenMediaVault and a bunch of Docker services.
Is it possible to clone everything on my microSD, and put it in my SSD, and then boot from the SSD as if nothing changed?
I’m asking because microSD cards don’t last long.
Edit: Using a Raspberry Pi 4 Model B 8GB with the Argon Eon case
Raspberry Pi4? Then yes, here’s a guide to update your bootloader:
https://www.raspberrystreet.com/learn/how-to-boot-raspberrypi-from-usb-ssd
For older models(Pi<4), no but kinda: Afaik oder models could only boot from SD-cards. But that only means the bootloader has to be on the SD-card. So you can copy everything but the bootpartition and change the entry in the /etc/fstab to the new root on the SSD.
Listen to this guy, he obviously knows better than I do, I was doing that long time ago and dont even remember completely. Was just trying to help while you wait smart guys to answer 🤣
Thanks, this looks like it’ll work. I’ll report back
I just did some more research and aparently my intel was a bit outdatet (from arount 2020). The guide should still work, though booting from SSD should be working by default and does not require any eeprom-updates. So you can probably start with step 4.
Both the SD cards and SSDs are interpreted as block storage devices by the Linux kernel. You should be able to clone the SD card to a SSD with tools such as
dd
.Would you happen to have an example? I’m fairly new to all this. Thanks!
Can I do it from the same machine which is running? I only have two devices - my Raspberry Pi NAS and a phone
Edit, it seems possible: https://raspberrystreet.com/learn/how-to-backup-raspberrypi-sdcard - they provide a dd example
Why dd over rsync?
dd
is transferring in blocks whilersync
is transferring in files (or file tree). If you wanna clone a disk, the former is a better option as you want a clone and a block device may contain more than one partition.I would argue that rsync is better suited to clone your file system when using linux. Just prepare the partitions (plus point: you can alter partition sizes and reorganise like having a new partition (or even device) for your /home or whatever) and mount them, then
sudo rsync -ahPHAXx --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt
Then fix your fstab and reinstall your boot loader. Way faster than dd and can be done on a running system.
Your preference may vary but I would not recommend anyone trying to “clone” anything on a running system.
Why not? Of course you should not install or uninsta anything while rsync runs…
Use dd on the entire disk?
Maybe clonezilla?