Перенос Linux на другой компьютер

Обновлено: 02.07.2024

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

Переезд на новый компьютер [РЕШЕНО]

У меня есть компьютер A с Linux Mint Tina, и на нем установлено множество других программ. Это также двойная загрузка (Windows и Linux Mint). У меня есть резервная копия всей части Linux с помощью TimeShift

Я хочу перенести часть Linux (не часть Windows) на новый компьютер B.

Как мне это сделать?

Вариант 1. Должен ли я выполнить новую установку Linux Mint на B, а затем использовать timeshift для восстановления других файлов (или Timeshift может восстановить весь диск?)

Вариант 2. Купите новый внешний USB-накопитель, используйте clonezilla, чтобы скопировать образ диска на USB-накопитель, а затем на новый компьютер. (Мне не нужна часть Windows на B. Я полностью перешел на Linux Mint)

Я бы предпочел вариант 1, если это возможно, чтобы мне не пришлось покупать новый USB-диск

Итак, вам нужны две установки Linux, которые выглядят абсолютно одинаково на двух разных машинах; я правильно вас понял?

Если это так, используйте clonezilla — это избавит вас от новой установки на втором компьютере.

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

Я чувствую себя лучше, чем когда попал сюда.
Toshiba A135-S2386, Intel T2080, набор микросхем ATI Radeon® Xpress 200M, 2 ГБ ОЗУ, 500 ГБ

Итак, вам нужны две установки Linux, которые выглядят абсолютно одинаково на двух разных машинах; я правильно вас понял?

Если это так, используйте clonezilla — это избавит вас от новой установки на втором компьютере.

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

Я тоже пытался это сделать. Сообщение jglen490 - хороший подход. Тем не менее, даже с общей двойной системой это сложно. Действительно лучше просто начать заново с каждой системой. У меня есть несколько «живых» USB-брелков с моими любимыми ОС, я использую их, а затем устанавливаю несколько приложений. В основном, в наших любимых дистрибутивах по умолчанию есть почти все, что нужно. У меня также есть набор клонов коди и тому подобного, который я могу установить, например, на любую систему, но лучше всего начать с чистого листа.

Вариант 1. Должен ли я выполнить новую установку Linux Mint на B, а затем использовать timeshift для восстановления других файлов (или Timeshift может восстановить весь диск?)

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

Еще один вариант — rsync, он обсуждался в посте перед тем, на который я дал ссылку. Это то, что я использовал, когда перенес свою систему на новый жесткий диск несколько месяцев назад. Преимущество заключается в том, что он очень гибкий, поэтому его можно адаптировать практически к любому сценарию. Недостатком является использование набора команд терминала, с которыми вы, возможно, не знакомы. Если ваша реакция после прочтения поста будет такой: «О, это звучит не так уж и плохо», я с удовольствием попытаюсь провести вас через это. Опять же, низкий риск, так как у вас все еще будет исходная система для переделки, если это необходимо.

Что касается стратегии Clonezilla, имейте в виду, что она захочет обмануть всю систему. Вы можете сделать это, а затем удалить Windows. Или вы можете удалить Windows, а затем клонировать. В любом случае, поймите, что Clonezilla работает хорошо, но есть существенная кривая обучения.

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

Я чувствую себя лучше, чем когда попал сюда.
Toshiba A135-S2386, Intel T2080, набор микросхем ATI Radeon® Xpress 200M, 2 ГБ ОЗУ, 500 ГБ

> Итак, вам нужны две установки Linux, которые выглядят абсолютно одинаково на двух разных машинах; я правильно вас понял?

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

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

На моем новом ноутбуке Dell была установлена ​​Ubuntu. Жаль, что они не установили на него Linux Mint.

вы также можете попробовать использовать "LuckyBackup", который является внешним интерфейсом для "Rsync".
& должен быть доступен в диспетчере пакетов, также известном как synaptic.

Image


Пожалуйста, отредактируйте исходный заголовок сообщения, включив в него [РЕШЕНО] — когда ваша проблема будет решена!

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

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

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

Новая установка

Самый распространенный способ перенести установку Linux на новый жесткий диск – просто переустановить Linux в новой системе и скопировать все файлы. Хотя это наиболее распространенный способ перемещения вашей системы и файлов, я бы рекомендовал его только в том случае, если вы не можете подключить два жестких диска к одному и тому же компьютеру, независимо от того, перемещаете ли вы на новый жесткий диск или новый система. При резервном копировании файлов вам следует искать в папках /home, /etc, /opt, /root и /var все, что вы хотите сохранить. Пользователи настольных компьютеров могут в первую очередь искать в папке /home, поскольку именно там находятся все ваши личные файлы, в то время как пользователям серверов следует в первую очередь проверять файлы конфигурации и размещенные данные в /etc и /var.

Сохранение списка установленных пакетов

В дистрибутивах на основе Debian есть простой способ составить список всех установленных пакетов в вашей системе и записать этот список в простой текстовый файл. Затем этот список можно использовать в вашей новой установке Linux, чтобы пометить все пакеты, которые необходимо установить снова. Чтобы создать список, вам нужно запустить команду

, заменив [ваше имя пользователя] соответствующей записью. Чтобы пометить пакеты для переустановки в новой системе, скопируйте текстовый файл в эту систему и выполните команду

Это пометит все пакеты, которые вы хотите вернуть, но фактически не установит их, пока вы не запустите команду

<р>. Это должно установить все пакеты из официальных репозиториев, которые у вас были в вашей старой системе, поэтому через некоторое время должно снова появиться много знакомого программного обеспечения Linux для загрузки и установки. Не забудьте также восстановить резервные копии данных в соответствующие папки, и та-да! Теперь ваша система должна вернуться в прежнее состояние!

Копирование ваших разделов

Если вы можете подключить старый и новый жесткие диски (или жесткий диск старой системы и жесткий диск новой системы) к одному и тому же компьютеру, вы можете легко скопировать весь раздел(ы) Linux поверх на новый жесткий диск. Этот метод значительно упростит сохранение вашей среды Linux в том виде, в котором она есть, потому что вам не придется заново устанавливать дистрибутив и все необходимые пакеты. Помимо того, что два жестких диска должны быть подключены к одному и тому же компьютеру таким образом, чтобы компьютер распознавал их оба, вам также потребуется DVD-диск или USB-накопитель, на котором находится живая среда дистрибутива.

Например, сожженная или записанная копия ISO-образа Ubuntu вполне подойдет — просто не забудьте оставить ее такой же, как уже установленная, в том числе 32-разрядную или 64-разрядную. После того, как у вас будет запущена живая среда с DVD / USB, вы можете открыть Gparted и просто скопировать разделы, которые вы хотите сохранить, на новый жесткий диск, «скопировав и вставив» его в интерфейсе. При копировании на диск большего размера возможно изменение размера после перемещения, а при копировании на диск меньшего размера необходимо изменить размер раздела перед его перемещением. После того, как разделы будут скопированы на новый жесткий диск, вам нужно будет выполнить несколько команд, чтобы установить правильный загрузчик на новый жесткий диск.Чтобы заставить загрузчик GRUB работать на новом жестком диске, выполните:

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

Заключение

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

Переносили ли вы ранее установку Linux? Считаете ли вы эти инструкции простыми? Вы уже ознакомились с нашим полным руководством по Linux? Дайте нам знать в комментариях!

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

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

Существует два разных подхода к переносу установки:

  1. Снизу вверх: установите новую систему Arch Linux на новое оборудование, после чего восстановите установленные пакеты и файлы конфигурации, например. как описано в dotfiles.
  2. Сверху вниз: клонируйте старый жесткий диск на новый или поместите старый жесткий диск в новую систему; при необходимости измените файлы конфигурации.

Подход сверху вниз дает более точное воспроизведение исходной системы, чем подход снизу вверх.

Содержание

Адаптация к новому оборудованию

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

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

Жесткий диск или твердотельный накопитель

См. статью SSD.

Поставщик ЦП

Если вы переключаете ЦП на ЦП другого производителя (например, с Intel на AMD), измените конфигурацию микрокода.

Поставщик графического процессора

Если вы сменили GPU на GPU другого производителя (например, с Amd на NVIDIA), замените графический драйвер.

Загрузка загрузочного кода UEFI и MBR

Если вы переходите на более позднюю системную плату с UEFI, может быть предпочтительнее или необходимо переключиться с загрузки «MBR boot code» на загрузку UEFI. В этом случае необходим новый системный раздел EFI.

Снизу вверх

В старой системе

Здесь мы определяем минимальную конфигурацию, которая переносится из старой системы в новую, что отличает этот подход от руководства по установке. Подумайте о файлах конфигурации из /etc и dotfiles в /home, которые вы хотите скопировать в новую систему, а также о файлах пользовательских данных. Если у вас не будет доступа к старой системе из новой системы, сделайте резервную копию всех файлов, которые вы хотите скопировать.

Список установленных пакетов

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

Вы также можете использовать следующий скрипт, чтобы получить лучший обзор двоичных файлов и библиотек, установленных без ведома pacman (например, установленных через Steam, Desura или с использованием их собственных методов установки):

кэш pacman

Рассмотрите возможность создания резервной копии /var/cache/pacman/pkg/ .

В новой системе

Руководство по установке, первая половина

Основные сведения об установке новой системы см. в руководстве по установке. Следуйте первой половине руководства по установке, исключая команду pacstrap.

Копировать кэш pacman

Скопируйте кэш pacman, найденный в /var/cache/pacman/pkg/, из старой системы в новую или из резервной копии в новую систему.

Руководство по установке, вторая половина

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

Установить ранее установленное программное обеспечение

Отредактируйте pkglist.txt (и pkglist_aur.txt) и удалите драйверы, которые не нужны в новой системе. Затем установите любое другое ранее установленное программное обеспечение с помощью

Сверху вниз

Существует два варианта подхода "сверху вниз": вы можете либо оставить диск, на котором уже установлена ​​система, и изменить его содержимое, либо скопировать систему на новый диск. Если вы сохраните диск и измените его, а затем поместите обратно в старую систему, изменения, скорее всего, помешают загрузке старой системы.

Очистить старую систему

Скопируйте систему на новый диск

Примечание. Если вы планируете оставить жесткий диск на том месте, где уже установлена ​​система, этот раздел можно пропустить.

Существует два основных метода копирования системы на новый диск: клонирование диска и копирование файлов.

Клонирование диска

Необходимо использовать живую систему Linux, а не старую систему Arch Linux; например, вы можете использовать установочный USB-носитель Arch Linux. Будут воспроизведены структура разделов и файловые системы старой системы.

Копирование файлов

Варианты транспорта

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

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

Что касается первых двух вариантов, учтите, что вам могут понадобиться адаптеры для подключения жестких дисков (PATA->SATA, USB-HDD-корпуса и т. д.), и выберите достаточно быстрое подключение.

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

Обновить fstab

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

Переустановите загрузчик

Вам может потребоваться переустановить и/или перенастроить загрузчик по следующим причинам:

  • Разные диски, расположение разделов или файловая система
  • Добавление загрузочных записей UEFI в NVRAM новой материнской платы
  • Переход с загрузки с "загрузочного кода MBR" на загрузку с UEFI
  • Миграция с USB на SATA/NVMe
  • Обновление командной строки ядра
    • В случае использования другого графического процессора обновите режим буфера кадра.
    • Обновите образ микрокода initramfs

    Если вы используете живую среду Arch Linux, то перед переустановкой загрузчика измените root на новую систему:

    Обратитесь к статье о вашем загрузчике, чтобы узнать, как (пере)установить его.

    Регенерировать образ ядра

    Рекомендуется повторно создать образ initramfs, хотя изначально может работать резервный образ initramfs.

    Перенастроить звук

    Перенастроить сеть

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

    Также учитывайте изменения конфигурации, которые требуются после изменения имени хоста:

    • /etc/хост
    • другие приложения, использующие имя хоста: synergy, nut (инструменты для работы с сетью)
    • grep -Ri 'hostname' /etc (как привилегированный пользователь) должен дать некоторые подсказки относительно файлов, которые нужно обновить

    Имена сетевых интерфейсов могут измениться при использовании dhcpcd с именованными сетевыми интерфейсами.


    Клонировать установку системы Linux на другой компьютер

    Немного поискав, я не смог найти простое и хорошее руководство, как это сделать.
    Следующий метод должен работать для любого дистрибутива Linux (Ubuntu, Debian, Manjaro, Archlinux, Fedora…). Исходная и целевая системы должны иметь одинаковую процессорную архитектуру (хотя переход с 32-разрядной на 64-разрядную версию должен работать).

    • 2 активных USB-ключа (или компакт-диска)
    • Для ускорения передачи данных: кабели Ethernet хорошего качества (один кабель между двумя компьютерами подойдет) или USB-ключ/накопитель с БОЛЬШИМ разделом ext4. Вы можете попробовать через Wi-Fi, но это может быть медленно.

    1. Загрузите исходную и целевую машины с живого USB/CD

    Подойдет любой живой USB/CD.
    На целевом компьютере вам понадобится инструмент для разбиения жесткого диска, например gparted.
    Rsync также требуется для передачи данных: он включен во многие действующие системы.

    Ubuntu live cd подойдет, Manjaro live cd тоже.

    2. Разбейте целевой жесткий диск на разделы

    Используйте такой инструмент, как gparted, чтобы создать разделы на целевом жестком диске с теми же разделами, что и в исходной системе (косая черта, подкачка, домашний...).
    Я рекомендую вам назначать LABEL вашим разделам: для fstab это проще, чем UUID.

    3. Смонтировать все разделы на обеих машинах

    В обеих системах откройте корневой терминал. Затем для каждого раздела данных (своп можно игнорировать):

    Если у вас есть домашний раздел:

    4. Перенесите данные (по сети или USB)

    Эта часть может быть сложной. Выберите предпочтительный метод.

    Сеть

    1. Настройте сеть.Проверьте подключение с помощью команды ping.
      Проще всего подключить ПК к сети DHCP (например, к вашему интернет-провайдеру), чтобы вы получали автоматические IP-адреса. Если вы соединили два компьютера одним кабелем, вам придется настроить IP-адреса с помощью NetworkManager (статические IP-адреса или сеть adhoc).
    2. В исходной системе от имени пользователя root создайте простой файл /etc/rsyncd.conf:
    3. Затем запустите сервер демона rsync: rsync --daemon
    4. На целевом ПК для каждого раздела:

    Подготовьте USB-накопитель с БОЛЬШИМ разделом ext4.

    1. Смонтируйте раздел USB в исходной системе ( mount /dev/sdbX /mnt/usb )
    2. Для каждого раздела:
    3. размонтировать, отключить и снова подключить USB-диск в целевой системе.
    4. Для каждого раздела:

    5. Изменить fstab в целевой системе

    От имени пользователя root отредактируйте /mnt/slash/etc/fstab.
    Для каждого раздела (включая раздел подкачки) замените первое поле новым UUID или LABEL (это просто с LABEL):
    UUID= the-long-uuid или LABEL=yourlabel

    2 способа получить UUID/LABEL:

    6. Переустановите Grub

    Мы будем использовать chroot (измененную корневую среду), чтобы иметь возможность вызывать установку grub внутри перенесенной системы.

    Сначала привяжите монтирование некоторых системных каталогов, необходимых для grub, затем выполните chroot:

    Затем установите grub в основную загрузочную запись жесткого диска и обновите файл конфигурации grub (с новыми uuid…):

    7. Перезагрузите целевую машину

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

    11 комментариев

    Основываясь на вашем руководстве, я успешно клонировал активно работающую систему Arch (X-сервер вышел из системы) следующим образом:

    ->Основной раздел был создан на новом SSD с помощью fdisk, затем он был отформатирован с помощью EXT4 с помощью mkfs.ext4 и смонтирован в /mnt/new

    ->Раздел был клонирован с помощью rsync, но /mnt необходимо исключить, иначе он будет рекурсивно копироваться до тех пор, пока новый диск не будет заполнен:
    rsync -avHX –exclude 'mnt' / /mnt/ новый/

    ->arch-chroot был запущен непосредственно в /mnt/new без слепого монтирования.

    Забыл: новый uuid раздела SSD также был отредактирован в fstab.

    работает как часы в Ubuntu 14.04. большое спасибо

    Отлично работал с Ubuntu 14.04. Отличный гайд, спасибо.

    Спасибо. Это простая, но не слишком общая вещь, которую я люблю.
    Мощность Rsync ;)

    итак, было 2 строки об исходном mac-адресе компьютера плюс две строки о клонированном:

    SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR==”OLDMACADDR”, ATTR==”0×0″, ATTR==”1″, KERNEL= ="eth*", NAME="eth0"
    (то же самое для wlan0)

    SUBSYSTEM==”net”, ACTION==”add”, DRIVERS==”?*”, ATTR==”NEWMACADDR”, ATTR==”0×0″, ATTR==”1″, KERNEL= ="eth*", NAME="eth1"
    (то же самое для wlan1)

    Мне просто нужно было удалить первые две строки и изменить секунды на eth0 и wlan0 .
    надеюсь, это поможет

    Как это сделать на компьютере с UEFI?

    Большое спасибо, мой друг. Это мне очень помогает. По вашим инструкциям я создаю кластер MPI, клонирующий все системы.

    Большое спасибо. В Ubuntu Studio 14.04 это прекрасно работало.

    В противном случае, если я не смонтирую раздел /var перед chroot, команда update-grub
    не пройдет.

    Большое спасибо. вы спасли мне жизнь, очень полезно, танки

    Большое спасибо! Ты спас меня! У меня был старый компьютер с Linux, и я избавился от старого оборудования. С вашей помощью мне удалось создать виртуальную машину. Еще раз спасибо.

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