Перемещение всей установки Linux на другой диск

У меня есть Ubuntu 14.04 с большим количеством пакетов и связанных с работой вещей, которыми я очень доволен. Он установлен на моем основном твердотельном накопителе емкостью 120 ГБ (я выбрал "/", когда устанавливал ubuntu, поэтому я считаю, что все должно быть на этом диске). Он отображается как /dev/sda

Теперь я добавил к своему компьютеру еще один твердотельный накопитель емкостью 240 Гб. В данный момент у меня нет под рукой других носителей информации (например, внешнего жесткого диска).

Поскольку новый диск объемом 240 ГБ, очевидно, имеет большую емкость и работает быстрее (более новое поколение, чем мой 120-гигабайтный), я хочу перенести свой Linux на этот новый диск. Этот новый диск отображается как / dev / sdb, и на данный момент он не отформатирован или что-то в этом роде (я буквально распаковал и вставил в свой компьютер прямо сейчас : P)

Как я могу безопасно перенести свою установку Linux на новый диск?

Я могу изменить кабель SATA, чтобы новый диск отображался как / dev / sda, если это необходимо.

Это вывод "fdisk -l", если это поможет:

Disk /dev/sda: 120.0 GB, 120034123776 bytes255 heads, 63 sectors/track, 14593 cylinders, total 234441648 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 4096 bytesI/O size (minimum/optimal): 4096 bytes / 4096 bytesDisk identifier: 0x00076d7a   Device Boot      Start         End      Blocks   Id  System/dev/sda1   *        2048   226064383   113031168   83  Linux/dev/sda2       226066430   234440703     4187137    5  ExtendedPartition 2 does not start on physical sector boundary./dev/sda5       226066432   234440703     4187136   82  Linux swap / SolarisDisk /dev/sdb: 240.1 GB, 240057409536 bytes255 heads, 63 sectors/track, 29185 cylinders, total 468862128 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x00000000Disk /dev/sdb doesn't contain a valid partition table

Это можно сделать несколькими способами. Но самый простой способ - просто скопировать все файлы со старого диска на новый.

  1. Создайте раздел ext4 и раздел подкачки на новом диске.

  2. Загрузитесь с LiveUSB.

  3. Смонтируйте старый раздел Ubuntu в какой-нибудь каталог, смонтируйте новый в какой-нибудь другой каталог.

  4. Скопируйте все файлы из старого в новый, используя cp -a команда.

  5. Установите grub на новый диск.

  6. Обновление /etc/fstab с новыми UUID.

Если что-то непонятно, я могу добавить несколько пояснений.

Вы можете использовать КЛОНЕЗИЛЛА для этой цели.

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

  • Скачать Клонезилла стабильная ISO или Прямая Загрузка clonezilla-live-2.4.6-25-amd64.iso

  • Создайте загрузочный (живой) USB-накопитель с помощью Смокинг 7.0.

  • Загрузитесь с созданного носителя Clonezilla.

  • Теперь у вас есть много вариантов :

    1. Создайте образ только из '/' (saveparts) и клонируйте его в любой раздел вашего другого SDD.
    2. Создайте образ полного диска (savedisk) и клонируйте его на свой новый твердотельный накопитель.

enter image description here

В вашем случае вы также можете использовать опцию "устройство-устройство", но я с ней не знаком.

Вы можете найти подробное руководство по Clonezilla здесь : http://clonezilla.org

На случай, если у вас есть немного времени и вы хотите перестраховаться:

$ dd if=/dev/sda of=/dev/sdb bs=64K conv=noerror,sync

Объяснение команды:

  • if является входным сигналом, of пункт назначения
  • bs задает размер блока. Это размер блоков, которые dd будет считывать и записывать. Более высокие размеры блоков обычно означают более высокую производительность, но также и большее повреждение данных, если на входном диске есть ошибки, см. Здесь: archwiki на dd
  • noerror продолжается в r/w-ошибках.
  • sync синхронизирует смещения, если произошла ошибка.

Кроме того, в Ubuntu и большинстве других систем Linux (начиная с GNU/coreutils 8.24, 2015) вы можете использовать status=progress чтобы также распечатать ход выполнения процесса.

Это в основном создаст образ вашего sda диска и запишет его на sdb (тот же макет раздела и т.д.). Конечно, это запишет все 120 ГБ, поскольку оно не зависит от файлов. Таким образом, очень безопасно, но не самое быстрое, если вы используете только небольшие части диска.Однако, если входной диск довольно заполнен, это может быть даже быстрее.

но:

  • После этого вы, вероятно, захотите изменить размер разделов, так как в противном случае вы не сможете воспользоваться дополнительным пространством.
  • В любом случае может потребоваться отредактировать файл /etc/fstab.
    Это имеет место, если для распознавания дисков используются идентификаторы оборудования.

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

  • создайте макет раздела, который я хочу, на новом диске
  • загрузка с Live CD / USB или установка, восстановление и т.д.
  • смонтируйте старые разделы жесткого диска, которые будут скопированы, скажем, /mnt/a
  • смонтируйте новый раздел (разделы) жесткого диска для приема файлов, скажем /mnt/b
  • cp -a или используйте tar для копирования файлов из /mnt/a к /mnt/b
  • установите загрузчик (lilo или grub) на новый диск ¹
  • обновите /etc/fstab (возможно, вы захотите использовать blkid для определения новых идентификаторов UUID)
  • перезагрузитесь и проверьте, все ли в порядке

Примечание1:

Проверьте все жесткие диски и разделы, используя следующую команду:

sudo fdisk -l 

Теперь обратите внимание на раздел, на котором установлена Ubuntu, который будет выглядеть следующим образом: /dev/sda1

Смонтируйте раздел, на который вам нужно установить GRUB 2 (раздел жесткого диска), и файловая система появится в Nautilus. Теперь нам нужно смонтировать правильный раздел жесткого диска, чтобы внести изменения в фактический MBR жесткого диска. Для этого нам нужно:

sudo mount /dev/sda1 /mntmount

Теперь смонтируйте раздел в другом месте

sudo mount /dev/sda1 /mnt/boot

Создайте неразрывную связь из /dev папку на живом изображении, из которого вы загрузились в /dev папка на разделе, к которому вы подключились /mnt

sudo mount --bind /dev /mnt/dev/

Теперь нам нужно изменить корень с live CD root ( / ) на корень смонтированного раздела

sudo chroot /mnt

Теперь вы находитесь в новой корневой оболочке, в которой смонтированный раздел является новым корневым. Вы можете проверить это, введя ls. Поскольку сейчас мы находимся в смонтированном разделе, мы можем продолжить и установить GRUB 2:

sudo grub-install /dev/sda 

Установка должна завершиться сейчас, без ошибок

Выйдите из командной строки CHROOT, набрав exit или нажимать Ctrl+Dчто возвращает вас к оболочке Live CD /USB

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

sudo umount /mnt/devsudo umount /mnt/bootsudo umount /mnt

и перезагрузитесь после извлечения Live CD или USB-накопителя для загрузки с жесткого диска:

sudo reboot

Источник

В отличие от других ответов, это позволяет вам клонировать установку Linux и добавлять ее в меню Grub с сохранением ваших текущих установок. Кроме того, он автоматически изменяет /etc/fstab для вас и обновлений grub загрузочное меню.

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

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

Полный текст сценария можно найти здесь: Скрипт Bash для клонирования Ubuntu в новый раздел для тестирования обновления 18.04 LTS и вот как выглядит экран:

clone-ubuntu.png

Я решил провести эксперимент, связанный с этим постом.

Я приобрел Lenovo ThinkCentre. У него был твердотельный накопитель емкостью 256 ГБ и жесткий диск емкостью 1 ТБ (быстрый, но не такой быстрый, как твердотельный накопитель).

Когда я установил Linux Mint 19.2 (LM19.2), он установил его на диск объемом 1 ТБ. Твердотельный накопитель оказался неисправимым, и я купил новый твердотельный накопитель Kingston объемом 240 ГБ.

Я собирался установить LM19.2 на новый твердотельный накопитель, но, похоже, должен быть способ перенести мой хорошо разработанный образ LM19.2 с диска объемом 1 ТБ на новый твердотельный накопитель.

Я нашел этот пост, и, хотя выше есть несколько веских советов, я был в состоянии экспериментировать. Ниже приведен отчет о том, что я сделал, и это сработало очень хорошо.

  1. Я использовал GParted для создания таблицы разделов и разделов на твердотельном накопителе того же типа, что и на жестком диске объемом 1 ТБ.
  2. Я выполнил сдвиг во времени (новый инструмент в Ubuntu / Linux Mint) моментальный снимок ВСЕГО, что находится на жестком диске LM19.2 объемом 1 ТБ.
  3. Я восстановил этот снимок на твердотельный накопитель.
  4. Как только вышеуказанные шаги были выполнены (вы даже можете выполнить 1 параллельно со 2 и 3), я перезагрузился, убедившись, что он выберет SSD.
  5. Единственное, что было странным во время перезагрузки, так это то, что экран INITIALgrub спрашивал, хочу ли я загрузиться в Ubuntu. Я предположил, что это было связано с восстановлением сдвига времени, и так оно и было.
  6. Последующие запуски загружались так, как это обычно делает LM19.2.
  7. Я отредактирую этот ответ, как только удостоверюсь, что могу сделать это с помощью newdrive, подключенного к ПК извне (и кажется очевидным, что это сработает), потому что это означало бы, что я могу быстро реплицировать любую из моих машин LM на новое оборудование.

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

Я всегда использую следующую процедуру:

  1. Убедитесь, что ваша установка включает в себя диспетчер разделов (PM). Если нет, установите gparted.
  2. Подключите новый диск через USB-адаптер. Хорошо проверьте с помощью PM, какой диск какой. Обычно старый - это /dev/sda, а новый - /dev/sdb, но лучше перестраховаться, чем потом сожалеть. Если вы перепутаете диски, вы просто удалите существующую установку. Помните: dd не зря прозвали disk destroyer.
  3. Используйте dd, как описано выше в ljrk, чтобы скопировать старый диск байт за байтом на новый. Добавьте статус =прогресс в параметры dd, чтобы следить за ходом выполнения.
  4. Запустите PM. На новом диске создайте, а затем уничтожьте временный раздел, заполняющий избыточное пространство. Это принудительно перезаписывает таблицу разделов в соответствии с размером нового диска. Важно: последовательность действий должна быть такой: создать-применить-уничтожить-применить.
  5. Используя PM, измените размер разделов на новом диске по своему вкусу, чтобы использовать весь диск.
  6. Выключитесь, поменяйте местами диски, запустите, убедитесь, что все работает нормально.

Если вы хотите также использовать старый диск в качестве внутреннего:

  1. Подключите старый диск через USB-адаптер, отформатируйте его и разделите по своему вкусу.
  2. Завершите работу, установите старый диск рядом с новым, запустите.

Если вы хотите использовать старый диск как часть своей файловой системы, добавьте что-нибудь в настройку,

UUID=фактический-uuid-здесь /данные ext4 по умолчанию,отбросить 0 2

в /etc/fstab, затем запустите sudo mount -a или перезапустите.

Если у вас нет USB-адаптера, та же процедура должна работать с горячей заменой дисков, но здесь вы сами по себе. Более безопасный способ - использовать USB-диск или CD/DVD с установленной системой (например, установочный носитель). В этом случае вы можете поместить оба диска (новый и старый) на свои места с самого начала, затем загрузиться с носителя и выполнить копирование и т.д.

Не обязательно подключать новый диск к тому же разъему SATA, что и старый, но тогда вам может потребоваться изменить последовательность загрузки в BIOS.

Похоже, сейчас вы планируете использовать их оба. Если это так, вам следует подумать о том, чтобы просто использовать более новый, более крупный файл в качестве “/ home” вместо всей системы. Это должно быть более простое изменение (просто переместите все и добавьте одну строку в / etcs / fstab), и большинство больших файлов, скорее всего, попадут в ваш домашний каталог (и так на больший диск).

Возможный дубликат Как переместить Ubuntu на SSD