this post was submitted on 07 Feb 2025
34 points (97.2% liked)

Linux

54017 readers
1252 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 6 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 3 months ago (1 children)

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

[–] harsh3466@lemmy.ml 6 points 3 months ago

That I didn’t know. Thank you!

[–] mark@social.cool110.xyz 10 points 3 months 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 3 months ago (1 children)

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

[–] unlawfulbooger@lemmy.blahaj.zone 10 points 3 months ago* (last edited 3 months 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 months 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 months ago (1 children)
[–] harsh3466@lemmy.ml 1 points 2 months ago
[–] furrowsofar@beehaw.org 1 points 3 months 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 3 months ago* (last edited 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 3 months 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 months ago (1 children)
[–] harsh3466@lemmy.ml 2 points 2 months 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 months ago (1 children)

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

club-penguin-dance

[–] harsh3466@lemmy.ml 2 points 2 months 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 3 months 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 3 months 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.