# Clone Linux OS: 250GB Samsung 840 EVO ? 1TB Crucial MX500 Run this from the **Ubuntu live USB session** (so the source disk is unmounted). Goal: byte-for-byte clone, grow root to fill 1TB, then physically swap MX500 into the 250GB's SATA slot and boot. SOURCE = Samsung SSD 840 EVO 250GB (current root: 1G EFI + ~232G ext4 `/`) TARGET = Crucial CT1000MX500SSD1 1TB (currently holds Windows — ALREADY BACKED UP on the Samsung HD103UJ labelled "SSD 1 Gig New Windows"; safe to wipe) ?? Device letters (sda/sdb/...) WILL be different in the live session. NEVER trust the letter. Identify both disks by MODEL/SERIAL via by-id, exactly as below. ???????????????????????????????????????????????????????????????????????????? STEP 0 — open a terminal in the live session, become root ???????????????????????????????????????????????????????????????????????????? sudo -i ???????????????????????????????????????????????????????????????????????????? STEP 1 — see all disks, then list by stable id ???????????????????????????????????????????????????????????????????????????? lsblk -o NAME,SIZE,MODEL,SERIAL,TRAN,MOUNTPOINT ls -l /dev/disk/by-id/ | grep -iE "840_EVO|MX500" You want the two whole-disk entries (NOT the ones ending in -part1/-part2): SOURCE ? .../ata-Samsung_SSD_840_EVO_250GB_XXXXXXXX (?232.9G) TARGET ? .../ata-CT1000MX500SSD1_XXXXXXXX or usb-...MX500... (?931.5G) ???????????????????????????????????????????????????????????????????????????? STEP 2 — pin both disks to variables (EDIT to match YOUR by-id names from step 1) ???????????????????????????????????????????????????????????????????????????? SRC=/dev/disk/by-id/ata-Samsung_SSD_840_EVO_250GB_XXXXXXXX DST=/dev/disk/by-id/ata-CT1000MX500SSD1_XXXXXXXX Resolve to real nodes and print, to eyeball them: SRCN=$(readlink -f "$SRC"); DSTN=$(readlink -f "$DST") echo "SRC=$SRC -> $SRCN" ; echo "DST=$DST -> $DSTN" ???????????????????????????????????????????????????????????????????????????? STEP 3 — SANITY CHECKS (do not skip — this is the wrong-disk guard) ???????????????????????????????????????????????????????????????????????????? lsblk "$SRCN" "$DSTN" # SRC ?232G w/ ext4 root ; DST ?931G w/ NTFS Windows mount | grep -E "$SRCN|$DSTN" # MUST print NOTHING (both unmounted) Confirm with your eyes before continuing: • SRC is the 250GB Samsung with the ext4 `/` • DST is the 1TB MX500 with the Windows/NTFS partitions If a mount shows up, unmount it: umount ???????????????????????????????????????????????????????????????????????????? STEP 4 — install the resize helpers (live session has internet) ???????????????????????????????????????????????????????????????????????????? apt-get update && apt-get install -y gdisk cloud-guest-utils e2fsprogs ???????????????????????????????????????????????????????????????????????????? STEP 5 — ?? DESTRUCTIVE: clone whole disk (wipes the MX500) ???????????????????????????????????????????????????????????????????????????? dd if="$SRC" of="$DST" bs=64M conv=fsync,noerror status=progress sync (~250GB read; expect ~20-45 min depending on USB speed. Leave it alone.) ???????????????????????????????????????????????????????????????????????????? STEP 6 — fix GPT for the bigger disk, then grow root to fill 1TB ???????????????????????????????????????????????????????????????????????????? Re-resolve DST node (it shouldn't change, but be safe), then: DSTN=$(readlink -f "$DST") sgdisk -e "$DSTN" # move backup GPT header to true end of 1TB disk partprobe "$DSTN" growpart "$DSTN" 2 # grow partition 2 (the ext4 root) to fill free space e2fsck -f "${DSTN}2" # answer y if it offers fixes (clean clone may need none) resize2fs "${DSTN}2" # expand the ext4 filesystem into the grown partition ???????????????????????????????????????????????????????????????????????????? STEP 7 — verify ???????????????????????????????????????????????????????????????????????????? lsblk "$DSTN" Expect: partition 1 = 1G vfat (EFI), partition 2 = ~999G ext4. e2fsck -n "${DSTN}2" # read-only sanity check, should be clean ???????????????????????????????????????????????????????????????????????????? STEP 8 — power off and swap ???????????????????????????????????????????????????????????????????????????? poweroff • Physically REMOVE the 250GB Samsung 840 EVO (keep it safe — it's your backup). • Install the MX500 into the SAME internal SATA port/slot the 250GB used. • Pull out the SanDisk live USB. Power on. ?? Do NOT boot with BOTH the 250GB and the MX500 attached at once — they share the same filesystem UUID and EFI id (that's what makes the swap seamless), and having both visible to the bootloader can confuse it. One root disk at a time. If it boots: log in, run df -h / ? should show ~1TB. Done. If it does NOT boot: power off, pull the MX500, reinstall the 250GB ? you're exactly back where you started (the 250GB was only ever read from). Then we debug. ???????????????????????????????????????????????????????????????????????????? NOTES • Why dd whole-disk: copies the EFI partition, GPT, and ext4 with identical UUIDs, so fstab and the EFI boot entry work unchanged once the MX500 sits in the same slot. • The MX500's Windows is destroyed by step 5 — that's intended; the bootable Windows copy lives on the Samsung HD103UJ ("SSD 1 Gig New Windows"). • growpart not found? fallback with gdisk: `gdisk "$DSTN"` ? `p` (note part 2 start) ? `d` 2 ? `n` 2 (same start, default end, type 8300) ? `w`, then resize2fs as above.