SKYHOUSE.dev Journal

Maintaining the Cloud Fortress

Boot-disk swap: prep + clone runbook (1TB SSD)

Why: The ~2011 Corsair Force GT boot SSD is being replaced with a 1 TB SSD (arriving ~2026-06-03). This entry captures the prep done in advance and the step-by-step clone procedure to follow on swap day, so the actual swap is mechanical and reversible.

This is the migration anticipated in the 2026-05-31 prep entry: a single larger SSD, whole-disk clone (not a reinstall), since all Docker configs + DBs live on root and only bulk media is on the media drives.

0. Current boot disk layout (reference)

Captured to /home/plex/docs/bootdisk-pre-swap-snapshot.txt. /dev/sda is GPT/UEFI:

UEFI boots Boot0000 Ubuntu → \EFI\UBUNTU\SHIMX64.EFI (shim+GRUB, references the ESP by PARTUUID).

1. Prep done in advance (✓ before swap day)

2. Enclosure & USB port (read before cloning)

3. The clone (offline, from the live USB) — recommended

  1. Connect the new SSD (rear USB3 port, or internal SATA). Power on, boot the live USB (firmware boot menu).
  2. Identify both disks by serial — do NOT trust /dev/sd* letters: lsblk -o NAME,SIZE,MODEL,SERIAL,TRAN. Source = Corsair Force GT (~120 G). Target = the new 1 TB. Call them /dev/SRC and /dev/DST below.
  3. Whole-disk clone (carries GPT, BIOS-boot, ESP, root, swapfile — bootable as-is; ddrescue rides over any weak sectors on the aging Corsair):
    ddrescue -f /dev/SRC /dev/DST /root/clone.mapfile
  4. Fix the GPT for the larger disk (moves the backup GPT header to the end of the 1 TB; clearing the "backup table not at end" warning):
    sgdisk -e /dev/DST
  5. Grow root into the new space (~900 GB unallocated otherwise):
    growpart /dev/DST 3
    e2fsck -f /dev/DST3  then  resize2fs /dev/DST3

4. Physical swap — mind the duplicate UUIDs ⚠️

A whole-disk clone gives the new disk identical filesystem UUIDs and PARTUUIDs (that's why /etc/fstab needs no edits). The hazard: with both drives attached at boot, GRUB/systemd resolve root by UUID and may pick the wrong one. So:

  1. Power off.
  2. Physically remove the old Corsair before booting the clone.
  3. Install the new SSD internally (same SATA port the Corsair used is cleanest for the EFI entry).
  4. Boot. The cloned ESP + the PARTUUID-based Boot0000 entry should boot straight to Ubuntu. If not: firmware boot menu → the new disk; or boot the live USB and re-point with efibootmgr / re-run grub-install --efi-directory=/boot/efi from a chroot.

5. Post-swap verification

Note: this swap is independent of the dying sdb/plex2_backup replacement — do that separately, and when you do, follow the drive-swap steps (smartd by-id line + fstab UUID + re-check netdata's device_selector).

← Back to Admin Hub