将linux安装移至新计算机


66

我知道在某些情况下,很难将Windows安装从一台计算机移动到另一台计算机(物理上移动硬盘),但是在Linux上如何工作?多数驱动程序模块不是在启动时加载的吗?因此,从理论上讲,这有那么多麻烦吗?

显然,xorg配置将发生变化,专有的ATI驱动程序也必须重新编译(也许?)。还有比我想的还要多的东西吗?

假设两台计算机来自同一时代,即两台i7,但硬件略有不同。

更新:
感谢您的回答。这主要是出于我自己的好奇心。我的linux系统已经启动并且可以运行,但是最终我想转移到一台可以插入双显卡的计算机上,以便可以运行2台以上的显示器。但很快不会


嗨,如果您想要一台笔记本电脑上的多个显示器而无需购买新显示器,则可以购买一个扩展坞;)
538ROMEO 18/08/15

Answers:


58

假设源处理器和目标处理器是相同的体系结构(例如x86,x64,arm…),移动或克隆Linux安装都非常容易。

移动

移动时,必须注意硬件依赖性。但是,大多数用户不会遇到任何困难,除非xorg.conf(甚至现代发行版中并不需要它),甚至可能是引导加载程序。

  • 如果磁盘配置不同,则可能需要重新配置引导加载程序文件系统表(如果使用加密,则使用md RAID /etc/fstab/etc/crypttab如果使用加密,/etc/mdadm.conf则重新配置)。对于引导加载程序,最简单的方法是将磁盘弹出到新计算机中,引导发行版的实时CD / USB并使用其引导加载程序修复工具。

    请注意,如果要复制数据而不是物理移动磁盘(例如,因为一个或两个系统都使用Windows双重引导),则复制整个分区(使用(G)Parted或dd)会更快,更轻松。

  • 如果您有一个xorg.conf文件声明与显示相关的选项(例如,与专有驱动程序相关的文件),则在目标系统具有不同的图形卡或不同的显示器设置的情况下,需要对其进行修改。如果适用,还应在移动之前为目标系统的图形卡安装专有驱动程序

  • 如果您已在中声明了模块选项或黑名单/etc/modprobe.d,则可能需要针对目标系统对其进行调整。

克隆

克隆安装涉及与移动相同的硬件相关问题,但是还有许多其他事情需要注意以赋予新机器新的身份。

  • 编辑以为新机器重新命名。 在下搜索其他出现的主机名。常见位置是(127.0.0.1的别名)和/ 或其他邮件系统配置。/etc/hostname
    /etc/etc/hosts/etc/mailname

  • 重新生成ssh主机密钥

  • 网络配置进行任何必要的更改(例如静态IP地址)。

  • 更改RAID卷的UUID(不是必需的,但是建议您避免混淆),例如mdadm -U uuid

另请参阅针对Ubuntu的分步克隆指南

通过拔出两个RAID-1镜像磁盘之一,将其移至新计算机,在已存在的磁盘上创建RAID-1卷,让镜像重新同步并进行概述,从之前的版本克隆了我当前的台式计算机。以上(如果适用)。


前几天,我将笔记本电脑中的硬盘驱动器放到了桌面上,一切启动完全正常,无需进行任何更改。授予:专有视频驱动程序未加载,并且我尚未自定义fstab或modprobe.conf。因此,这绝对容易。
Shiny先生和新安宇

1
别忘了编辑/ etc / hosts-通常这会包含一个旧机器的主机名条目,其地址为127.0.1.1(至少在Ubuntu和Debian上)。通常,您可以仅引导旧的Linux映像或在新硬件中驱动,然后进行调整。
RichVel

2
如果您希望移动驱动器,则lvm和物理分区的UUID也是一样。tune2fs -U $(uuid) /dev/sda pvchange --uuid /dev/sdb vgchange --uuid volgrp。LV不会公开用于更改UUID的接口,但是如果您有重复项,也不要感到困惑。有时需要更改e2fs UUID /etc/fstabgrub或者如果在其中引用了uuid,则需要更改引导程序。
马特


如果计算机检查UUID并且存在不匹配并由于安装分区错误而拒绝启动,整个情况如何?我在过去尝试执行类似操作时遇到了这样的问题

22

我不确定这是否能回答您的问题,但通常情况恰恰相反—移动用户文件夹并重新安装所有内容。从理论上讲,所有定制和单个配置文件都应位于用户文件夹中,因此这是您真正需要转移的唯一内容

一些软件包管理器可以列出所有已安装的软件包(Debian / Ubuntu具有dpkg --list,Gentoo具有/etc/world等),因此您可以:

  1. 在新系统上安装基本发行版
  2. 告诉它“在另一台计算机上安装我拥有的所有软件包”
  3. 复制您的用户文件夹

您最终应该得到一个功能相同的系统


1
我在升级发行版时会这样做。(例如,Fedora 13到Fedora 14)。到处都有一些更改名称的程序包,但是它们通常是关键程序包的依赖项,因此可以忽略它们-重要的程序包将选择其新名称的依赖项。
JCCyC 2011年

+1提及“世界”文件,我没想到!
AzP 2012年

仅当您要更改Linux发行版或进行主要发行版升级时,才需要完全重新安装。如果仅切换硬件,通常可以从旧硬盘驱动器(或映像副本)上引导新硬件-与Windows不同,Linux非常擅长自动适应新硬件。GParted是可靠地将分区复制并粘贴到新驱动器的最简单方法。(对于Windows,请尝试非常合理的Paragon备份,并且可以对机器进行更改。)
RichVel 2013年

9

确实,在Windows下,仅通过复制硬盘驱动器内容或在PC之间切换硬盘驱动器几乎不可能将安装移动到新PC上,这在Linux下效果很好。通过将旧硬盘驱动器的内容复制到新硬盘中(通过将旧硬盘放入通过USB连接的外部盒中并将所有内容复制到Gparted-Live-CD下),我从Thinkpad R52切换到了Thinkpad T400。之后,我要做的就是手动将Grub放入MBR并启动。一切仍然为我工作。

正如Michael所说,通常新的PC是摆脱长期积累的麻烦的好机会,但是有时候您只需要非常快速地重新投入工作,然后复制硬盘驱动器内容就可以在Linux上很好地工作,因为包括了所有驱动程序在内核中,无需安装即可使用内核中的文件,如今,驱动程序是自动加载的,而不是在modprobe.conf中手动列出,甚至xorg也会为我自动配置。

仅当您必须在旧PC上手动配置驱动程序(例如Raid系统,专有图形驱动程序等)时,您才可能遇到问题。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.