# NUC Hard Disk Change Guide **Date:** 2026-02-01 17:30 **Context:** Step-by-step guide to replace NUC hard disk with larger one --- ## Prerequisites - [ ] Clonezilla USB boot drive ([download](https://clonezilla.org/downloads.php)) - [ ] External USB drive (larger than current disk usage) - [ ] New internal disk (must be >= current used space) - [ ] 1-2 hours of downtime --- ## Before You Start ### Check current disk usage ```bash ssh nuc "df -h / && lsblk" ``` ### Verify services are backed up ```bash ssh nuc "docker exec kopia kopia snapshot list --all | tail -10" ``` ### Export critical configs (safety net) ```bash ssh nuc "tar czf /tmp/nuc-configs-backup.tar.gz /data/coolify /opt/homepage/config 2>/dev/null" scp nuc:/tmp/nuc-configs-backup.tar.gz ~/Desktop/ ``` --- ## Phase 1: Create Clonezilla Image ### 1.1 Boot from Clonezilla USB 1. Insert Clonezilla USB into NUC 2. Power on, press **F10** for boot menu 3. Select USB drive 4. Choose: `Clonezilla live (Default)` ### 1.2 Create disk image ``` Select: device-image Select: local_dev (save to external USB) Choose: savedisk Image name: nuc-full-2026-02-01 Source disk: /dev/sda (or /dev/nvme0n1) Compression: -z1p (parallel gzip, fastest) Options: -fsck-src-part -c (check & checksum) ``` ### 1.3 Wait for completion - 256GB disk → ~20-40 min - 512GB disk → ~40-60 min ### 1.4 Verify image Clonezilla shows checksums. Note them down: ``` Image checksum: ________________________________ ``` --- ## Phase 2: Swap Physical Disk ### 2.1 Power off NUC ```bash ssh nuc "sudo shutdown now" ``` ### 2.2 Open NUC and replace disk 1. Disconnect power 2. Remove bottom cover (4 screws) 3. Remove old disk (M.2 or 2.5" SATA) 4. Insert new disk 5. Replace cover --- ## Phase 3: Restore to New Disk ### 3.1 Boot Clonezilla again 1. Insert Clonezilla USB + external drive with image 2. Boot from USB ### 3.2 Restore image ``` Select: device-image Select: local_dev Choose: restoredisk Image: nuc-full-2026-02-01 Target: /dev/sda (new disk) ``` ### 3.3 Confirm and wait Same time as backup (~20-60 min) --- ## Phase 4: Expand Partition After restore, the new disk has the old partition sizes. Expand to use all space: ### 4.1 Boot into Ubuntu Remove USB drives, boot normally. ### 4.2 Expand partition ```bash # Check current layout lsblk # Expand partition (usually partition 2 or 3) sudo growpart /dev/sda 2 # Expand filesystem sudo resize2fs /dev/sda2 # Verify df -h / ``` ### For NVMe drives: ```bash sudo growpart /dev/nvme0n1 2 sudo resize2fs /dev/nvme0n1p2 ``` ### For LVM: ```bash sudo pvresize /dev/sda2 sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv ``` --- ## Phase 5: Verify Everything Works ### 5.1 Check services ```bash # All containers running? docker ps # Coolify healthy? curl -s http://localhost:8000/api/health # Check each service docker ps --format 'table {{.Names}}\t{{.Status}}' | head -20 ``` ### 5.2 Test critical services | Service | Test | |---------|------| | Coolify | http://192.168.1.3:8000 | | Homepage | http://192.168.1.3:3000 | | Gitea | http://192.168.1.3:3030 | | n8n | http://192.168.1.3:5678 | ### 5.3 Verify databases ```bash # LiquidGym Postgres docker exec postgres-x4kk8g4k8w4g0cw480w84g4g psql -U postgres -c "\\l" # LiquidGym MySQL docker exec hgwcgs4oswwc8scg080scoo4 mysql -u root -pliquidgym_root_nuc_2026 -e "SHOW DATABASES;" ``` --- ## Troubleshooting ### GRUB bootloader not found ```bash # Boot from Ubuntu Live USB sudo mount /dev/sda2 /mnt sudo mount /dev/sda1 /mnt/boot/efi sudo chroot /mnt grub-install /dev/sda update-grub exit reboot ``` ### NVMe device name changed Edit `/etc/fstab` to use UUID instead of device names: ```bash # Find UUIDs blkid # Edit fstab sudo nano /etc/fstab # Change /dev/sda2 to UUID=xxxxx ``` ### Docker services not starting ```bash sudo systemctl restart docker docker ps -a # Check for exited containers docker start $(docker ps -aq) # Start all ``` --- ## Rollback Plan If new disk fails, you still have: 1. **Original disk** (keep it safe for 1 week) 2. **Clonezilla image** on external drive 3. **Config backup** on your Mac (`~/Desktop/nuc-configs-backup.tar.gz`) Worst case: put old disk back in, boot, everything works. --- ## Quick Reference | Step | Time | Risk | |------|------|------| | Create image | 30-60 min | Low | | Swap disk | 10 min | Low | | Restore image | 30-60 min | Low | | Expand partition | 5 min | Low | | Verify services | 10 min | None | | **Total** | ~2 hours | Low | --- ## Related - Backup Strategy: `2026-02-01_17-30_nuc-backup-strategy.md` - Coolify Dashboard: http://192.168.1.3:8000