Как переместить загрузочный и корневой разделы на другой диск

У меня есть два диска на моем компьютере, которые имеют следующую конфигурацию:

Drive 1: 160GB, /home
Drive 2: 40GB, /boot and /

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

У меня достаточно места на диске 1, поэтому я хотел бы переместить на него разделы / и / boot, вынуть диск 2 из системы, заменить диск 2 новым диском, а затем выполнить процесс в обратном порядке. .

Я полагаю, мне нужно обновить grub, и мне нужно кое-что переделать, но я довольно озадачен, как именно это сделать. Так как это мой главный компьютер, я хочу быть осторожным, чтобы не испортить вещи, чтобы я не мог загрузиться.

27
задан 1 September 2010 в 04:56

3 ответа

Мое окончательное решение для этого было сочетание нескольких методов. Я подключил диск и его замену к компьютеру одновременно. Новый диск был меньше старого, поэтому я сократил разделы на старом с помощью gparted. После этого я скопировал разделы на старый диск и вставил их на новый (также используя gparted). Затем я добавил флаг загрузки в правильный раздел на новом диске, чтобы он фактически был зеркалом старого диска.

Все это работало хорошо, но мне нужно было обновить grub2 в соответствии с инструкциями здесь: это было сделано, кажется, все работает. Спасибо всем за помощь.

0
ответ дан 1 September 2010 в 04:56

Вам нужно будет загрузиться с живого компакт-диска. Добавьте для них разделы на диск 1, скопируйте все содержимое, а затем используйте sudo blkid, чтобы получить UUID каждого раздела. На новом диске 1 / отредактируйте / etc / fstab, чтобы использовать новые UUID, которые вы только что искали.

Обновление GRUB зависит от того, является ли это GRUB1 или GRUB2. Если GRUB1, вам нужно отредактировать /boot/grub/device.map

Если GRUB2, я думаю, вам нужно смонтировать ваши разделы так, как они будут в реальной ситуации. Например:

sudo mkdir /media/root
sudo mount /dev/sda1 /media/root
sudo mount /dev/sda2 /media/root/boot
sudo mount /dev/sda3 /media/root/home

(Разумеется, заполняя любые фактические разделы, в которые вы копировали данные)

Затем привяжите mount / proc и / dev в / media / root:

sudo mount -B /proc /media/root/proc
sudo mount -B /dev /media/root/dev
sudo mount -B /sys /media/root/sys

Теперь подключитесь к диску, чтобы вы могли принудительно обновить GRUB в соответствии с новым макетом:

sudo chroot /media/root
sudo update-grub

Вторая команда подаст одну жалобу (я забыл, что это хотя ...), но это нормально игнорировать.

Проверьте это, удалив неисправный диск. Если это не сработает, плохой диск все равно сможет загрузить систему, но я считаю, что это все необходимые шаги.

0
ответ дан 1 September 2010 в 04:56

Если вы замените диск сразу, вы можете использовать dd (пробовал его на моем сервере несколько месяцев назад, и он работал как чудо).

Для этого вам также понадобится загрузочный CD.

  1. Запустить загрузочный CD
  2. Монтировать только диск 1
  3. Запустить dd if=/dev/sdb1 of=/media/drive1/backuproot.img - sdb1 - ваш корневой (/) раздел. Это сохранит весь раздел в файле.
    • то же самое для /boot
  4. Выключите, замените диск, включите питание
  5. Запустите dd if=/media/drive1/backuproot.img of=/dev/sdb1 - запишите его обратно.
    • то же самое для /boot

Приведенное выше создаст 2 раздела с точно таким же размером, как и раньше. Возможно, вам придется настроить grub (проверьте пост macos).

Если вы хотите изменить размер своих разделов (как я сделал):

  1. Создайте 2 раздела на новом диске (для / и /boot; размер по вашему желанию)
  2. Смонтируйте образ резервной копии: mount /media/drive1/backuproot.img /media/backuproot/
  3. Смонтируйте пустой раздел /: mount /dev/sdb1 /media/sdb1/
  4. Скопируйте его содержимое в новый раздел (я не уверен насчет этой команды , действительно важно сохранить собственность, cp -R не сделает этого!) cp -R --preserve=all /media/backuproot/* /media/sdb1
    • то же самое для /boot/

Это должно сделать это.

0
ответ дан 1 September 2010 в 04:56

Другие вопросы по тегам:

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