Перенос linux mint с hdd на ssd

Обновлено: 02.07.2024

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

Windows очень чувствителен к изменениям оборудования. Мы можем изменить Оперативная память or ЦП без проблем, так как для этого не нужны специальные драйверы. Но когда изменение больше, например, графика, необходимо предварительно удалить драйверы. И, когда в материнская плата, мы не сможем перезагрузить компьютер напрямую, пока не переустановим систему.

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

Конечно, это не исключает, что если что-то пойдет не так, давайте увидим Kernel Panic, эквивалент синего экрана Windows.

Паника ядра Linux

Измените оборудование или ПК в системе Linux

Linux гораздо снисходительнее, когда дело касается замены компьютерного оборудования. В зависимости от компонента, который мы собираемся изменить, нам, возможно, придется выполнить те или иные настройки.

Сменить RAM

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

Что нужно иметь в виду

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

Замените жесткий диск (или переместите Linux на SSD)

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

Используя программу клонирования (например, Clonezilla), можно перенести все данные и все разделы со старого диска на новый SSD. Таким образом, у нас может быть наш Linux в том виде, в каком он был у нас, без необходимости переустанавливать его с нуля.

Что нужно иметь в виду

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

Кроме того, если мы используем SWAP, мы должны проверить, что раздел также был создан и правильно назначен, или изменить и использовать файл подкачки.

Команда «sudo update grub» обычно помогает устранить неполадки в этом разделе.

Сменить процессор или ЦП

Как и в случае с ОЗУ, изменение процессора обычно не влияет на операционный уровень дистрибутива Linux.

Что нужно иметь в виду

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

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

Заменить материнскую плату

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

Что нужно иметь в виду

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

Изменить графическую карту

Смена графики, наверное, самое сложное, что мы можем найти в Linux. Особенно если мы установили проприетарные драйверы от AMD or NVIDIA в дистрибутиве. Чтобы использовать новую графику, первое, что мы должны сделать, это удалить текущие драйверы, а затем установить новые.

Вполне вероятно, что после смены графики наш линукс не запускается, или делает это на черном экране. Чтобы избежать этого, мы должны войти в меню загрузки GRUB и отметить один из следующих параметров в качестве параметра: nomodeset, nouveau.modeset = 0, nvidia.modeset = 0 или radeon.modeset = 0.

Что нужно иметь в виду

В Linux есть бесплатные драйверы для AMD, Intel и NVIDIA. Поэтому лучшее, что мы можем сделать, это удалить проприетарные драйверы перед изменением графики, чтобы снизить вероятность того, что что-то пойдет не так.

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

Команда «sudo update grub» также может помочь решить эти проблемы.

Проблемы с Linux? Переустановите систему

Если после вышесказанного, после замены части аппаратного обеспечения ПК у нас все еще есть проблемы, то нам остается только одно: переустановить систему.

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


По-моему, это очевидно. Делаешь бекап нужного содержимого на внешний диск, меняешь HDD на SSD, размечаешь диск, накатываешь данные из бекапа, делаешь чрут, подправляешь настройки, чтобы ОС запустилась.


С этого места, пожалуйста, подробнее)
Я принцип понимаю, но детали не совсем:

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

Давайте по пунктам:

  • Делаешь бекап нужного содержимого на внешний диск
    Надо запуститься с live usb или в обычном режиме?
    С помощью чего делать backup?


Можешь поискать как гентушники stage4 делают, тебе так то же можно.

Ты можешь просто скопировать всё с одного харда на другой:

Если у тебя UEFI, то перед копированием надо правильно разбить диск, используя таблицу GPT. Если BIOS, то после копирования нужно будет переустановить загрузчик.

Ещё, скорее всего, надо будет поменять UUID/label в конфиге загрузчика и в /etc/fstab.

Надо запуститься с live usb или в обычном режиме?

Я и в обычном делал спокойно, остановил максимум сервисов (кроме ssh) и по сети p2v делал.

Чем хочешь. tar/cp/rsync, к чему больше привык.

Deleted ( 30.07.16 13:53:54 )
Последнее исправление: Deleted 30.07.16 13:59:42 (всего исправлений: 1)


SSD подсоединяешь к ноуту через SATA (делаешь его основным), старый HDD через переходник sata2usb, а сам загружаешься из-под флешки через какой-нибудь livecd. В нём fdisk для нового SSD — задаёшь разметку, потом монтируешь оба диска и переносишь файлы с одного на другой. После этого chroot в новый корень — донастройка и оптимизация под SSD.

Можно и без sata2usb, но тогда нужна флешка объёмнее.

На самом деле всё прозрачно, но если никогда так не делал раньше, то лучше с SSD не экспериментировать — просто установи на него чистую систему и скачай все необходимые пакеты — установщик всё сделает сам.

А что касается файлов из домашнего раздела, то потом либо переходником подключаешь старый HDD, либо загружаешься в него и скидываешь нужные файлы на флешку (…потом снова загружаешься в SSD и копируешь туда файлы из флешки).

kalterfive ★★ ( 30.07.16 13:57:39 )
Последнее исправление: kalterfive 30.07.16 13:59:00 (всего исправлений: 1)


Вынимаешь свой хард, ставишь на его место твердотельник, rsync'ом переносишь все данные, сохраняя права, симлинки и прочее (можешь воспользоваться grsync), правишь конфиги (достаточно дописать к опциям монтирования discard, остальное остаётся как было, если ты не собрался вместе с носителем менять структуру разметки и/или файловые системы.


грузишься в livecd-какой-нибудь,
снимаешь копию, ну tar архив делаешь
форматируешь ssd,
распаковываешь на ssd архив,
правишь распакованный fstab на ssd,
ставишь загрузчик LILO/GRUB,
перезагрузаешься

по командам для tar - могу подсказать
Backup и Restore lin'2015

я примерно так даже систему, которая у меня была на hdd в виртуалку загнал

Привет, Хабр! Представляю вашему вниманию русскоязычную версию статьи "Migrating CentOS system from HDD to smaller SSD on XFS filesystem" автора Denis Savenko.

Cover Image

Данная статья является русскоязычной версией ранее мной же опубликованной статьи на английском языке с небольшими корректировками на аудиторию. Сразу оговорюсь — я не являюсь маньяком линукса или даже профессиональным системным администратором, поэтому вполне вероятно, что порой я мог использовать необычные, или даже глупые решения. Я буду очень благодарен вам, если вы укажете мне на них в комментариях, чтобы я мог улучшить данное руководство вместо того, чтобы просто заминусовать статью. Заранее вас за это благодарю.

Я думаю я не один, кто в какой-то момент решил преобрести себе SSD-диск для работающей системы. В моём случае это была работающая система на CentOS 7 на моём крошечном домашнем сервере. Далее я хотел перенести её "как есть" на новый диск. Но, как оказалось, это не так то просто сделать, учитывая следующее:

  • Новый SSD диск был гораздо меньшего объёма, чем уже установленный HDD (серьёзно, SSD всё ещё весьма дорог по сравнению с дисковыми накопителями).
  • Разделы на прежнем диске были отформатированы в файловой системе xfs . Это и не удивительно, учитывая тот факт, что CentOS, начиная с 7-ой версии предлагает эту файловую систему "по умолчанию" (наряду и с другими системами на основе RHEL, такими как, собственно, Red Hat Enterprise Linux 7, Oracle Linux 7 или Scientific Linux 7).
  • Работающая система должна остаться без изменений, включая конфигурацию, установленное ПО, права доступа и прочие атрибуты файловой системы.

Позвольте мне пояснить, почему описанные мной выше вещи являются серьёзными усложнениями поставленной перед нами задачи.

Затем, если бы использовалась файловая система, отличная от xfs , например, достаточно популярная ext4 , можно было бы "сжать" старый раздел диска до размеров нового диска. Затем выполняются какие либо действия из описанных выше и вы в дамках. Однако, изменение размера разделов в сторону уменьшения на xfs невозможно в силу её реализации — вы можете только увеличить разделы при её использовании.

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

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

Этап 1. Подготовка

Вот список того, что нам потребуется для переноса:

Этап 2. Миграция

Глотнём кофе и приступим к процессу переноса с запуска системы с подготовленного Live CD дистрибутива. Затем откройте терминал и перейдите в режим суперпользователя при помощи команды su -

Далее в данном руководстве предполагается, что все команды выполняются от имени суперпользователя ( root )

Шаг 1. Разрешение удалённого доступа (опционально)

Для меня удобнее иметь удалённый доступ к машине, на которой я буду производить перенос, т.к. я имею возможность просто копипастить заранее подготовленные команды в свой PuTTY терминал. Если вы загрузили это руководство в браузере на целевой машине, смело переходите к следующему шагу — всё, здесь описанное, вам не понадобится.

Для того, чтобы разрешить удалённый доступ, необходимо задать пароль для пользователя root и запустить SSH демон:

Теперь можно подключиться к целевой машине вашим SSH клиентом (например, PuTTY).

Шаг 2. Разбивка диска на разделы

Вы можете использовать вашу любимую утилиту для этого. Например, в Gnome есть предустановленная утилита для управления дисками. Также в интернетах хвалят gparted , однако я намеренно использовал fdisk , т.к, например, gparted просто не распознавал мой NVMe SSD-диск.

Диск следует разбить по образу и подобию прежнего диска. Я не маньяк партиционирования, поэтому моя схема партиционирования была стандартной:

  • /boot — стандартный раздел размером 1GB;
  • swap раздел размером 4G;
  • / — корневой раздел, LVM volume group с наименованием "main", занимающий оставшееся пространство на диске.

Итак, приступим к разбивке нового диска:

Раздел /boot должен быть стандартным линукс-разделом, поэтому сразу создаём файловую систему на нём:

И теперь нам необходимо создать LVM-структуру для второго раздела на диске. Назовём новую LVM-группу newmain (впоследствии переименуем):

Теперь мы готовы к созданию файловой системы на новых логических разделах:

Шаг 3. Активная фаза

Прежде чем мы начнём, сделаем обе LVM-группы активными (т.к. мы работаем из под Live CD):

Создадим директории для точек монтирования, и примонтируем к системе старые и новые разделы наших дисков:

Убедимся, что всё в порядке при помощи команды lsblk :

Если вы видите что-то наподобие этого, вы всё сделали верно. И здесь начинается настоящая магия — мы собираемся использовать xfsdump для миграции наших данных. Эта утилита достаточно умная и знает о внутреннем устройстве файловой системы xfs , что позволяет ей копировать только занятые данными блоки, что, в свою очередь, во-первых позволяет нам копировать данные на диск меньшего размера, а во-вторых сильно ускоряет процесс переноса. Итак, давайте сделаем дамп данных при помощи этой утилиты, и на лету развернём эти данные на новом месте:

Пару слов об использованных флагах:

  • -J уменьшает размер фидбека;
  • - сообщает xfsdump и xfsrestore использовать стандартные потоки stdout и stdin соответственно вместо файлов.

Эта процедура может занять некоторое время (зависит от объёма ваших данных). Поэтому здесь вам пригодится приготовленная заранее чашка кофе, которую самое время выпить, а то остынет.

Шаг 4. Делаем новый диск загрузочным

Первое, что нужно сделать, это узнать UUID для старого и нового загрузочных разделов ( /boot ) при помощи команды blkid :

Предполагая, что sda1 — прежний раздел \boot , и nvme0n1p1 — новый, производим замену UUID в конфигурационных файлах на новой точке монтирования:

Эти две команды подготовят ваши системные файлы конфигурации к новому диску.

Теперь самое время переименовать LVM-группы и отмонтировать диски:

Единственное, что осталось сделать, это переустановить загрузчик. Это необходимо делать с использованием chroot :

Шаг 5. Последний штрих

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

Если что-то пошло не так и система не загружается, вы всегда можете "откатиться" на старый диск, просто запустившись с Live CD повторно и переименовав LVM-группы обратно, выполнив vgrename -v main и vgrename -v main , и затем снова перезапуститься.

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

Использование старого HDD в качестве медиа-хранилища

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

Во-первых, переразбейте прежний диск

Мы не станем создавать файловую систему на диске напрямую. Вместо этого мы создадим новую LVM-группу, в которую добавим этот диск. Это позволит нам в будущем легко добавлять новые диски в эту группу без лишней мороки (логический диск при этом останется прежний):

Для того, чтобы сохранить изменения после перезагрузки системы, следует также добавить запись о точке монтирования в /etc/fstab :

Готово!

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

UPDATE 02.04.2018

Так как мы производили перенос системы на SSD, то, как советуют в комментариях, хорошо бы уже после переноса в работающей системе включить периодическое исполнение команды trim (сборщик мусора для SSD-дисков, который позволяет не терять в производительности через время). Для этого необходимо выполнить команду:

Это включит на новой системе исполнение trim раз в неделю на любой systemd системе. В случае, если вы или ваша система не используете systemd , есть исчерпывающее руководство от DigitalOcean на почти любой случай.

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

Иногда возникает такая необходимость, перенести уже существующую установленную и настроенную операционную систему на другой жесткий диск. Например это актуально после покупки ноутбука. Большинство бюджетных моделей комплектуются очень медленными HDD дисками, но имеют специальные разъемы для установки SSD дисков. Не секрет, что в наше время самая медленная аппаратная часть ПК это ПЗУ. В связи с этим переход на ssd несет множество преимуществ. Скорость чтения/записи возрастает в десятки раз, а это основной показатель быстродействия операционной системы. Есть множество утилит, которые помогут вам перенести систему на другой жесткий диск, но ситуация немного сложнее, если вы хотите перенести сразу две системы, одна из которых Linux. Перенести dualboot. В той статье я расскажу, как это возможно реализовать на примере Debian 9 и Windows 10.

Ситуация следующая: Есть ноутбук HP Omen ax232ur с 1Тб HDD.

На него была установлена Windows10, которая создала 4 раздела:

  • 1. recovery(ntfs)
  • 2. uefi_boot(fat32)
  • 3. windows(ntfs)
  • 4. какой-то системный 128мб. Соответственно все разделы основные, тк. таблица разделов gpt.

Система запустилась, работает хорошо.

Далее была произведена установка Debian 9 в режиме UEFI. Создано три дополнительных раздела:

Загрузчик Grub установился автоматически, определил Debian и Windows. Приоритет загрузки стоит UEFI с HDD. Все отлично работает, можно выбрать загрузочную запись.

Был приобретен ssd 240гб с разъемом M.2. Встала задача перенести обе системы на новый диск.

Перенос Windows 10

Сначала нужно перенести Windows 10. Я это сделал с помощью программы AOMEI Partition Assistant (перенос ОС на ssd) с предварительной разметкой ssd. Ничего сложно тут не было, просто следовал инструкциям программы. Система отлично загружается и работает если выбирать в настройках загрузки старт UEFI с ssd.

Перенос Linux

Дальше я вошел в небольшой ступор. Не мог до конца понять, как правильно перенести Linux вместе с загрузчиком. Насколько я понял, Grub установился на раздел uefi_boot. Чтобы перенести Linux, достаточно разметить дополнительные разделы для /home и / на ssd ну и swap перенести. С помощью livecd скопировать все данные из старых разделов в новые.

Постановка вопроса

Но как правильно скопировать разделы? Можно ли это сделать при помощи программы Gparted? Если да, то нужно ли потом менять UUID новых разделов? Как перенести загрузчик? Где прописать новые UUID разделов, чтобы стартовала система с ssd а не с hdd?

Читайте также: