Переместить установку на новый диск

10

В настоящее время у меня есть один HD с этими разделами:

/dev/sdb1    /
/dev/sdb2    swap
/dev/sdb3    /home

Я думаю о покупке SSD для моего /раздела.

Теперь мой вопрос: возможно ли переместить / преобразовать мою текущую конфигурацию в новую (два диска, / home остается)? Предположительно изнутри работающей системы?

Крис
источник

Ответы:

11

Я рекомендую против использования dd. Он просто делает тупой сектор за сектором, что означает, что он потерпит неудачу, если целевой раздел меньше, и тратит много времени на копирование свободного пространства, а если целевой раздел больше, дополнительное пространство не будет доступно, пока вы не запустите resize2fsрасширить файловую систему.

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

Отформатируйте ssd и подключите как новый раздел ssd, так и исходный корневой раздел, а затем просто запустите sudo cp -ax /media/old-partition/* /media/new-partition, где старые и новые разделы будут заменены фактическими точками монтирования. Это скопирует каждый файл, сохранив права собственности, разрешения и временные метки.

Затем запустите sudo grub-install --root-directory=/media/new-partition /dev/SSD_DEVICE, подставив правильные значения для нового раздела и SSD_DEVICE. Это установит grub, делая диск загрузочным.

После перезагрузки (убедитесь, что ваш BIOS настроен для загрузки с SSD вместо старого диска), убедитесь, что вы работаете с SSD, а не со старого диска, проверив вывод dfи / или mount, и вы должны быть хорошо сдуть старый раздел.

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

Редактировать: добавлено / * в копии выше, но необходимо редактировать, чтобы быть более 6 символов. Теперь это 101 персонаж!

psusi
источник
1
Я предполагаю, что сработало?
Мартин Уединг
2
У меня были проблемы с установкой Grub, используя метод выше. В конце концов я сделал то, что предлагает этот поток: askubuntu.com/a/3409/8152 , чтобы установить и установить grub на другой диск. Остальная часть ответа работала отлично.
Младен Ябланович
1

Эта команда:

dd if=/dev/sdb1 of=DEVICE_PATH_OF_SSD_DRIVE

должно работать для клонирования /раздела на SSD диск.

РЕДАКТИРОВАТЬ: это будет работать, только если ваш раздел имеет тот же размер, что и диск. Если они не одинакового размера, вы можете использовать partimage :

partimage -z0 -d save /dev/sdb1 clone.partimg
partimage restore DEVICE_PATH_OF_SSD_DRIVE clone.partimg
rm clone.partimg

Предложением этого метода является то, что на диске должно быть достаточно места для образа, содержащего все содержимое /. Вы должны быть в порядке, если у вас есть> 10 ГБ бесплатно. В противном случае вы можете использовать -z1вместо -z0сжатия изображения. Для еще большего сжатия используйте -z2. Кроме того, partimage не поддерживает файловую систему ext4 .

После того, как вы это сделаете, вы должны смонтировать SSD и проверить, правильно ли скопированы ваши данные:

$ mkdir /tmp/ssd
$ sudo mount -t ext4 DEVICE_PATH_OF_SSD_DRIVE /tmp/ssd
$ ls /tmp/ssd
bin    dev   initrd.img      lost+found  opt   sbin     sys  var
boot   etc   initrd.img.old  media       proc  selinux  tmp  vmlinuz
cdrom  home  lib             mnt         root  srv      usr  vmlinuz.old

Замените ext4файловой системой, которую вы использовали /.

Вам, вероятно, потребуется установить загрузчик GRUB на этот диск:

sudo grub-install DEVICE_PATH_OF_SSD_DRIVE

Затем вам нужно будет отредактировать ваш /etc/fstabфайл, чтобы заменить /dev/sdb1путь устройства вашего SSD-накопителя в записи, которая монтируется на /. ( sudo $EDITOR /etc/fstab)

Пожалуйста, подождите, пока в этом ответе будет несколько голосов, прежде чем следовать этим инструкциям. Я не эксперт в этих вещах, поэтому я мог пропустить некоторую жизненно важную информацию. Любой, кто видит какие-либо недостатки в этом, пожалуйста, добавьте комментарий, объясняющий их. Вы должны принять такие меры предосторожности, потому что если что-то пойдет не так, это может привести к тому, что ваш компьютер не загрузится.

dv3500ea
источник
(-1) Это решение более чем опасно . Особенно если размеры устройств не совпадают.
Рафаэль Боссек
Он также скопирует UUID исходного диска, если вы используете dd.
Майкл
0

Сначала прочитайте, как выполнить миграцию. Существует ли простой способ переноса ОС с одного жесткого диска на другой? ,

Загрузитесь с вашего SSD и добавьте следующую строку /etc/fstab(это только привязка):

/media/slowhd/home /home none rw,bind 0 0

Начните mount -aделать изменения активными.

Совет : не делайте этого, mount /dev/yourhd /homeпотому что вы теряете гибкость, чтобы перемещать дополнительные каталоги на ваш старый жесткий диск.

Более техническим решением будет использование LVM (менеджер логических томов) .

Рафаэль Боссек
источник