this post was submitted on 02 Oct 2023
42 points (97.7% liked)

Linux

47231 readers
777 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
 

Here's what I did: I bought a new 512 GB SSD to replace my old 256 GB SSD, which was getting full. I put the new SSD in an NVME to USB adapter and then booted to a Fedora 38 live USB and cloned the old drive into the new drive using dd if=/dev/nvme0n1 of=/dev/sda. Then I used gparted to expand the LUKS partition to cover the rest of the disk. I did not have to unlock the encryption for this. After that, I powered off, removed the 256 GB SSD and installed the 512 GB SSD, then booted normally. I did not erase either of the SSDs.

Now when I get into Fedora 38, GNOME Disks reports that /dev/mapper/luks-5e5f911c... is a 511 GB ext4 partition with 80 GB free, and /dev/nvme0n1p3 is a 511 GB LUKSv2 partition, but when I run df, this is what I see:

nate@redgate:~$ df / -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/luks-5e5f911c...  233G  159G   63G  72% /

What did I do wrong?

top 15 comments
sorted by: hot top controversial new old
[–] [email protected] 30 points 11 months ago (2 children)

I figured it out. I need to run resize2fs afterwards. I ran sudo resize2fs /dev/mapper/luks-5e5f911c... and that solved the issue.

[–] [email protected] 10 points 11 months ago* (last edited 11 months ago)

Yup. This applies to filesystems regardless of whether they're in an encrypted partition it not.. You need to grow the FS size to fill the partition.

For other FS types it's:

xfs_resize /path/to/device

btrfs filesystem resize max /path/to/mountpoint

For LVM you may also need to first pvresize and then lvresize

Not sure about JFS or others

[–] [email protected] 2 points 11 months ago (1 children)

🎉 what Linux at home is all about

[–] [email protected] 1 points 11 months ago (1 children)

Well, not really. Someone on Reddit told me the solution.

[–] [email protected] 2 points 11 months ago

Still counts 😹 software is all made by people after all, sometimes you just have to learn from others

[–] [email protected] 5 points 11 months ago* (last edited 11 months ago)

Did you expand the filesystem itself?

You go from physical (your dd) to encrypted (luks) to lvm(if used) to your filesytem itself.

You probably have btrfs so check out Resizing btrfs

Edit: I can read, you have ext4 :)

Check out resize2fs, IIRC it can do it live on a mounted partition

[–] [email protected] 4 points 11 months ago* (last edited 11 months ago)

KDE’s partition manager can resize LUKS partitions and the file systems inside of them. Be sure to have a back up (which it sounds like your old SSD is already).

Edit: Oh, nm, you already figured it out. :)

[–] [email protected] 2 points 11 months ago (1 children)

What does lsblk show? You might have to resize the ext4 filesystem as well as the luks volume.

[–] [email protected] 3 points 11 months ago

Resizing the filesystem with resize2fs solved the issue.

[–] [email protected] 2 points 11 months ago (1 children)

Why not encrypting the new SSD and rsync'ing the content from one drive to the other? Would be easier and safer.

[–] [email protected] 1 points 11 months ago (2 children)

I wasn't aware that rsync also copied system files. I'm curious to know why my method is unsafe. The only potential problem I see with what I did is mixing up if and of in dd.

[–] [email protected] 3 points 11 months ago (1 children)

Your method is safer imo as long as you get the dd command right. Because afterwards you'll have two bootable copies of your system. If you mess up resizing the filesystem on the new drive, just dd again from the old one.

Glad you figured it out.

[–] [email protected] 1 points 11 months ago

rsync also gives you two bootable copies of your system. Even better, it gives you a checksum based copy of your files including permissions.

[–] [email protected] 1 points 11 months ago (1 children)

Safe/unsafe might be the wrong word, but rsync is resumable and also copies permissions for example. dd is more like the brute force method of data transfer.

[–] [email protected] 1 points 11 months ago

Pause and resume are nice but dd also gives you the permissions. It copies everything, byte for byte, hence why it's a "low-level copy"