Перенос linux на другой HDD

Задача: как без лишнего геморроя перенести свой любимый _подставить название_ linux.

Старый винчестер /dev/sdb, новый винчестер — /dev/sdc. Структура разделов такая:

/dev/sdb1 — /

/dev/sdb5- /home

/dev/sdb6 — swap

/dev/sdb7 — /storage

Решение в три пункта:

  1. Создать новую таблицу разделов на новом HDD. Можно пользоваться консольными утилитами, можно поставить (как Я) partitionmanager (KDE) или gparted (Gnome). Интерфейс программ понятен, объяснять тут не буду.

    Главное — создать такое же количество разделов, какое вы хотите перенести (логично, да? :) ).

    У меня после создания получилось: /dev/sdc1 /dev/sdc5 /dev/sdc6 /dev/sdc7. Всё, как на исходном, только буква другая и размеры.

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

    su
    mkdir /mnt/newroot
    (например)
    mount /dev/sdc1 /mnt/newroot

    и записать на них всю информацию с раздела:

    cp -ax / /mnt/newroot

    -a — не следовать ссылкам, рекурсивно проходить каталоги и вроде сохранять все аттрибуты.
    -x — копировать только в пределах раздела (у меня /home — другой раздел, с -x он не будет копирован).

    Тоже самое нужно сделать для всех остальных переносимых разделов.

  3. Ну и наконец нужно создать новый загрузчик и поправить некоторые конфиги. Для этого потребуется как минимум знание порядка винчестеров. Можно посмотреть в BIOS’е всоответствующем разделе, либо во время POST.

    Запускаем:
    su
    grub

    Попадаем в консоль grub’a.  И записываем загрузчик на нужный винчестер. Мой был в тот момент 3-им:
    setup (hd2)

    Всё, загрузчик установлен.

    Теперь надо поправить /etc/fstab, чтобы правильно подхватывались разделы. Если вы создавали такую же структуру на новом HDD — То можно просто поменять буквы.

    После этого также нужно поправить /boot/grub/menu.lst — сменить root на ваш винчестер и kernel root на нужный раздел (который /).

Всё, после перезагрузки вы должны загрузиться уже с нового винчестера.

Единственная проблема, с которой Я сталкивался — это была ошибка указания винчестера в grub’e. Если grub загрузился — значит с менюшкой можно играть прям из grub’а. После найденного варианта нужно внести правки в /boot/grub/menu.lst

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

Комментариев нет

  1. Glupuiy_Oslik:

    А просто переустановить не судьба?м?

    • Угу, а также заново настроить все локальные серваки, доставить кучу софта и прочее, угу-угу.

      Мне проще подождать, пока оно само всё скопируется :)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *