При замене жесткого диска бывает необходимо перенести целиком систему с одного диска на другой. Это можно сделать прямо из своей ситсемы, без необходимости загрузки с CD и т.д. Правда, в single-user переключиться все же придется.
Итак, пусть старая система находится на /dev/hda, новый диск подключен как /dev/hdb. Сначала создадим на нем раздел(ы) под новую систему. Для этого запустим команду cfdisk /dev/hdb. Выбираем свободное место, жмем New, Primary, вводим размер в мегабайтах, жмем Beginning. При необходимости (если, например, /home находится на отдельном разделе) создаем еще разделы. Все они автоматически получат тип раздела 83 (Linux native). Не забудьте создать раздел подкачки и кнопкой Type поменять ему тип раздела на 82 (Linux swap). Затем нажмите кнопку Write и введите yes. Если программа скажет, что для обновления таблицы разделов нужна перезагрузка - сделайте это.
Для копирования системы надо перейти в однопользовательский режим. Для этого выполните команду init 1 и войдите под рутом (если надо перезагружаться - можете сразу при запуске системы передать ядру параметр 1 и загрузиться в однопользовательском режиме). Теперь, когда все процессы остановлены, а файлы закрыты, можно не бояться, что какой-то файл будет открыт на запись во время его копирования.
Отформатируем созданные разделы в нужную ФС. Перед этим командой fdisk -l /dev/hdb желательно посмотреть список разделов, чтобы точно знать, какие обозначения у подлежащих форматированию разделов. Собственно форматирование выполняется командой mkfs.ext3, mkfs.xfs или mkfs.reiserfs, в зависимости от типа ФС. Раздел подкачки инициализируется командой mkswap.
Теперь смонтируйте новый корневой раздел куда-нибудь (пусть это будет /mnt/new). Ну а теперь можно копировать старую систему на новый раздел. Одна из нескольких возможных команд для этого -
cp -ax / /mnt/new
Можно добавить -v, тогда имя каждого копируемого файла будет выводиться на экран, что позволит легко отследить прогресс копирования, но может сильно его замедлить. Поскольку задан ключ -x, содержимое псевдо-ФС (например, /proc) и файлы с разделов, отличных от корневого, копироваться не будут. Если часть системы вынесена на отдельные разделы (например, /home), смонтируйте новые разделы для них и проведите отдельное копирование для каждого из них (cp -ax /home /mnt/new/home, например).
Не забудьте поправить конфиг загрузчика в соответствии с новыми путями к ядру и, при необходимости, записать его в MBR или бутсектор на новом жестком диске. При этом не запутайтесь в обозначениях дисков и учитывайте изменения в них, если собираетесь переставить новый диск с hdb на hda.