Мини-HOWTO: Переход на новый жесткий диск |
---|
Пред. | | След. |
Скопируйте файлы со старого диска на новый
Вам, наверное, будет необходимо перейти в однопользовательский режим перед началом копирования диска - это необходимо для отключения системных демонов, остановки журналов и прекращения входа других пользователей в систему:
При копировании жесткого диска вам надо скопировать все каталоги и файлы, включая ссылки.
Однако, вам не нужно копировать каталог /new-disk, потому что это и есть
новый диск!
Более того, вам надо создать на новом диске каталог /proc, но содержимое
этого каталога копировать не нужно: /proc - это виртуальная файловая
система, и в ней нет настоящих файлов, а есть лишь информация о системе и
процессах, в ней работающих.
Существуют 3 разных способа копирования старого диска на новый. Это может занять значительное время, особенно если у вас большой диск или мало оперативной памяти. Минимум скорости копирования - примерно 10 Мб в минуту, а, скорее всего, это будет происходить значительно быстрее.
Вы можете следить за копированием командой "df", запущенной с другого
терминала. Используйте "watch df" или "watch ls -l /new-disk", чтобы видеть
отчет, обновляемый раз в две секунды; нажмите клавиши Ctrl-C для
прекращения просмотра. Помните, однако, что сам запуск команды "watch"
может замедлить процесс копирования.
- cp -ax / /new-disk
Это наиболее простой способ, но он подходит, только если ваша исходная система находилась на одном разделе.
Опция -a сохраняет исходную файловую систему настолько, насколько возможно.
Опция -x ограничивает работу команды cp одной файловой системой - поэтому
не нужно беспокоиться о каталогах /new-disk и /proc.
Для пользователей SuSE: . Используя этот метод, вы должны также создать каталог /dev/pts на новом
диске. Используйте команду "mkdir /new-disk/dev/pts".
| (Замечание: Новые версии cp, при использовании опции -x, создадут
пустые каталоги /new-disk/new-disk и
/new-disk/proc. В этом случае
необходимо удалить каталог /new-disk/new-disk, и оставить /new-disk/proc..)
|
- cd / && echo cp -a `/bin/ls -1Ab | egrep -v "^new-disk$|^proc$"` /new-disk | sh
(напишите все это в одной строке)
Эта команда перейдет в корневой каталог и затем скопирует все файлы и каталоги, кроме
/new-disk и
/proc в
/new-disk. Заметьте, что первый символ после ls - это цифра 1, а не буква L!
Эта команда должна работать в любом случае.
- cp -a /bin /boot /dev /etc /home /lib /lost+found /mnt /root /sbin /tmp /usr /var /new-disk
(напишите все это в одной строке)
Последний каталог - /new-disk - это назначение команды cp. Все остальные
каталоги - источники. Таким образом, мы копируем все каталоги из списка в
/new-disk.
При применении этого метода вы просто перечисляете каталоги, которые хотите
скопировать. Здесь мы указали все каталоги, кроме /new-disk и /proc. Если вы
не можете использовать первые два метода по каким-либо причинам, то всегда
можете вручную указать каталоги, которые необходимо скопировать.
Также надо учесть, что если в корневом каталоге есть файлы, то их тоже надо скопировать отдельной командой. В частности, это касается Debian и Slackware, так как эти дистрибутивы помещают файлы в корневой каталог:
В предыдущих версиях этого Мини-HOWTO упоминалось, что вы
можете использовать "tar" для копирования диска, но в этом методе была
обнаружена ошибка. Конечно, существуют и другие методы скопировать
диск, но эти три являются наиболее простыми, быстрыми и надежными.
После использования любого из этих методов вам также надо создать каталог /proc на новом диске, если его еще нет:
Затем вы можете проверить файловую систему нового диска, если хотите:
umount /new-disk
fsck.ext2 -f /dev/hdb1
mount -t ext2 /dev/hdb1 /new-disk |
Если на новом диске существует больше одного раздела, то вам придется
отключить их все "снизу вверх" до запуска fsck.ext2: в соответствии с
примером, приведенном выше, вам надо сначала отключить разделы 3-го уровня,
затем 2-го и, только в конце, первого.
Можно сравнить два диска, чтобы убедиться, что все скопировано верно:
find / -path /proc -prune -o -path /new-disk -prune -o -xtype f -exec cmp {} /new-disk{} \; |
(напишите все это в одной строке)
Для пользователей Slackware:
стандартная "базовая" установка Slackware (только файлы серии "A") не
включает команду "cmp", поэтому это сравнение не запустится, если у вас
установлены только базовые файлы. Команда "cmp" находится в файлах серии
"AP1".
Здесь мы сравниваем только обычные файлы, символьные же и блочные
устройства (из каталога /dev), гнезда (sockets), и т.п. здесь не
учитываются, так как команда "cmp" работает с ними не совсем корректно. Мы
будем не против, если кто-нибудь подскажет нам, как сравнить эти
"специальные" файлы.
Пред. | Начало | След. |
Подключите новый диск | | Исправьте необходимым образом файл /new-disk/etc/fstab |