Регистрация Войти
Вход на сайт
Качественные бесплатные шаблоны dle скачать с сайта
» » » Перенос FreeBSD на другой HDD

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

30-07-2010
Автор: synergix
Просмотров: 6 845
Комментариев: 0
Версия для печати
Иногда приходится сталкиваться с тем, что по какой-либо причине требуется перенос FreeBSD на новый жесткий диск, причем причины могут быть самые разные - новый диск большего объема, на старом появились bad-сектора, или просто произошел тотальный upgrade компьютера и старый диск выглядит анахронизмом. Конечно, самый правильный способ - установить системы с нуля, но когда задумываешься что надо снова ставить все программы, вспоминать все настройки в конфигах - становится немного не по себе, а зачастую и вовсе лениво. Но есть и другой способ. Заключается он в том что вся работающая система переносится на новый диск.
Итак, что нам требуется - 1 HDD с установленной и рабочей системой, 1 HDD на который будет это все переноситься.
Устанавливаем новый HDD в компьютер, проверяем в BIOS его наличие и грузим FreeBSD.
Предположим, что система определила новый диск как ad2.
В консоли root запускаем
#sysinstall

в ней выбираем
Configure -> Fdisk, ad2.

Создаём FreeBSD slice на всём свободном пространстве диска. Нажимаем 's' (set bootable). Нажимаем 'w' (write changes). При выходе из fdisk задают вопрос, надо ли создать Master Boot Record? Выбираем Standard Install a standard MBR (no boot manager), и Yes.

Выходим из Fdisk и заходим в Label, выбираем ad2 нажимаем 'a' (auto-defaults for all), это создаст partition'ы для /, /var, /usr, swap; или можно выбрать размер каждой partition вручную. Затем, чтобы /stand/sysinstall смог отформатировать и сразу смонтировать, надо создать директории: /mnt/root, /mnt/var, /mnt/usr, командой 'm' для каждой partition указать одну из точек монтирования (mount points), нажать 'w' (write changes). После этого программа создаст файловые системы и примонтирует их к указанным точкам монтирования.

Если же вы будете создавать partition'ы вручную, то есть небольшая хитрость.

В FreeBSD Disklabel Editor установим курсор на новый диск создадим новую корневую файловую систему, указав ей в качестве точки монтирования /. Label отметит, что ad2s1a будет смонтирована на /. Обратите внимание: новая корневая файловая система должна быть именно с буквой a на конце. Для того, что бы Label правильно смонтировал эту файловую систему, встаньте на её описание и укажите в качестве точки монтирования /mnt/root.

Под пользователем root выполняем серию команд dump/restore (по одной на каждую файловую систему), например:

# cd /mnt/root; dump -f- / | restore -rf-
# cd /mnt/var; dump -f- /var | restore -rf-
# cd /mnt/usr; dump -f- /usr | restore -rf-

Тем самым файловые системы скопированы на новый диск.

Командой df уточняем соответствуют ли буквы partition'ов новых файловых систем старым. Если нет, изменяем новый /etc/fstab, который находится в /mnt/root/etc/fstab.

Например, если старый жёсткий диск в данный момент primary master (ad0), а новый - secondary master (ad2), старая /usr находится на /dev/ad0s1f, а новая - /dev/ad2s1f, ничего менять не надо, так как когда мы переставим новый винчестер на место старого, эта система опять будет /dev/ad0s1f.
Если же новая /usr стала, скажем, /dev/ad2s1g, в /mnt/root/etc/fstab следует изменить расположение ad0s1f на ad0s1g.
Если пришлось изменить /mnt/root/etc/fstab, следует убедиться в существовании всех устройств /dev/*, указанных в этом файле, иначе новая система не загрузится. Если таковые отсутствуют - создать, например:

# cd /dev; sh ./MAKEDEV ad0s1g


После этого устанавливаем новый жёсткий диск на место старого, и пытаемся загрузить ОС. Если ОС не загружается, скорее всего ошибка в /etc/fstab или в /dev нет нужных устройств.
Рейтинг статьи:
  • 0
  
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.