Связаться со мной:
1 заметка с тегом

restore

Перенос linux на другой диск на примере debian/ubuntu

Навеяно статьей про перенос freebsd на другой диск. Будем делать тоже самое но на linux. В linux все несколько сложнее.

Для начала нужно подсоединить новый диск и загрузится. В системе должны присутствовать 2 диска, первый с нашей системой, а второй пустой. Второй мы можем разметить по своему усмотрению или же скопировать разметку с первого диска(если второй диск идентичен первому). Как скопировать разметку можно прочесть здесь. Как разметить вручную думаю разберётесь сами, благо мануалов в интернете полно. После создания разметки разделы надо отформатировать примерно так.

# mkfs.ext4 /dev/sdb1

Затем примонтируем его в /mnt

# mount /dev/sdb1 /mnt

Теперь нам нужно создать дампы разделов, в данном случае нужно создать только дамп sda1. Установим утилиты dump/restore.

# apt-get install dump

И создаем дамп раздела в файл /mnt/root.img

# dump -0f /mnt/root.img /

Создание дампа в /mnt/root.img возможно когда на разделе используется менее 50% от /dev/sdb1. Иначе на разматывание дампа места не хватит. В остальных случаях нужно создавать дамп в другом месте, но не в разделе корня, чтобы дамп не мотал сам себя. Можно использовать раздел другой тачки примонтированный по sshfs, я проверял это прекрасно работает.
Переходим в /mnt и разматываем дамп.

# cd /mnt
# restore -rf /mnt/root.img

Как видим раздел перенесся на /dev/sdb1. Если у нас /boot на отдельном разделе, то переносим его аналогично.

Теперь нам нужно установить загрузчик.

# grub-install --root-directory=/mnt /dev/sdb

Затем если требуется правим /mnt/etc/fstab и меню grub в /mnt/boot/grub/grub.cfg.

# nano /mnt/etc/fstab
# nano /mnt/boot/grub/grub.cfg

Тут немного поясню зачем проверять и править эти файлы. У меня например в этих файлах были прописаны uuid разделов, и если мы уберем старый диск то ОС соответственно не загрузится, т.к у новых разделов у нас другие uuid. Я вместо uuid прописал реальные устройства корня и свопа /dev/sda1 и /dev/sda3. Все устройства sdb, станут у нас sda после извлечение первого диска.

Теперь выключаем тачку, отсоединяем первый диск и загружаемся с нового диска.

P.S. Утилиты dump и restore не ограничиваются переносом ОС с одного диска на другой. Таким образом можно переносить linux вообще на другую тачку с другим железом и дисками. Процедура почти такая же за небольшими изменениями.

  1. На первой тачке создаем дамп ОС;
  2. Загружаем вторую тачку с livecd;
  3. Размечаем и форматируем диски;
  4. Копируем туда дамп c первой тачки(по scp, например);
  5. Разворачиваем дамп с помощью restore;
  6. Устанавливаем загрузчик;
  7. Загружаемся.
2015   centos   debian   dump   Linux   restore   ubuntu