Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Клонирование Arch: дублирование системы на похожее железо

Клонировать Arch на похожее железо проще, чем кажется: система не привязана к конкретной материнке, и перенос сводится к копированию файлов через rsync или побайтовому клону через dd, а затем к трём шагам — сменить UUID в fstab, пересобрать initramfs и заново поставить загрузчик. Если исходник зашифрован LUKS, на целевом диске создаётся новый контейнер, и в /etc/crypttab подставляется его UUID. Ниже — полный порядок, проверенный на реальных переносах.

Зачем клонировать Arch

Клонирование — это когда нужна точная копия системы, а не переустановка с нуля. Типичные сценарии: купил такой же ноутбук или материнку и хочешь ту же систему без настройки заново; собрал второй ПК «под копирку»; нужна запасная копия, которая грузится сама.

На похожем железе Arch заводится почти без правок: ядро собирается с модулями под всё оборудование, а не под конкретную модель. От переноса на другой диск это отличается тем, что меняется окружение, а не носитель. Базовый перенос файлов разобран в статье про перенос Arch на другой диск — здесь разберём нюансы клонирования, включая шифрование.

Как клонировать на похожее железо

Способа два, как и при переносе на диск.

dd — точная копия

Если диск переезжает целиком, например из старого ПК в новый, dd копирует всё побайтово: разметку, загрузчик, разделы.

sudo dd if=/dev/sda of=/dev/sdb bs=64M conv=fsync status=progress

Минус — UUID дублируются: если старый диск остаётся в машине, система может загрузиться не с того. После dd меняй UUID файловой системы на новом диске: для ext-разделов — tune2fs -U random, для btrfs — btrfstune -U.

rsync — копия файлов

Гибче: размечаешь целевой диск заново, монтируешь и копируешь файлы с сохранением атрибутов.

sudo rsync -aAXv --exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} / /mnt/

Флаги -aAX сохраняют права, владельцев, ACL и расширенные атрибуты — без них система не заведётся. Исключения не дают rsync зациклиться на виртуальных ФС и самом /mnt.

Как перенести с LUKS на LUKS

Если исходник зашифрован, а целевой диск новый, контейнер LUKS нельзя просто скопировать через rsync — его заголовок с ключами не переносится как файлы. Создаёшь новый контейнер прямо на целевом диске (а вот dd-клонирование весь LUKS-раздел вместе с заголовком, наоборот, копирует целиком):

sudo cryptsetup luksFormat /dev/sdb2
sudo cryptsetup open /dev/sdb2 cryptroot

Дальше монтируешь маппер и копируешь файлы внутрь — та же команда rsync, только источником будет старый корень, а приёмником /mnt. Про keyfile и смену паролей при таком переносе — в статье про LUKS2.

После копирования в /etc/crypttab должен стоять UUID нового контейнера, а не старого. Узнать его:

sudo blkid -s UUID -o value /dev/sdb2

Впиши значение в crypttab и пересобери initramfs — хук encrypt или systemd-cryptsetup должен знать новый UUID:

sudo mkinitcpio -P

Как сменить UUID и собрать initramfs

После rsync fstab на целевом диске остался старым — он указывает на UUID разделов исходника. Посмотри, какие UUID у новых разделов:

sudo blkid

И обнови /etc/fstab. Проще всего сгенерировать заново в live-окружении, когда новый корень смонтирован в /mnt:

sudo genfstab -U /mnt >> /mnt/etc/fstab

Но сначала удали старые строки — иначе окажутся и старые, и новые записи. Для LUKS в fstab пишется UUID маппера, а не зашифрованного раздела — частая ошибка.

Затем пересобираем initramfs. Даже на похожем железе это обязательно: образ собран под старое окружение, а модули для нового оборудования в него не попали.

sudo mkinitcpio -P

И загрузчик. GRUB, скопированный файлами, не работает — ему нужны модули в целевом каталоге и запись в NVRAM новой материнки:

sudo grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
sudo grub-mkconfig -o /boot/grub/grub.cfg

Что ломается после переноса

Даже на похожем железе пара вещей изменится.

Сетевые интерфейсы. Имена вида enp3s0 привязаны к слотам PCI, а не к железу. На новой материнке интерфейс переименуется — если он захардкожен в конфиге NetworkManager или systemd-networkd, сеть не поднимется. Узнать новое имя:

journalctl -k --grep='renamed from eth'

machine-id. Его нужно оставить уникальным. Если склонировать систему на два ПК, оба получат одинаковый /etc/machine-id — это ломает синхронизацию, журналы и некоторые сервисы. На целевом диске:

sudo rm /etc/machine-id
sudo systemd-machine-id-setup

Hostname. Если обе машины будут в одной сети, задай другой hostname через hostnamectl set-hostname.

Микрокод и драйверы. При смене вендора CPU (Intel → AMD) добавь пакет amd-ucode и пересобери загрузчик; при смене GPU — поставь нужный драйвер. На похожем железе это обычно не нужно.

Частые вопросы

Можно ли клонировать Arch на другое железо без переустановки? Да. Arch не привязан к конкретному железу. Достаточно скопировать файлы, пересобрать initramfs и загрузчик.

Чем клонирование отличается от переноса на другой диск? Перенос — смена носителя при том же железе. Клонирование — копия системы, часто для другого ПК. Шаги те же, но при клонировании добавляются machine-id, hostname и сетевые интерфейсы.

Нужно ли пересобирать initramfs, если железо похожее? Да. Образ собирается под конкретное состояние системы: хуки, модули, UUID. После копирования он не соответствует новому окружению.

Что делать, если после переноса система не грузится? Проверь fstab (старые UUID), crypttab (UUID контейнера) и загрузчик. В девяти случаях из десяти виноват один из них.

Можно ли клонировать зашифрованную систему простым dd? Можно, но только если целевой диск не меньше исходного и контейнер LUKS копируется целиком. Нужен новый контейнер — только rsync с созданием LUKS заново.

Заключение

Клонирование Arch на похожее железо — копирование файлов с атрибутами, новый LUKS-контейнер при шифровании, свежие UUID в fstab и crypttab, пересборка initramfs и загрузчика. Плюс мелочи: machine-id, hostname, сетевые интерфейсы. Если корневой распух от кэша pacman, почисти его — порядок в статье про заполняющийся корень. А если проще поставить систему заново — вот пошаговая установка Arch 2026.

Полезные ресурсы



Не получилось? Поможем настроить

Задай вопрос в чате — отвечаем быстро, по делу и без воды.

Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.

Telegram Max