Как переместить установку Linux между разделами?

2874
linux_is_for_desktop

Я получил новый жесткий диск и хочу переместить существующую установку Linux (более конкретно: OpenSUSE 11.1) из раздела на старом жестком диске в раздел на новом жестком диске.

Мой план:

  1. загрузиться с загрузочного компакт-диска (скажем, это загрузочный компакт-диск OpenSUSE)

    РЕДАКТИРОВАТЬ Как предложено многими людьми (спасибо всем)
    1a. скопировать все файлы с одного диска на другой

  2. изменить / etc / fstab ( добавить точки монтирования в новые разделы)
  3. изменить /boot/grub/menu.conf ( добавить загрузочный раздел)
  4. переустановить личинку

Я прав? Это все?
Или я пропустил какой-то важный шаг? (Я почти уверен, что сделал)

8
Вы пропустили этап фактического копирования файлов из старого раздела в новый. некоторые могут сказать, что это было довольно важно :) cas 15 лет назад 1

3 ответа на вопрос

4
Axxmasterr

Я бы сказал, что ты упустил одну вещь.

  1. загрузиться с загрузочного компакт-диска (скажем, это загрузочный компакт-диск OpenSUSE)

    1a. скопировать все файлы с одного диска на другой

  2. изменить / etc / fstab (изменить точки монтирования на новые разделы)

  3. изменить /boot/grub/menu.conf (изменить загрузочный раздел)
  4. переустановить личинку

Я бы сказал, если вы настроите раздел на новом диске, чтобы он был совместим со старыми настройками, это должно быть довольно просто. Это может быть немного сложнее, если вам нужно отредактировать расположение точек монтирования внутри файлов ОС. Я бы порекомендовал сделать разделы достаточно похожими, чтобы все, что вам нужно было сделать, это загрузить, смонтировать новый диск, скопировать, изменить загрузочный раздел, переустановить grub на новый диск. удалите старый диск, и все готово!

Вы должны быть осторожны с копированием, хотя. Используйте опцию -a для cp. Kim 15 лет назад 0
или используйте rsync. у него есть преимущество в том, что если что-то прерывает копирование, вы можете просто запустить rsync снова, и он будет продолжать с того места, где остановился, а не начинать сначала. в порядке предпочтения правильными инструментами для этой работы являются: rsync, tar, cp -a cas 15 лет назад 5
+1 Предложение Крэйга выше - действительно хороший совет. Axxmasterr 15 лет назад 0
1
nagul

Вам необходимо скопировать файлы, как указал Axxmasterr. Все остальное выглядит правильно для меня. Другие пошли по очень похожему пути: перенесли установку GNU / Linux в новый раздел

Будьте осторожны с командой cp, которую вы используете для копирования файлов. Используйте параметр -a, чтобы обеспечить правильное поведение при нажатии на символические ссылки и сохранить информацию о владельце.

Некоторые люди использовали tar вместо cp для копирования файлов в новый раздел:

$ cd sourcedir; tar --create --file = -. | (cd targettdir; tar --extract --file = -)

Как указано в ссылке в начале, вы можете оставить старую запись в файле grub и просто добавить новую, на случай, если вам придется вернуться.

Удачи!

Я рекомендую изменить точку с запятой в этой команде на && (условные операторы), чтобы последующие команды 'tar' не выполнялись, если chdir () завершился неудачей по какой-либо причине (опечатка, права доступа и т. Д.). Также я рекомендую использовать параметр -S (--sparse) с параметром 'tar' --create, чтобы включить обработку разреженных файлов, таких как, например, некоторые экземпляры / var / log / wtmp или / var / run / utmp). Jim Dennis 13 лет назад 0
1
Fred Hamilton

Я думаю, что это сработает.

Если на каждом жестком диске только один раздел, а новый диск имеет тот же размер или больше, чем исходный диск, то более быстрый способ - просто клонировать старый (/ dev / xxx, где xxx = ваш оригинальный диск sda)., hdb и т. д.) к новому (/ dev / yyy).

Так что шаги будут:

  1. Загрузка с использованием живого CD
  2. sudo dd if = / dev / xxx of = / dev / yyy bs = 32k

Удостоверьтесь, что вы получили if (входной файл) и верны, иначе вы забьете весь свой старый диск.

Выполнение dd также скопирует файловую систему, возможно, она не подготовлена ​​к изменению размера диска (даже если на новом диске больше места) Joakim Elofsson 15 лет назад 0
Правда, клонированный раздел на новом диске будет иметь тот же размер, что и исходный раздел на старом диске, поэтому вам необходимо расширить его, чтобы использовать новый диск полностью (я бы использовал gparted). Если вы также хотите изменить файловые системы, то подход "cp -a", упомянутый в другом ответе, лучше. Fred Hamilton 15 лет назад 0
Вы можете изменить размеры файловых систем ext2-3-4, используя resize2fs. Другие файловые системы имеют аналогичные инструменты. Для ext также возможно уменьшить размер файловой системы. Я всегда предпочитал это по сравнению с подходами cp / tar / dump. Kristof Provost 15 лет назад 0

Похожие вопросы