Часто бывает нужно уже настроенную операционную систему
Linux перенести на другой диск вместе со всеми рюшечками, бубенчиками и
свистульками. Перенести Linux с одного диска на другой довольно просто,
но тут есть несколько моментов, чему данная записка дебианщика и
посвящена.
Геометрия дисков источника и приёмника совпадает.
Если геометрия жёсткого диска с Linux и нового диска одинаковая (новый винчестер на компьютере точно такой же), то можно использовать наш любимый старый-добрый dd.
Для этого залогиниваемся как root (или используем sudo) и пишем в консоли:
Это приведёт к тому, что предыдущий вариант будет неэффективен и нам срочно нужен инновационный прорыв. К счастью, это потребует лишь несколько простых телодвижений, так что мы сейчас прорвёмся и отчаянно ворвёмся в наше светлое линуксовое счастье.
1. Разметка винчестера и создание файловой системы.
Для создания таблицы разделов в Linux используем команду cfdisk (есть подробное описание по разметке дисков в Linux):
Например, диск-источник, на котором хранятся все файлы, это /media/debian - туда примонтирован IMG-образ системы, которую нужно залить на свежий раздел. Теперь монтируем диск-приёмник куда-нибудь в укромное место (чтобы данные рекурсивно не копировались), например в пустующий в Debian каталог /srv
Так же стоит поменять /srv/etc/fstab на предмет монтирования корневого каталога - если новый диск будет определён как /dev/sda1, а в fstab будет указан /dev/hda1, ядро этому не обрадуется и не загрузится (что не страшно при использовании загрузчика grub). Так же вносим изменения в /srv/etc/fstab новой системы на предмет подключения swap-разделов или файлов. Например, если новый своп-раздел будет находиться на втором разделе новой системы, пишем:
4. Установка загрузчика Linux.
Это довольно просто сделать, загрузившись хотя бы с Knoppix. Например, при использовании загрузчика GRUB даём команду:
Добавляем, меняем и удаляем Linux-пользователей в новой системе
Для этого залогиниваемся root-ом и начинаем борьбу с пользователями.
useradd - добавить нового пользователя
Пример - добавить пользователя roger:
userdel - удалить пользователя
usermod - модифицировать данные о пользователе
Опции:
passwd - модифицировать пароль пользователя
Опции:
Пища для размышлений и медитаций в разных интернетах вкусна и обильна: о клонировании установленный систем, а так же о некоторых способах копирования Linux.
Так же представляет интерес метод с LVM, привнесённый в процессе дискуссии ув.тов.Анонимусом:
1) Создать LVM раздел на новом винчестере (fdisk).
2) Включить его в vg группу (vgextend).
3) Переместить все PE со старого винчестера на новый (pvmove).
4) Удалить разделы на старом винчестере из vg группы (vgreduce).
Если геометрия жёсткого диска с Linux и нового диска одинаковая (новый винчестер на компьютере точно такой же), то можно использовать наш любимый старый-добрый dd.
Для этого залогиниваемся как root (или используем sudo) и пишем в консоли:
# dd if=/dev/sda of=/dev/sdb
здесь
- /dev/sda : диск-источник (с настроенной системой)
- /dev/sdb : диск-приемник (на который копируем систему).
# dd if=/dev/sda of=/dev/sdb
bs 1048576
По
окончании копирования диск-приёмник готов к употреблению - разве что
можно создать на нём другого пользователя или отредактировать уже
имеющегося (о чём см. ниже). Кстати, если вместо /dev/sdb указать
обычный файл вроде linux.img, то мы получим образ диска c Linux и можем
использовать его для работы в виртуальных машинах.
Разная геометрия дисков источника и приёмника.Это приведёт к тому, что предыдущий вариант будет неэффективен и нам срочно нужен инновационный прорыв. К счастью, это потребует лишь несколько простых телодвижений, так что мы сейчас прорвёмся и отчаянно ворвёмся в наше светлое линуксовое счастье.
1. Разметка винчестера и создание файловой системы.
Для создания таблицы разделов в Linux используем команду cfdisk (есть подробное описание по разметке дисков в Linux):
cfdisk /dev/sdb
Нажимаем на
New, создать раздел. Выбираем Primary (основной), когда он создастся,
нажимаем Bootable (если нужно, чтобы он был загружаемый). После этого
надо отформатировать раздел (например, в надёжную и стабильную файловую
систему EXT3):
sudo mkfs -t ext3 /dev/sdb1
Если же вам нужно перекроить разделы, скажем, для установки Windows и Linux на одной машине, лучше всего воспользоваться Live CD Gparted. Теперь можно начинать копировать файлы с одного диска на другой.
2. Перенос Linux на другой диск или раздел.Например, диск-источник, на котором хранятся все файлы, это /media/debian - туда примонтирован IMG-образ системы, которую нужно залить на свежий раздел. Теперь монтируем диск-приёмник куда-нибудь в укромное место (чтобы данные рекурсивно не копировались), например в пустующий в Debian каталог /srv
mount -t auto /dev/sdb1
/srv
Переходим в каталог /media/debian/ и, находясь в этом каталоге, вводим длинную команду в одну строчку:cp -a bin/ boot/ etc/ home/ lib/ opt/ root/ sbin/ tmp/ usr/ var/ /srvЗдесь серым выделены опциональные каталоги /home и /tmp : скопировать их можно, если они вам нужны (например, можно захотеть сделать нового пользователя в новой системе). 3. Досоздаем каталоги: /dev /proc /srv /sys /mntКопировать эти каталоги НЕ НАДО, вместо это досоздаём пустые каталоги для них - это все псевдо-файловые системы (кроме /mnt естественно).
Так же стоит поменять /srv/etc/fstab на предмет монтирования корневого каталога - если новый диск будет определён как /dev/sda1, а в fstab будет указан /dev/hda1, ядро этому не обрадуется и не загрузится (что не страшно при использовании загрузчика grub). Так же вносим изменения в /srv/etc/fstab новой системы на предмет подключения swap-разделов или файлов. Например, если новый своп-раздел будет находиться на втором разделе новой системы, пишем:
После этого осталось только установить загрузчик Linux./dev/sdb2 swap swap defaults 0 0
4. Установка загрузчика Linux.
Это довольно просто сделать, загрузившись хотя бы с Knoppix. Например, при использовании загрузчика GRUB даём команду:
/sbin/grub-install --root-directory=/srv --recheck
/dev/sdb
Здесь /dev/sdb
это диск-приёмник (на который копируем систему). Так же можно установить загрузчик с помощью chroot:
chroot /srv grub-install /dev/sdb
Образцы конфигов, коими можно и нужно воспользоваться, должны быть на
диске-источнике. В общих чертах процесс закончен - можно попробовать
загрузиться с новой системы и навести финальный марафет - например,
добавить новых пользователей.Добавляем, меняем и удаляем Linux-пользователей в новой системе
Для этого залогиниваемся root-ом и начинаем борьбу с пользователями.
Пример - добавить пользователя roger:
useradd -gusers -Gmgmt -s/bin/sh -pxxxx -d/home/roger -m rogerОпции:
- -d домашний каталог
- -s задать стартовую оболочку (/bin/sh)
- -p пароль
- -g основная группа, к которой приписывается пользователь
- -G другие группы к которой приписывается пользователь
- -m создать для пользователя домашний каталог
userdel - удалить пользователя
userdel -r rogerОпции:
- -r удалить пользователя вместе с домашним каталогом
usermod - модифицировать данные о пользователе
- -d домашний каталог
- -s задать стартовую оболочку (/bin/sh)
- -p пароль
- -g основная группа, к которой приписывается пользователь
- -G другие группы к которой приписывается пользователь
passwd - модифицировать пароль пользователя
- имя_пользователя (для изменения пароля пользователя имя_пользователя)
Весь процесс переноса системы занимает от получаса до часа включая перекуры.
Внеклассное чтениеПища для размышлений и медитаций в разных интернетах вкусна и обильна: о клонировании установленный систем, а так же о некоторых способах копирования Linux.
Так же представляет интерес метод с LVM, привнесённый в процессе дискуссии ув.тов.Анонимусом:
1) Создать LVM раздел на новом винчестере (fdisk).
2) Включить его в vg группу (vgextend).
3) Переместить все PE со старого винчестера на новый (pvmove).
4) Удалить разделы на старом винчестере из vg группы (vgreduce).
Комментариев нет:
Отправить комментарий