this post was submitted on 07 Feb 2025
36 points (97.4% liked)

Linux

50449 readers
510 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
 

EDIT WITH UPDATE: Operation went off without a hitch! I'm now up and running with the 512GB nvme drive! Next stop is dual booting nixos, which was the whole reason for switching to the larger drive.

ORIGINAL POST:

I’ve got a laptop running Arch (btw), with a 128GB nvme in it. The nvme has two partitions. EFI boot, and a luks encrypted lvm.

I’ve got a 512GB nvme I want to swap in. I think I can clone the device with dd, update the uuids, expand the lvm, and drop in the 512 nvme, but my searching hasn't given me a clear confirmation of this. Am I correct in my thought process, or am I setting myself up for disaster?

top 21 comments
sorted by: hot top controversial new old
[–] wildbus8979@sh.itjust.works 24 points 2 weeks ago (1 children)

Yup, you're all set. You'll need to use cryptsetup resize as well

[–] harsh3466@lemmy.ml 6 points 2 weeks ago

That I didn’t know. Thank you!

[–] mark@social.cool110.xyz 10 points 2 weeks ago (2 children)

@harsh3466 That should work, as always with dd the potential disaster is getting if and of the wrong way around and wiping the old drive.

[–] harsh3466@lemmy.ml 4 points 2 weeks ago (1 children)

No joke! I plan to quadruple check before I hit enter.

[–] unlawfulbooger@lemmy.blahaj.zone 10 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Tip: don’t use /dev/nvme0n1 directly, but use device aliases in /dev/disk/. I prefer /dev/disk/by-id/ but maybe another works better in your case.

# find all aliases for nvme drives (no partitions)
find /dev/disk/ -type l -ilname '*nvme?n?' -printf '%l %p\n' | sed 's!^../../!!' | sort
[–] harsh3466@lemmy.ml 5 points 2 weeks ago (1 children)

That is actually what I did, by-id. The whole operation went off without a hitch. I'm up and running with my new 512GB nvme!

[–] unlawfulbooger@lemmy.blahaj.zone 2 points 2 weeks ago (1 children)
[–] harsh3466@lemmy.ml 1 points 1 week ago
[–] furrowsofar@beehaw.org 1 points 2 weeks ago

The other is not having the sync,noerror options and having a disk error. ddrescue is a lot more forgiving.

[–] ZWQbpkzl@hexbear.net 4 points 2 weeks ago* (last edited 2 weeks ago) (1 children)

Look into pvmove. I'd take a backup with dd but try to do the actual move with pvmove. This might involve multiple steps if you can't have both nvme's installed at the same time. In that case I hope you have other drives.

Edit: I think what you're doing won't be a disaster because you're not writing anything to the old nvme so that data is still there. So you won't bork anything if the new drive doesn't work.

[–] harsh3466@lemmy.ml 2 points 2 weeks ago (1 children)

I'll take a look at pvmove.

I can't have both installed. Plan is to dd the 128 nvme to a USB SSD I have, then dd the SSD to the 512 once it's installed in the laptop. All the xloning will be done by booting a USB ISO so no drives are in active use while being cloned.

[–] ZWQbpkzl@hexbear.net 2 points 2 weeks ago (1 children)

I suspect your plan might be safer and less of a pain than pvmove. I've just never done that before so I can't say for sure.

Be sure you can open and mount the USB ssd after the first dd. Also check the status of the disk size of the luks container. I'm assuming your dd'ing the encrypted partition not the data inside.

[–] harsh3466@lemmy.ml 3 points 2 weeks ago (1 children)

Thanks. I’ll stick with dd then. You are correct, I think. I plan to dd the whole disk. The plan is:

dd if=/dev/nvme0n1 of=/dev/sdb bs=4M status=progress oflag=sync

unless that's the wrong idea. once the usb ssd is done I will definitely check the luks container on the ssd. Size and data availability.

[–] ZWQbpkzl@hexbear.net 1 points 2 weeks ago (1 children)

I recently read that luks containers don't actually know their size they will always adapt to the size of the entire disk (it makes shrinking them dangerous). So you should be good unless your SSD is bigger than your new nvme.

Very curious about how this goes. It might not work but it won't wipe the original nvme. I'd love to hear how it goes.

[–] harsh3466@lemmy.ml 2 points 2 weeks ago (1 children)

The first clone (to the interim usb ssd) was a success! I’ll report back after installing the new nvme and cloning from the ssd to the nvme.

[–] ZWQbpkzl@hexbear.net 2 points 2 weeks ago (1 children)
[–] harsh3466@lemmy.ml 2 points 2 weeks ago (1 children)

Secnd clone was also a success! I cloned from the USB SSD to the NVMe, installed it, updated the UUIDs in fstab, and booted straight up!

[–] ZWQbpkzl@hexbear.net 1 points 2 weeks ago (1 children)

Filesystem sized is grown fine? If so wow that was easy.

club-penguin-dance

[–] harsh3466@lemmy.ml 2 points 2 weeks ago

I didn't expand it because I'm planning to dual boot NixOS. I've been wanting to wade in to NixOS and see what it's all about.

[–] darius@lemmy.ml 2 points 2 weeks ago (1 children)

Is it LVM2? If you need a GUI I recommend: Blivet-GUI from a bootable USB environment so as you said nothing is mounted, hope this helps!

[–] harsh3466@lemmy.ml 2 points 2 weeks ago

It is lvm2. Thank you for the recommendation! I'll check it out though I think I'm going to stick to the CLI for this one. I kind of want to do it manually.

I do plan to work from a bootsble USB for all the dd work so that nothing is mounted/in use.