Как перенести Linux на новый жёсткий диск или систему

Технологии развиваются быстро: иногда удобнее заменить ноутбук или диск, чем чинить старое. При переходе на новый жёсткий диск или систему часто хочется взять с собой текущую установку Linux — программы, настройки и данные — с минимальными потерями. В отличии от Windows, перенос Linux обычно проще и гибче, но требует внимания к загрузчику (GRUB / UEFI), UUID разделов, LVM и шифрованию.
В этой статье объяснено несколько надёжных методов: свежая установка с восстановлением, клонирование разделов, копирование данных и дополнительные приёмы, чтобы миграция прошла без сюрпризов.
Кому подходит этот материал
- Домашним пользователям, которые хотят сохранить рабочее окружение.
- Системным администраторам, выполняющим миграцию серверов.
- Тем, кто переносит систему между дисками с разными объёмами или между BIOS/UEFI‑машинами.
Важно: прежде чем менять диски, сделайте полную резервную копию важной информации и учтите особенности шифрования (LUKS), LVM и уникальные машинные идентификаторы.
Варианты подхода — кратко
- Свежая установка: переустановить дистрибутив на новом диске и восстановить файлы и пакеты.
- Копирование разделов (GParted, dd, Clonezilla): перенос «как есть» при совместимом оборудовании.
- Копирование файлов (rsync): гибкий перенос между разными файловыми схемами и размерами дисков.
Свежая установка (рекомендуется, когда диски нельзя подключить вместе)
Плюсы: чистая система, меньше «наследованных» проблем. Минусы: требует установки всех пакетов и восстановления настроек.
Шаги:
- Сделайте резервную копию домашней папки и конфигураций:
- Основные места: /home, /etc, /opt, /root, /var (особенно /var/www, /var/lib). Для рабочего стола — /home, для серверов — /etc и /var.
- Сохраните список установленных пакетов (см. раздел ниже для Debian‑based). Это ускорит восстановление.
- Выполните чистую установку на новом диске (выберите тот же архитектурный тип: 64‑бит/32‑бит).
- Восстановите файлы из резервной копии в соответствующие каталоги.
- Установите пакеты из сохранённого списка и проверьте конфигурации.
- Тестируйте службы и пользовательское окружение.
Когда выбирать этот путь
- Невозможно физически подключить оба диска к одной системе.
- Вы хотите использовать свежую систему без старого «мусора».
- На старом диске есть сомнительные конфигурации или заражённое ПО.
Keep a list of installed packages — Debian/Ubuntu
Для Debian‑based дистрибутивов удобно сохранить список пакетов и использовать его на новой машине.
sudo dpkg --get-selections > /home/youruser/packagelist.txtСкопируйте файл packagelist.txt на новую систему и выполните:
sudo dpkg --set-selections < /home/youruser/packagelist.txt
sudo apt-get -u dselect-upgradeЭто пометит пакеты для установки и запустит переустановку из репозиториев. После этого восстановите ваши данные из резервной копии.
Совет: дополнительно сохраните список сторонних репозиториев (содержимое /etc/apt/sources.list и /etc/apt/sources.list.d/).
Копирование разделов — «клон» системы (наиболее прямой способ)
Если вы можете подключить старый и новый диски к одному компьютеру и загрузиться с live‑USB, проще скопировать разделы «как есть». Это сохраняет все пакеты, настройки и права.
Что потребуется:
- Оба диска распознаны системой.
- Live‑USB или live‑DVD с тем же дистрибутивом (важно — 32/64‑бит совпадение не критично для данных, но для инструментов восстановления лучше брать тот же стек инструментов).
- GParted или Clonezilla для графического/интерактивного клонирования.
Рекомендации по размеру:
- Копирование на больший диск: можно расширить раздел после копирования.
- Копирование на меньший диск: уменьшите файловую систему до меньшего размера перед копированием.
Пример с GParted (в live‑сессии):
- Запустите GParted.
- Правой кнопкой по разделу → Copy, затем на целевом диске → Paste.
- Примените операции (Apply).
После копирования нужно восстановить загрузчик (GRUB). В live‑сессии выполните:
# примонтируйте корневой раздел новой установки (замените sdX и № раздела)
sudo mount /dev/sdX# /mnt
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
sudo cp /etc/resolv.conf /mnt/etc/resolv.conf
sudo chroot /mnt
grub-install /dev/sdX
update-grub
exitГде sdX — устройство нового диска (например /dev/sda), а # — номер корневого раздела (например /dev/sda1).
Обратите внимание на UEFI: если система использовала UEFI, нужно примонтировать EFI‑раздел (обычно /dev/sdXY с типом vfat) и установить grub‑efi или systemd‑boot соответствующими командами.
Копирование файлов с помощью rsync — гибкий и безопасный вариант
rsync хорошо подходит, когда размер нового диска меньше, или вы хотите изменить схему разделов (например, перейти с ext4 на btrfs). Пример команды:
sudo rsync -aAXv --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt/newroot/Опции:
- -aAX сохраняет атрибуты, ACL и xattrs.
- –exclude исключает виртуальные и временные каталоги.
После копирования примените те же шаги по установке GRUB и обновлению конфигураций (см. раздел выше).
Другие инструменты и подходы
- Clonezilla — удобен для поблочного клонирования дисков/разделов и хорошо подходит для однотипных машин.
- dd — поблочное копирование; опасно при ошибке адресации, но полезно при клонировании полного диска с загрузочными секторами: dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,sync
- fsarchiver — копирует файловые системы с возможностью изменения типа ФС при восстановлении.
- Timeshift — удобен для пользовательских окружений, но не заменяет полный перенос системных пакетов.
Частые проблемы и как их решать
- UEFI vs BIOS: убедитесь, что загрузчик установлен в нужном режиме. При смене режима (BIOS ↔ UEFI) требуется переустановка загрузчика.
- Изменились UUID разделов: проверьте /etc/fstab и обновите UUID (blkid) или используйте метки дисков.
- LVM: если используется LVM, активируйте volume group (vgchange -ay) и обновите initramfs.
- LUKS/шифрование: нужно расшифровать раздел в live‑среде и монтировать контейнеры перед копированием.
- Разные размеры дисков: при копировании на меньший диск заранее уменьшите файловую систему и раздел.
Важно: всегда проверяйте syslog/journal после первой загрузки и перед финальным переходом.
Безопасность и приватность после миграции
- Поменяйте SSH‑ключи на сервере, если переносите публичный сервер, чтобы исключить утечки старых ключей.
- Пересоздайте machine-id (если нужно), файл /etc/machine-id можно пересоздать командой sudo systemd-machine-id-setup.
- Если диск утилизируется — безопасно стирайте данные (shred, blkdiscard, nwipe) в соответствии с политиками хранения данных.
- Для GDPR/законов о данных: документируйте перенос и убедитесь, что персональные данные при необходимости обработаны согласно требованиям.
Критерии приёмки (после переноса)
- Система загружается в ожидаемом режиме (UEFI/BIOS) без ошибок.
- Все критические службы (ssh, web, db и т.д.) стартуют успешно.
- Пользовательские данные в /home целы и права доступа корректны.
- Конфигурационные файлы в /etc соответствуют требованиям и не содержат ссылок на старые UUID или пути.
- Пакеты, отмеченные к восстановлению, установлены и работают.
- Тест производительности и целостности данных — пройден.
SOP: быстрый готовый план миграции (шаг за шагом)
- Подготовка
- Сделать резервную копию (вне машины). Зафиксировать список установленных пакетов и репозитории.
- Снять снимок/скрин конфигураций (например /etc/nginx/sites-available).
- Аппаратная подготовка
- Подключить новый диск; включить live‑USB.
- Копирование
- Выбрать метод (GParted/rsync/Clonezilla).
- Выполнить копирование и дождаться завершения.
- Загрузка и загрузчик
- chroot в новую систему, установить grub/grub‑efi, выполнить update-grub.
- Проверки
- Проверить /etc/fstab, UUID, LVM, шифрование.
- Запустить тесты сервисов.
- Откат/отмена
- Если критические ошибки — вернуть старый диск или загрузиться с резервной системы и восстановить данные.
План отката / Incident runbook
- Симптом: система не загружается после переноса.
- Загрузитесь с live‑USB.
- Проверьте, видит ли система корневой раздел и EFI‑раздел (lsblk, fdisk -l).
- Смонтируйте корень, chroot и переустановите grub, выполните update-grub.
- Проверьте /etc/fstab на корректность UUID. При необходимости замените на метки.
- Если всё ещё не загружается — загрузитесь с оригинального диска и восстановите данные заново.
Тесты и критерии приёмки (коротко)
- Unit‑тест: команда systemctl status nginx|sshd возвращает active (или эквивалент).
- Data‑integrity: сравнить контрольные суммы важных файлов (md5sum/sha256sum) до и после переноса.
- Boot‑test: система проходит полную загрузку и ты можешь зайти в консоль/GUI.
Роли и чек‑листы
Администратор:
- Сделать бэкап, сохранить список пакетов, подготовить live‑USB, проверить LVM/LUKS. Пользователь/Power user:
- Сохранить личные файлы, экспортировать профили приложений (браузер, IDE), записать заметки о настройках. Техник по аппаратной части:
- Правильно подключить диски, проверить кабели, уровни питания и совместимость SATA/PCIe.
Когда этот план не подойдёт (ограничения)
- Миграция между сильно разнородными аппаратными платформами (например, специфичные драйверы для OEM‑аппаратуры).
- Случаи со сложными аппаратными RAID, нестандартными контроллерами: могут потребовать дополнительных драйверов или переустановки драйвера прошивки.
- Если диск зашифрован и у вас нет ключей — восстановление невозможно.
Мини‑методология для принятия решения
- Можно ли подключить оба диска к одной машине? Да → клонирование/rsync. Нет → свежая установка.
- Требуется ли сохранить точную среду (все пакеты и версии)? Да → клонирование/dpkg‑list. Нет → свежая установка + восстановление данных.
- Используется ли LVM/LUKS/RAID? Да → учесть дополнительные шаги при монтировании и расшифровке.
1‑строчный глоссарий
- GRUB — загрузчик, который помогает выбрать ОС при старте.
- UEFI — современный интерфейс загрузки, пришёл на смену BIOS.
- LVM — логический менеджер томов, даёт гибкость с разделами.
- LUKS — стандарт шифрования дисков в Linux.
- rsync — инструмент для синхронизации файлов с сохранением атрибутов.
Совместимость и заметки по локализации
- Архитектура (x86_64 vs i386) большинства пользовательских дистрибутивов важна для бинарных пакетов — но файлы в /home не зависят от архитектуры.
- Если переходите с устаревшего дистрибутива на новую мажорную версию — лучше делать чистую установку и перенос настроек, а не клонировать старую систему.
Примеры команд для быстрого копирования
rsync (рекомендуемый для файлового переноса):
sudo rsync -aAXv --delete --exclude={/dev/*,/proc/*,/sys/*,/tmp/*,/run/*,/mnt/*,/media/*,/lost+found} / /mnt/newroot/dd (опасно — используйте с осторожностью):
sudo dd if=/dev/sdX of=/dev/sdY bs=64K conv=noerror,syncClonezilla — следуйте интерактивным подсказкам программы.
Заключение
Перенос Linux на новый диск или новую машину — задача решаемая разными способами. Если хотите сохранить систему «как есть», клонирование разделов или rsync с последующей установкой загрузчика — лучший выбор. Если это возможность начать с чистого листа, свежая установка даёт стабильность и уменьшает риск унаследованных проблем. Всегда делайте резервные копии, проверяйте загрузчик и конфигурации и тестируйте критические сервисы до окончательного переключения.
Если у вас есть конкретный сценарий (UEFI vs BIOS, LVM, LUKS, RAID, облачные образы) — опишите его в комментариях, и я помогу подобрать наиболее безопасную последовательность действий.
Краткие контакты: если нужен чек‑лист в формате таблицы для команды — можно запросить шаблон.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента