1) Что описывает этот документ?
2) Для чего это надо?
3) Описание процесса переноса.
4) Полезная информация.
1) Что описывает этот документ?
Данный документ описывает каким образом можно перенести FreeBSD с одного
жёсткого диска на другой.
2) Для чего это надо?
Вы установили FreeBSD и активно используете её (как клиент, либо как сервер).
Если вы захотели перенести текущую конфигурацию на другой жёсткий диск или
вдруг ваш жёсткий диск начал "сыпаться", то что делать? Далее описано как можно
достаточно безболезненно перенести систему с одного жёсткого диска на другой.
3) Описание процесса переноса.
Останавливаем операционную систему (далее ОС) с помошью команды halt
и выключаем компьютер.
Подключаем новый жёсткий диск, определяем его в BIOS и загружаем ОС.
Допустим, что новый диск ОС определила как ad2
.
Запускаем от пользователя root
программу /stand/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
нет нужных устройств.
df(1) ata(4) fstab(5) MAKEDEV(8) boot(8) dump(8) halt(8) restore(8) sysinstall(8)