138 lines
3.3 KiB
Markdown
138 lines
3.3 KiB
Markdown
# 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)
|
||
|
||
```bash
|
||
# 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
|
||
|
||
```bash
|
||
# 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)
|
||
|
||
```bash
|
||
# 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:
|
||
```bash
|
||
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+)
|
||
|
||
```bash
|
||
# 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)
|
||
```
|