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?
I figured it out. I need to run
resize2fs
afterwards. I ransudo resize2fs /dev/mapper/luks-5e5f911c...
and that solved the issue.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
🎉 what Linux at home is all about
Well, not really. Someone on Reddit told me the solution.
Still counts 😹 software is all made by people after all, sometimes you just have to learn from others
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
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. :)
Why not encrypting the new SSD and rsync’ing the content from one drive to the other? Would be easier and safer.
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 upif
andof
indd
.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.
rsync also gives you two bootable copies of your system. Even better, it gives you a checksum based copy of your files including permissions.
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.
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”
What does
lsblk
show? You might have to resize the ext4 filesystem as well as the luks volume.Resizing the filesystem with
resize2fs
solved the issue.