有没有一种简单的方法可以将整个Ubuntu操作系统从一台电脑转移到另一台电脑?

所以我是一个Linux的初学者,已经开始学了很多东西。我主要使用MacOS和Windows,但我已经开始爱上Linux,尤其是Ubuntu。 有一件事我想知道的是,是否有办法将一台计算机上的所有内容(文件安装、配置和程序)完全复制到另一台计算机上,就像在MacOS或Windows中那样轻松?因为我经常切换计算机,不想每次都重新安装和重新配置所有东西。如果有人能帮忙,将是非常大的帮助。谢谢。
编辑:请注意,我不是技术专家,也不是任何方面的专家,我对这些都很新,并且还在学习中。所以如果我不能立即理解或掌握你可能说的某些东西,请提前向你道歉。

你已经考虑过将Ubuntu安装到闪存驱动器上的选项了吗? - Nmath
我有过,但并不是每台电脑都能识别它(因为BIOS问题,我无法解决,因为我对技术不太熟悉),而且它与我尝试使用的一些设备的硬件不兼容,所以我不再使用它了。一个朋友为我创建了它,最后我还是退回去了,我想可能有更简单的方法吧。有吗? - Nura
我自己没有使用过,但有一个叫做systemback的工具可以参考。这里提供了相关信息。 - graham
在制作副本之前,请确保/etc/fstab以旧的方式(/dev/sda3)标识分区,而不是使用UUID(UUID=)。通用唯一标识符在其他地方可能会有所不同。 - waltinator
好的,我一直在尝试按照@24601的建议让系统恢复正常运行,但是当我创建写入镜像时,它一直崩溃并显示“写入失败”。我不知道为什么会这样。 - Nura
还有@waltinator先生,你说什么?我完全不知道该怎么做。顺便感谢大家的帮助。 - Nura
我曾经拆下一块硬盘并在其他设备上完美运行(例如,由于硬件故障升级设备),但也遇到了一些我原本希望能正常运行的设备出现问题。即使我遇到了故障,重新安装桌面系统(不格式化,因此不会影响用户配置,并恢复已安装的软件包)是非常容易且迅捷的(一种快速的重新安装以升级的方法),而在使用相同版本时,移动版本可能会遇到的问题应该不会发生。这是我的备用方案(移动或克隆硬盘)。 - guiverc
FYI: 克隆的驱动器大部分时间都工作得很好,这是系统(预配置)Ubuntu被放置在https://www.computerbank.org.au/上的机器上的方式,尽管最后会进行检查(和可能的微调)。我的前面的评论是我自己使用的克隆(或移动)驱动器出现问题时的解决方法。非破坏性安装非常好;但是如果使用服务器应用程序(可以将配置存储在被删除的系统目录中),则需要进行一些恢复操作;但是桌面应用程序不会这样做,所以对于桌面系统来说是理想的。 - guiverc
将驱动克隆到更大的驱动器的最简单方法是使用dd,从Live USB运行。这可能会很危险,并且可能会覆盖错误的驱动器。在使用之前,请进行研究并确保您理解它。 - C.S.Cameron
2你应该制定备份程序,然后只需使用备份还原来安装到新系统。我更喜欢使用rsync备份/home和我的数据。我会手动编辑一些/etc目录下的系统文件,但是将它们复制到/home目录下以便备份,而不是备份整个/etc目录。因为在不同的系统中,/etc目录下的设置可能不同。同时,导出已安装应用程序的列表。请参考以下链接:http://askubuntu.com/questions/545655/backup-your-home-directory-with-rsync-and-skip-useless-folders 和 http://askubuntu.com/questions/17823/how-to-list-all-installed-packages - oldfred
根据我收到的所有答案,似乎对于普通人来说,并没有一种简单易行的方法。我尝试过Systemback、Clonezilla、Timeshift和dd,但感觉都很繁琐。我开始相信在Linux上可能根本不可能实现,或者可能需要更高级的技术才能使其正常工作。无论如何,我被迫继续寻找适合我的便捷方式,否则只能回到使用Windows和macOS(这真的不是我想要的)。非常感谢大家提供的所有答案。如果我在某个地方遇到瓶颈,我一定会寻求帮助。 - Nura
@olfred 我一定会尝试的 - Nura
@C.S.Cameron先生,您是否有一个教程链接可以提供给我,因为似乎大多数教程都不太一样。 - Nura
@Nura:我会将我的所作所为作为下面的回答发布出来。 - C.S.Cameron
3个回答

使用GParted将克隆到较小的磁盘

这是我在Legacy模式下测试过的一种方法。

  1. 启动Ubuntu Live USB。

  2. 如果还没有,请插入源磁盘和目标磁盘。

  3. 打开GParted并将源分区缩小到小于64GB。

  4. 选择源磁盘,右键点击源/分区,然后选择“复制”。

  5. 选择目标磁盘,右键点击空白处,然后选择“粘贴”。

  6. 拉伸粘贴的分区以填满驱动器。

  7. 点击“应用所有操作”(顶部的勾号)。

  8. 关闭GParted并使用终端安装Grub

    sudo mount /dev/sdxy /mnt
    
    sudo grub-install --boot-directory=/mnt/boot /dev/sdx
    

其中sdx为目标驱动器,y为分区号。


好的,这个问题并不容易解决,在过去的几天里,我尝试了各种方法,但在提问之前,我尝试了这个方法,但不知道如何修复grub,我尝试按照这篇文章进行清除和重新安装,但没有成功。我差点放弃,直到我尝试了你上面提到的命令,哇,它起作用了!另外,你创建图像并截断它的想法真是太棒了。现在我不再需要担心了,我可以通过USB驱动器运行所有东西。非常感谢您,亲切的先生。 - Nura
我认为用sdXY来指定会比使用sdX1更好,因为对其他人来说可能是不同的。 - Nura
谢谢@Nura告诉我们你的解决方法。祝你计算愉快8-D。根据你的建议进行了编辑。 - C.S.Cameron

你可以看一下Clonezilla。这样你就可以备份你的电脑并安装到其他任何电脑上。有很多在线教程,只需谷歌一下就能找到。

如果在帖子下的评论中提到的建议不起作用,我会尝试这个方法,因为根据我所读的,系统备份的方法似乎更容易和简单。不过我会回来报告的,非常感谢。 - Nura
好的,因为我对上述内容有困难,所以按照你的建议做了。我按照这个教程链接进行了操作。我尝试了,克隆完成了,但是花了大约5秒钟才完成,我认为这意味着它没有正确执行或者有些地方出错了。我按照那里的所有步骤操作,但是驱动器中的备份文件夹只有大约700KB。我搞不清楚出了什么问题。再次感谢你的帮助。 - Nura

使用dd命令从一个驱动器克隆文件系统到另一个驱动器
- 创建Live Ubuntu USB并启动它 - 插入目标驱动器(必须至少与源驱动器一样大) - 打开Gnome-Disks确认驱动器的标识,如sda、sdb等 - 在终端中运行sudo dd if=/dev/sdx of=/dev/sdy 其中sdx是源驱动器,sdy是目标驱动器 有些人喜欢添加块大小,比如bs=256k,但我不觉得有必要 这个过程可能需要很长时间 参考:https://docs.oracle.com/cd/E19455-01/805-7228/bkupsavefiles-60904/index.html

所以我按照这个方法操作,令人惊讶的是它花了4个小时才完成复制。当我尝试引导磁盘时,它会将我带到一个空白页面上,并显示类似命令行的内容 grub> _。这是什么意思? - Nura
@Nura:你的目标驱动器比源驱动器大吗?使用Live USB检查两个驱动器,并确认新驱动器上是否有相同的文件夹和文件。 - C.S.Cameron
很抱歉之前没有提到这一点,但我认为这可能是导致它无法工作的原因。源磁盘是500GB,但只使用了大约60GB,其余部分是未分配的(我以为dd不需要担心它,因为它是空的),而目标驱动器是64GB。现在,当我在live usb中使用disks进行检查时,它显示为空闲空间,而在gparted中则显示“在/dev/sde上寻找读取时出现无效参数”。我现在真的很困惑。再次抱歉。 - Nura
dd会复制磁盘上的所有内容,包括空白空间。如果你有一块多余的大容量磁盘,你可以使用Disks将其克隆为一个镜像,然后将镜像截断至64GB,并使用Disks或mkusb将其“恢复”到目标驱动器上。你应该能够只将分区dd到64GB的驱动器上,然后安装GRUB,但这开始变得复杂了。你是以传统模式还是UEFI模式启动? - C.S.Cameron
传统模式。我认为只有那个叫做vmtoy的live usb东西可以引导uefi。还有,谢谢你的帮助,我会试一试并回报结果。 - Nura
@Nura,关于截断的一些信息可以在这里找到:https://askubuntu.com/questions/1300540/how-to-duplicate-a-ubuntu-system-for-distribution - C.S.Cameron
创建镜像时显示“创建磁盘镜像错误”,“设备上没有剩余空间错误quark,12”,尽管位置驱动器的大小是其6倍。我尝试使用ext4和ntfs格式化它,但都不起作用。你认为可能是什么问题? - Nura
你是在创建一个 .img 文件,然后使用我上次链接中的方法将其截断到指定大小吗? - C.S.Cameron