Клонировать внутренний HDD на новый SSD

20

Я недавно установил SSD на мою машину. Сама машина Lenovo ThinkPad W520, и ранее у нее был внутренний жесткий диск. Я переместил внутренний жесткий диск в отсек расширения (заменив компакт-диск) и вставил новый SSD во внутренний отсек.

У меня проблема в том, что у меня есть конфигурация Ubuntu именно так, как я хочу - изначально я потратил много часов на ее настройку, чтобы привести ее в порядок. Я бы предпочел не делать это снова. Но я также хотел бы получить выгоды от загрузки, которые я получил бы от операционной системы на SSD.

Итак, что я хотел бы сделать, это клонировать мой раздел Ubuntu на SSD. Подвох в том, что стандартный HDD значительно больше, чем SSD. И у него есть раздел Windows, который мне не нужен на SSD (я никогда не использую Windows, поэтому, если он загружается с другого жесткого диска, это нормально). Расположение моих жестких дисков выглядит следующим образом:

/ dev / sda (SSD): модель: ATA M4-CT256M4SSD2 (scsi) Диск / dev / sda: 256 ГБ Размер сектора (логический / физический): 512B / 512B Таблица разделов: msdos

Number  Start   End    Size   Type     File system  Flags
 1      1049kB  147GB  147GB  primary  ext4         boot

/ dev / sdb (HDD): Модель: ATA ST9500420AS (scsi) Диск / dev / sdb: 500 ГБ Размер сектора (логический / физический): 512B / 512B Таблица разделов: msdos

Number  Start   End     Size    Type      File system     Flags
 1      1049kB  1259MB  1258MB  primary   ntfs            boot
 2      1259MB  269GB   268GB   primary   ntfs
 4      269GB   483GB   214GB   extended
 5      269GB   416GB   147GB   logical   ext4
 7      416GB   475GB   58.9GB  logical   linux-swap(v1)
 6      475GB   483GB   8470MB  logical
 3      483GB   500GB   16.8GB  primary   ntfs

Что я пробовал до сих пор:

1) Изменение размеров разделов / dev / sdb5 и / dev / sda1 до одинакового размера. 2) Загрузка в Ubuntu 11.04 (из / dev / sdb5) и запуск dd if = / dev / sdb5 of = / dev / sda1 (конечно, это вызывает проблемы с загрузкой, поэтому мне пришлось переустановить grub .. Я могу получить его в загрузиться, но у меня проблемы с initrd, который не находит некоторые файлы ... возможно, он не может загрузить некоторые разделы).

Теперь я думаю, что эти два шага - неправильный подход, потому что он клонирует / dev / sdb5 ТОЧНО - включая ссылки в fstab, которые указывают на неправильный жесткий диск. Я не уверен, как именно это исправить. Я мог бы установить Ubuntu 11.04 на SSD, затем попытаться скопировать все мои конфигурации, но я обеспокоен тем, что что-то потеряю, или что я перезаписываю что-то вроде fstab, которое указывает на оригинал жесткий диск.

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

Предложения о том, как я мог бы преодолеть эту трудность?

Заранее спасибо!

jwir3
источник

Ответы:

13

Существует несколько способов перевести старую систему на новый диск, но вы не спросили об этом, вы спросили, как клонировать систему.

Я бы сам использовал gparted с live CD, чтобы ни один раздел не был смонтирован. Вы можете уменьшить исходный раздел до размера, который вы хотите, чтобы он был на SSD, а затем скопировать и вставить раздел на новый диск. Если я правильно помню, это будет использовать тот же UUID, но вы можете изменить его на том или ином разделе впоследствии. Команда для этого sudo tune2fs -U random /dev/sdb5назначает UUID для SDB5.

Если вы не хотите менять старую систему, и если вы хотите некоторое время смонтировать ее, вы можете изменить UUID для раздела SSD и отредактировать свой fstab. Это на самом деле совсем не сложно, и это то, о чем вы должны узнать. Это довольно очевидно для тех, у кого уже есть знания. Назначив новый UUID, вы можете увидеть их все с помощью этой команды: sudo blkid -c /dev/null- параметр -c указывает файл кеша, а / dev / null означает, что кеш не используется, поэтому вы всегда получаете любые изменения сразу. Я всегда использую эту форму и не вижу никаких недостатков, если у вас не много разделов.

Получив UUID, вы можете скопировать и вставить его поверх старого в / etc / fstab, используя gedit или любой другой текстовый редактор, который вы предпочитаете.

Лично, вместо того, чтобы сначала потратить время на изменение размера раздела, я просто скопировал бы старую установку на новый диск. Если вы не знаете, как установить GRUB на mbr, вы можете сначала установить базовую Ubuntu, затем создать резервную копию / etc / fstab, скопировать поверх него старую установку, а затем скопировать fstab из новой установки, чтобы она имеет только правильные записи.

Марти Фрид
источник
Это очень полезно, спасибо. Я собираюсь попробовать это и посмотреть, смогу ли я заставить его работать. Тогда я вернусь и приму ответ или спрошу вас об этом. ;)
jwir3
1
Я много раз использовал live install CD, так как он содержит почти все, что вам нужно. Но лучший реальный образ спасения, который я использовал, это System Rescue CD . Этот загрузочный компакт-диск, также доступный как USB-накопитель, исправил GRUB для меня несколько раз после того, как что-то (или кто-то, кто останется безымянным) уничтожил его. Он имеет gparted, grub tools и все остальное, что вы хотели бы исправить установкой linux, без лишних затрат. Это то, о чем вы спрашивали?
Марти Фрид
1
Добро пожаловать, и удачи.
Марти Фрид
1
Это сработало хорошо. Одна вещь, в которой я был немного не уверен, это то, как настроить grub и, более конкретно, что есть очень разные способы настройки grub legacy и grub2. Я использовал следующее в качестве ссылки для grub2, как только я установил его ( apt-get install grub2): dedoimedo.com/computers/grub-2.html Первоначально я использовал метод установки grub2, когда фактически grub-legacy был установлен в моей системе.
jwir3
1
Ах да, привлекательный grub, и он улучшен, grub2 (НОВИНКА! УЛУЧШЕНО! СЕЙЧАС ДАЖЕ БОЛЬШЕ СЛОЖНО!). Извините, это моя вина; Я получил полное представление о старом личинке, поэтому, конечно, они изменили его. Затем, когда я подумал, что получаю grub2, они внесли еще несколько незначительных изменений, несовместимых с предыдущей версией. Вот почему я предложил сначала установить базовую версию, просто чтобы настроить grub. Но это хорошая идея, чтобы изучить grub, и это на самом деле не так уж сложно, правда. Вы перешли на grub2 сейчас?
Марти Фрид
5

Загрузитесь с livecd, смонтируйте оба диска, затем просто скопируйте файлы с помощью sudo cp -ax /media/source /media/dest. Отредактируйте / etc / fstab в месте назначения, указав правильный UUID (посмотрите с помощью blkid), и переустановите grub.

psusi
источник
Я бы так и сделал, но мне потребовалось целое время, чтобы разобраться с grub2 - в основном из-за множества различных методов, которые я читал, ни один из которых не казался завершенным. В вашем посте предполагается, что человек находится на том же уровне, что и вы, или, возможно, вы просто предполагаете, что он спросит о неизвестных частях (что, вероятно, нормально). Но любопытно, что вы указали самую простую часть, команду копирования, и немного замаскировали более сложные части. :)
Марти Фрид
3
@MartyFried, быстрый Google переходит прямо на help.ubuntu.com/community/Grub2#Reinstall_GRUB2 , который говорит, что это так же просто, как запустить grub-install --root-directory /mnt /dev/sdaпосле монтирования раздела Ubuntu в / mnt;)
psusi
Ах, я рад слышать, что они улучшились или добавлены в документацию. Это было для меня какое-то время, но когда я пытался справиться с этим, даже официальная документация GRUB была не совсем правильной. Кроме того, произошла смена версии GRUB2, из-за которой произошел сбой из-за неясного сообщения об ошибке. Но проблема с форумами Ubuntu, которую я часто посещал, состоит в том, что много дезинформации повторяется до тех пор, пока люди не понимают, о чем они говорят, - не все, но иногда трудно разобраться.
Марти Фрид
2

Я бы рекомендовал избегать использования, dd if=/dev/sdb5 of=/dev/sda1если ваша система работает /dev/sdb5сама по себе (и предположительно не смонтирована только для чтения).

Другой способ скопировать разделы - это загрузиться с live CD (или USB) и запустить GParted. Вы можете использовать Ctrl + C / Ctrl + V для копирования разделов с одного диска на другой.

После создания копии (и, возможно, после перезагрузки необходимо обновить таблицу разделов), все еще с live CD, смонтируйте новый корневой раздел с помощью терминала:

sudo mount /dev/sda1 /mnt

Затем отредактируйте, /mnt/etc/fstabчтобы указать на правильные местоположения.

Bruno
источник
1
если вы ddиспользуете live CD, вам не нужно редактировать fstab при условии, что он использует UUID (что и должно быть).
Alecz
0

Скрипт bash clone-ubuntu.shавтоматизирует шаги, которые обрисовывает принятый ответ. Меню позволяет легко найти новый раздел:

Клон-ubuntu.png

Посетите ссылку выше для получения копии сценария и важных моментов, которые следует учитывать, таких как:

  • rsync используется для клонирования загруженного раздела, а системные виртуальные каталоги правильно пропускаются.
  • /etc/fstab целевого клона обновлен с правильными UUID для загрузки.
  • /etc/grub/grub.cfg обновлен для бесшовной загрузки grub.
WinEunuuchs2Unix
источник