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

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

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

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

/ dev / sda (SSD): Модель: ATA M4-CT256M4SSD2 (scsi) Диск / dev / sda: 256 ГБ Размер сектора (логический / физический): 512 Б / Таблица разделов 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, которое указывает на оригинал жесткий диск.

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

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

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

24
задан 4 April 2012 в 21:42

4 ответа

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

Я бы просто использовал 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 из новой установки, чтобы она содержит только правильные записи.

14
ответ дан 4 April 2012 в 21:42

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

6
ответ дан 4 April 2012 в 21:42

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

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

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

sudo mount /dev/sda1 /mnt

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

3
ответ дан 4 April 2012 в 21:42

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

clone-ubuntu.png

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

  • rsync используется для клонирования загружаемого раздела и виртуальной системы. каталоги правильно пропущены.
  • / etc / fstab целевого клона обновлен с правильными UUID для загрузки.
  • /etc/grub/grub.cfg обновлен для бесшовной загрузки grub.
1
ответ дан 4 April 2012 в 21:42

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

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