this post was submitted on 15 Aug 2026
41 points (97.7% liked)

Linux

67062 readers
619 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 7 years ago
MODERATORS
 

Swapping out an old 2TB pcie 3 drive for a newer 2TB pcie 4 drive.
I was leaning towards using dd, after shrinking the partition on the source drive so it doesn't also 'copy' all the empty space.
Have you done this recently? What was your method?
Or is there a CachyOS/kde tool I may be unaware of?

you are viewing a single comment's thread
view the rest of the comments
[–] BCsven@lemmy.ca 1 points 4 days ago* (last edited 4 days ago)

There's a way to do it without shrinking the partition and dd until last used block.

I use this to copy my Linux setup for a nas down to a 4 gig ISO for redeploy.

Have to check my notes...

Edit: Checked Notes

#Use-case of fdisk taking the approach that fdisk is used, and assumption is your "sudo fdisk -l " produced:

Disk /dev/sda: 64.0 GB, 64023257088 bytes
255 heads, 63 sectors/track, 7783 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0000e4b5
Device Boot Start End Blocks Id System
/dev/sda1 * 1 27 209920 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 27 525 4000768 5 Extended
Partition 2 does not end on cylinder boundary.
/dev/sda5 27 353 2621440 83 Linux
/dev/sda6 353 405 416768 83 Linux
/dev/sda7 405 490 675840 83 Linux
/dev/sda8 490 525 282624 83 Linux

The two things you should take note of are

  1. the unit size, and
  2. the "End" column.

In this case you have cylinders that are equal to 8225280 Bytes. In the "End" column sda8 terminates at 525 (which is 525[units] * 16065 * 512 = ~4.3GB)

dd can do a lot of things, such as starting after an offset, or stopping after a specific number of blocks. We will do the latter using the count option in dd. The command would appear as follows:

sudo dd if=/dev/sda of=/your_directory/image_name.iso bs=8225280 count=526

Where -bs is the block size (it is easiest to use the unit that fdisk uses, but any unit will do so long as the count option is declared in these units), and count is the number of units we want to copy Note that we increment the count by 1 to capture the last block).

Note to display units in cylinders: fdisk -l -u=cylinders /dev/sda Note for newbies of dd that of= can be a device you write to i.e. /dev/sdc, rather than a path to an iso image.