54
submitted 1 year ago by Cyberpro123@lemmy.world to c/linux@lemmy.ml

Currently, my desktop computer has two storage devices attached: one 1TB NVME SSD, which has both Windows 10 and Linux Mint 21.2 installed on it (Each OS getting ~ 500 GB), and a 1TB SATA hard drive mostly used for Timeshift backups of the Linux Mint partition (Including my Home folder, for the record).

Later today I'm expecting to receive two more 1TB SSDs. When I've finished the upgrade process, I'd like to have my Linux Mint installation transferred to a RAID 1 array comprised of the two new drives and expand the Windows 10 partition to take up the whole existing SSD.

My current plan for doing this is to use my existing installation USB drive to install a fresh Linux Mint 21.1 installation on the two new drives, then use Timeshift to 'restore' my most recent backup from the existing installation. Is there a better way of going about this that I'm not already aware of?

all 30 comments
sorted by: hot top controversial new old
[-] rodbiren@midwest.social 27 points 1 year ago

Clonezilla local disk to local disk has worked well for me. It also automatically fixes GRUB and fstab so you don't need to worry about those things. Boot params and such can get a bit hairy.

[-] atlasraven31@lemm.ee 2 points 1 year ago

Fixing grub and fstab makes it very newbie friendly compared to other methods.

[-] twelve12@lemmy.ml 1 points 1 year ago

Clonezilla is the answer. It has all the options, and just works right the first time

[-] atlasraven31@lemm.ee 9 points 1 year ago

https://askubuntu.com/questions/741723/moving-entire-linux-installation-to-another-drive

I personally like the Clonezilla and the dd command answers. Timeshift is also a way. Don't forget to update /etc/fstab with new UUIDs.

[-] falsem@kbin.social 7 points 1 year ago

Boot from a USB drive, then use DD to copy the entire disk over and resize the partitions if necessary.

[-] SatyrSack@lemmy.one 1 points 1 year ago

What if I want to clone an installation from a 2 TB drive (that is less than half full) to a 1 TB drive? Would I have to resize then dd?

[-] falsem@kbin.social 1 points 1 year ago
[-] lemmyvore@feddit.nl 1 points 1 year ago

dd + partition resize is a bit overkill. You can use cp -ax to copy at file level instead of disk level. Or, if you really want to clone the partition, using cat is faster than dd.

dd can be fast if you experiment with and pick the right block size, but ofc doing that would take extra time.

[-] falsem@kbin.social 1 points 1 year ago

You have to create and configure partitions and file systems if you do it at the file level. It also may not work if you're using disk encryption. There's a greater chance of having functional differences due to permissions, ownership, linking, etc doing things at the file level - though it SHOULD be fine but why bother if block device level is viable.

Did not know cat could be used that way.

[-] wviana@lemmy.eco.br 5 points 1 year ago

I would go with clonezilla or dd. Always making a backup first. Do you have a tirth drive for it?

[-] Static_Rocket@lemmy.world 5 points 1 year ago* (last edited 1 year ago)

One argument against using DD is that sometimes the optimized default flags for FS creation change between kernel releases so its nice to take the opportunity when getting a new drive to reformat partitions. In addition to this, dd is slow if you haven't completely filled up the partition because it doesn't attempt to use fs metadata to seek sparse data on disk and instead copies all bytes of the partition. (Completely unnecessary and just causes extra wear on solid state medium)

I use rsync instead of cp so I get verbose messages, hash checks, and resume functionality during large copies. https://wiki.archlinux.org/title/Rsync#File_system_cloning

[-] Kalcifer@lemmy.world 4 points 1 year ago
[-] anonono@lemmy.world 4 points 1 year ago

it's not the recommended way but it's how I've been doing.

you format the new drives and just cp -a -x from the running os to the destination, update the destination fstab, then treat the new drives as an os with a broken boot and continue from there.

[-] CAPSLOCKFTW@lemmy.ml 16 points 1 year ago
[-] anonono@lemmy.world 2 points 1 year ago

why not? sudo cp -ax foots the bill.

I assume people prefer rsync because you may need to run it twice, but unless you tick all the boxes rsync won't copy capabilities (see getcap /usr/bin/rsh)

sudo cp -ax is short and sweet and does everything right.

Why not DD? Dd is agnostic to anything, just copy over the entire partition and you're golden

[-] t0m5k1@lemmy.world 5 points 1 year ago

Man I always forget about dd and jump to gparted.

[-] anonono@lemmy.world 2 points 1 year ago

dd is good if the destination disk is equal or bigger, unless you are brave enough to shrink the source partition.

if you are moving to a smaller disk for whatever reason (hdd to sdd) then you need to fallback to a different method, which takes us back to cp/rsync.

[-] eager_eagle@lemmy.world 1 points 1 year ago* (last edited 1 year ago)

I'm always hesitant to use the "disk destroyer", even as a regular user. rsync does a good job and it's maybe even more agnostic than dd since it doesn't really care about the partition size, as long as all data fits.

[-] lemmyvore@feddit.nl 1 points 1 year ago

Because cat and cp are faster if you don't pick a good block size for dd.

[-] yum13241@lemm.ee 1 points 1 year ago

How are you supposed to use cat to copy files? catting binary files does, interesting things.

[-] lemmyvore@feddit.nl 1 points 1 year ago

You cat the device files of the partitions directly into each other.

[-] yum13241@lemm.ee 1 points 1 year ago

cat /dev/sda/ > /dev/sdb?

[-] eager_eagle@lemmy.world 2 points 1 year ago

rsync is also more reliable: in cases the transfer is interrupted it only transfers what's missing and it can run the checksums making sure there were no transfer errors. I don't see a good reason to use cp.

[-] Shrexios@mastodon.social 1 points 1 year ago

@CAPSLOCKFTW @anonono of I rsymc an entire drive, does it preserve all attributed and partitions, or does it just sync a particular file system.

[-] CAPSLOCKFTW@lemmy.ml 3 points 1 year ago

You can only rsync a file system, you have to do the partioning beforehand. It does preserve all attributes though, if you use the right flags.

[-] nickwitha_k@lemmy.sdf.org 2 points 1 year ago

I think that this may be the best way. The others that come to mind are use of dd or Clonezilla.

[-] ebd6a8c9051028dc1607@lemmy.ml 2 points 1 year ago

if you are using btrfs. try btrfs send

[-] tekeous@apollo.town 1 points 1 year ago

Don’t use Timeshift. Copy what files you need from the old drive to the new one with the new system running.

If all you’re doing is moving drive to new system, move it and boot that sucker. Linux has all the drivers in the kernel and will boot on anything

However that’s not what you’re doing. For changing drives, if you can’t just clone your old Linux drive(can’t because it’s dual boot) then just do a clean reinstall and copy over what you need. A hassle, maybe, but you’ll avoid merging things from the old system and the new.

As a general rule of thumb, if you move your entire home folder or Timeshift, it’ll restore a bunch of stuff you either don’t have installed on the new system or it’ll overwrite something you need. Best to do it clean.

Also I wouldn’t bother with the Raid 0 personally because it just introduces slightly less performance for basically no benefit in your case. So you can lose an SSD and still boot - is that really a priority when you could always boot USB or windows for recovery? I’d map the second to like /mnt/steam/ and put your games there for a dedicated Steam drive for increased performance, and you can always reinstall all that.

this post was submitted on 12 Aug 2023
54 points (98.2% liked)

Linux

48152 readers
753 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS