Перемещение установки linux на новый компьютер


66

Я знаю, что в некоторых случаях может быть трудно перенести установку Windows с одного компьютера на другой (физически переместить жесткий диск), но как это работает в Linux? Не загружены ли большинство модулей драйверов при загрузке? Так что теоретически это будет так много хлопот?

Очевидно, что конфиги xorg изменится и проприетарные драйверы ATI, и такие придется перекомпилировать (может быть?). Это больше, чем я думаю?

Предположим, что 2 компьютера относятся к одной эпохе, т.е. оба i7s, но немного отличаются аппаратным обеспечением.

Обновление:
спасибо за ответы. Это в основном для моего собственного любопытства. У меня установлена ​​и работает моя система Linux, но в конечном итоге я хотел бы перейти на компьютер, на котором можно установить две видеокарты, чтобы я мог использовать более двух мониторов. Но не в ближайшее время


Привет, вы можете купить док-станцию, если вы хотите иметь несколько мониторов на ноутбуке, не покупая новый;)
538ROMEO

Ответы:


58

Переместить или клонировать установку Linux довольно легко, если исходный и целевой процессоры имеют одинаковую архитектуру (например, оба x86, оба x64, оба arm…).

перемещение

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

  • Если конфигурация диска отличается, возможно , потребуется изменить конфигурацию загрузчика и файловую таблицу ( /etc/fstab, /etc/crypttabесли вы используете шифрование, /etc/mdadm.confесли вы используете мД RAID). Для загрузчика самый простой способ - вставить диск в новую машину, загрузить live CD / USB вашего дистрибутива и использовать инструмент восстановления загрузчика.

    Обратите внимание: если вы копируете данные, а не физически перемещаете диск (например, из-за двойной загрузки одной или обеих систем с Windows), копировать целые разделы быстрее и проще (с помощью (G) Parted или dd).

  • Если у вас есть xorg.confфайл для объявления параметров, связанных с отображением (например, в связи с проприетарным драйвером), его необходимо будет изменить, если в целевой системе установлена ​​другая видеокарта или другая настройка монитора. Вам также следует установить проприетарный драйвер для видеокарты целевой системы перед перемещением, если это применимо.

  • Если вы объявили параметры модуля или черные списки /etc/modprobe.d, возможно, их необходимо настроить для целевой системы.

клонирование

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

  • Изменить, чтобы дать новой машине новое имя. Поиск других вхождений имени хоста в . Распространенными местами являются (псевдоним 127.0.0.1) и / или другие настройки почтовой системы./etc/hostname
    /etc/etc/hosts/etc/mailname

  • Восстановите ключ хоста ssh .

  • Внесите необходимые изменения в конфигурацию сети (например, статический IP-адрес).

  • Измените UUID томов RAID (не обязательно, но рекомендуется, чтобы избежать путаницы), например mdadm -U uuid.

Смотрите также пошаговое руководство по клонированию, ориентированное на Ubuntu .

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


На днях я положил жесткий диск из своего ноутбука на рабочий стол, и все загрузилось совершенно нормально, без необходимости что-либо менять. Конечно, проприетарный видеодрайвер не загружался, и я не настроил fstab или modprobe.conf. Так что это определенно легко.
Мистер Блестящий и Новый

1
Не забудьте также отредактировать / etc / hosts - часто там есть запись для имени хоста старой машины с адресом 127.0.1.1 (по крайней мере, в Ubuntu и, возможно, в Debian). Обычно вы можете просто загрузить старый образ Linux или диск на новом оборудовании, а затем настроить его.
RichVel

2
То же самое касается UUID lvm и физических разделов, если вы когда-либо предполагали перемещать диски. tune2fs -U $(uuid) /dev/sda pvchange --uuid /dev/sdb vgchange --uuid volgrp, LV не предоставляют интерфейс для изменения UUID, но не запутайтесь, если у вас есть дубликаты. Изменения UUID в e2fs иногда могут потребоваться /etc/fstabи / grubили изменения в загрузчике, если там есть ссылки на uuid.
Мэтт

2
Вы можете взглянуть на это руководство, которое я написал: positon.org/clone-a-linux-system-install-to-another-computer
Marc MAURICE

А как насчет того, что компьютер проверяет UUID и обнаруживает несоответствие и отказывается загружаться из-за ошибок при монтировании раздела? У меня была такая проблема в прошлом, когда я пытался сделать что-то подобное

22

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

В некоторых менеджерах пакетов есть список всех установленных пакетов (есть в Debian / Ubuntu dpkg --list, в Gentoo и /etc/worldт. Д.), Поэтому вы можете просто:

  1. Установите базовый дистрибутив на новую систему
  2. Скажите ему: "установите все пакеты, которые были у меня на другом компьютере"
  3. Скопируйте свою папку пользователя

И вы должны в конечном итоге с функционально идентичной системой


1
Я делаю это, когда обновляю дистрибутив. (Скажем, от Fedora 13 до Fedora 14). Здесь и там есть несколько пакетов, которые изменили имена, но обычно они являются зависимостями от критических, поэтому можно игнорировать их - важные выберут свои зависимости с новыми именами.
JCCyC

+1 за упоминание файла «мира», я не думал об этом!
АзП

Полная переустановка требуется только в том случае, если вы меняете дистрибутив Linux или делаете серьезное обновление дистрибутива. Если вы просто переключаете оборудование, вы можете просто загрузить новое оборудование со старого жесткого диска (или копии образа) - Linux очень хорош в автоматической адаптации к новому оборудованию, в отличие от Windows. GParted - это самый простой способ надежного копирования и вставки разделов на новый диск. (Для Windows попробуйте резервное копирование Paragon, которое вполне разумно и работает нормально для изменений машины.)
RichVel

9

Действительно, в то время как в Windows практически невозможно перенести установку на новый ПК, просто скопировав содержимое жесткого диска или переключив жесткий диск между ПК, это прекрасно работает в Linux. Я переключился с Thinkpad R52 на Thinkpad T400, просто скопировав содержимое моего старого жесткого диска на новый (поместив старый во внешнюю крышку, подключенную через USB, и скопировав все данные с Gparted-Live-CD). Все, что мне нужно было сделать после этого, это вручную положить Grub в MBR и загрузиться. У меня все еще работало.

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

Только если вам пришлось вручную настраивать драйверы на старом ПК (например, системы Raid, проприетарные графические драйверы и т. Д.), Вы можете столкнуться с проблемами.


2

Я думаю, что это ответит на ваш вопрос: http://wiki.xtronics.com/index.php/Wajig

Установите свежий Linux, скопируйте ваш дом и используйте wajig для переустановки всех пакетов.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.