Files

Migrace Arch Linuxu z nvme1n1 na nvme0n1

Skript migruje tvůj běžící Arch (na nvme1n1) na druhý NVMe disk (nvme0n1) s většími oddíly:

  • /boot = 1 GB (EFI, FAT32)
  • / = 150 GB (ext4)
  • /home = zbytek ~780 GB (ext4)

Systémový obsah se kopíruje 1:1 (balíčky, služby, configy, Docker, GPG, atd.), jen na větší disk.


Před migrací (z běžícího systému)

# 1. Záloha klíčů ze starého opuštěného disku
sudo mount /dev/nvme0n1p3 /mnt
mkdir -p ~/zaloha_stary_disk_2026
sudo cp -a /mnt/archos/gpg             ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo cp -a /mnt/archos/luks_keyfile    ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo cp -a /mnt/archos/kody_yubikey    ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo cp -a /mnt/archos/zalohy_cloudron_kliče ~/zaloha_stary_disk_2026/ 2>/dev/null
sudo chown -R $USER:$USER ~/zaloha_stary_disk_2026
sudo umount /mnt

# 2. Nech borgmatic doběhnout (pro jistotu čerstvá záloha)
borgmatic --stats
borgmatic list --last 3

# 3. Push skriptu na git.arch-linux.cz
# (udělej repo migrace/ a pushni migrace.sh + README.md)

# 4. Arch ISO na USB flash
# stáhni z https://archlinux.org/download/
sudo dd if=archlinux-*-x86_64.iso of=/dev/sdX bs=4M status=progress oflag=sync
sync

Postup v live USB

# 1. Boot z USB flash (v BIOSu, nebo F8/F11/F12 boot menu)

# 2. V live prostředí:
#    - připoj internet (ethernet automaticky; wifi přes iwctl)
iwctl
# device list
# station wlan0 scan
# station wlan0 get-networks
# station wlan0 connect <SSID>
# exit

ping -c 2 archlinux.org

# 3. Stáhni skript
curl -O https://git.arch-linux.cz/Archos/migrace/raw/branch/main/migrace.sh
# nebo kompletní repo:
# pacman -Sy git
# git clone https://git.arch-linux.cz/Archos/migrace.git
# cd migrace

# 4. Spusť
chmod +x migrace.sh
sudo bash ./migrace.sh

# 5. Skript se tě postupně ptá před každým destruktivním krokem.
#    Odpovídej "ano" (vše jiné = zrušit).

# 6. Po dokončení:
reboot

# 7. V BIOSu nastav boot priority: nvme0n1 PŘED nvme1n1

Po rebootu (nový systém)

# Ověř, že běžíš z nového disku
df -hT /
# /dev/nvme0n1p2   ext4   147G   XG   YG   X%  /

lsblk
# nvme0n1 → mountnutý (/, /boot, /home)
# nvme1n1 → volný (starý systém jen leží)

bootctl status

# YubiKey test
gpg --card-status

# Docker
systemctl status docker

# Síť
nmcli

Kdyby cokoliv padlo

Nenabootuje nový systém:

  1. V BIOSu přepni zpět na nvme1n1 → starý systém stále funguje (nic jsme na něm neměnili)
  2. Boot z live USB, mount /dev/nvme0n1p2 na /mnt, arch-chroot a zkontroluj:
    mount /dev/nvme0n1p2 /mnt
    mount /dev/nvme0n1p1 /mnt/boot
    arch-chroot /mnt
    cat /etc/fstab
    cat /boot/loader/entries/*.conf
    blkid | grep nvme0n1
    bootctl --path=/boot install
    mkinitcpio -P
    exit
    reboot
    

Starý systém je pořád celý na nvme1n1 dokud ho ručně nepřerozdělíš, je to tvoje záchranná síť.


Až vše funguje (týden+)

# Smaž staré oddíly a použij nvme1n1 na co chceš
sudo cfdisk /dev/nvme1n1

# Návrhy využití:
# - Docker volumes na oddělený disk (rychlejší than sdílet NVMe)
# - Lokální borg mirror (druhá záloha vedle Hetzner Storage Box)
# - /home/archos/scratch pro build cache a VM disky
# - RAID1 mirror nvme0n1 (paranoia mode)