这是将我的数据迁移到新计算机的安全方法吗?

这是将我的数据迁移到新计算机的安全方法吗?

我最近买了一台新笔记本电脑,我想尽可能少地麻烦地迁移到它。我不想进行全新安装,因为我已经对当前设置进行了各种调整,例如从 NAS 自动安装远程驱动器、配置网络等,而我不想重做这些。

我目前的想法是,我可以将硬盘驱动器的内容转储到一个文件中,然后cat将该文件复制到新驱动器上。总体思路是:

  1. 在旧计算机上,将驱动器放入外部 USB 磁盘上的文件中,然后(以 root 身份):

    # cat /dev/sda > /mnt/externalUsb/sda.img
    
  2. 然后,我启动到新计算机上的实时系统,连接外部驱动器并(以 root 身份):

    # cat /mnt/externalUsb/sda.img | sudo tee /dev/sda
    
  3. 关闭实时会话,重新启动机器,我希望,发现自己处于一个工作系统中,这是我的旧机器的完美克隆。

或者,也许更现实一些,比如:

  1. 在新机器上创建我想要的分区,确保它们比旧机器上的同等分区大。

  2. 在旧计算机上,将分区放入外部 USB 磁盘上的文件中(以 root 身份):

    for i in 5 6; do cat /dev/sda"$i" > /mnt/externalUsb/sda"$i".img; done
    
  3. 在新机器上,确保数字相同或相应修改命令后:

    for i in 5 6; do cat /mnt/externalUsb/sda"$i".img; > /dev/sda"$i"; done
    

一些相关注释:

  • 新旧机器的硬件相对相似,因为我将从ThinkPad T460P到一个ThinkPad P14s Gen 2
  • 新机有1TB硬盘,旧机只有512G。
  • 我使用的是 Arch,与 Windows 10 双重启动。我并不特别担心保留 Windows 安装。

我当前机器的磁盘设置:

$ sudo parted -l
Model: ATA SAMSUNG MZ7LN512 (scsi)
Disk /dev/sda: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system     Name                          Flags
 1      1049kB  274MB   273MB   fat32           EFI system partition          boot, hidden, esp
 2      274MB   290MB   16.8MB                  Microsoft reserved partition  msftres
 3      290MB   86.4GB  86.1GB  ntfs            Basic data partition          msftdata
 5      86.4GB  136GB   50.0GB  ext4
 6      136GB   437GB   301GB   ext4
 9      437GB   485GB   47.3GB  ntfs                                          msftdata
 8      485GB   495GB   10.5GB  ext4
 7      495GB   511GB   16.1GB  linux-swap(v1)                                swap
 4      511GB   512GB   1049MB  ntfs            Basic data partition          hidden, diag

我希望内核在第一次启动时检测到新的/不同的硬件并自动为我分类。我在这里遗漏了一些明显的东西吗?我可能会遇到任何具体问题吗?新的驱动器更大,所以这应该不是问题,对吧?我有一个 ecryptfs 加密的目录(实际上是两个),我是否正确地假设这不会成为问题?我是否需要做一些特殊的事情来处理 EFI 系统分区?


我接受了 MC68020 的有用答案,但最终采用了不同的方法:我启动了一个实时系统,创建了根目录和/home分区,然后使用rsyncas复制了所有文件Arch Wiki 中描述

我设法启动了“新”系统,但它仍然需要一些调整,特别是图形驱动程序。如果您不熟悉 Linux 并且喜欢修补,那么这不是一个可以采用的方法。当然,如果您不喜欢它,您就不太可能使用 Arch。

答案1

以下内容仅出于编辑方便的原因而保留。由于它不比评论更有价值,请随意删除它。


外部4:从 linux-5.10 开始,ext4 附带了一些新的、更轻量级的日志方法,也称为快速提交
基准测试报告本地文件系统提高了 20-200%,NFS 工作负载提高了 30-75%。
如果运行一些 >=5.10 内核,毫无疑问您就是想要这样。
但由于快速提交是在文件系统创建时激活的,因此如果您的文件系统是在该功能可用之前创建的,则您确实需要使用fast_commit显式启用的选项来重新创建它们。 (参见 man mke2fs 和 man ext4)

由于 linux-5.10 是在 2021 年前夕推出的,那么如果您的 ext4 fs 之前已经创建过(以 root 身份启动dumpe2fs *yourdevice* | grep created会告诉您这一点),那么支持此功能的机会很小。不过,检查此功能是否实际上已激活
可能看起来更直接。cat /proc/fs/ext4/*yourdevice*/options


英伟达: 我的错 !那么实际上是从 NVIDIA GeForce 940MX 2GB 迁移到 NVIDIA Quadro T500 4GB 吗?使用 Nvidia 专有驱动程序?
如果是这样,那么只需确保您当前的驱动程序版本 >= 到 450.102.04(因为从该版本添加了对 T500 的支持),
无论如何,我都会在克隆后运行 nvidia-settings 实用程序,以便利用新功能。
顺便说一句,4GB?嗯……可能会觉得这有点过分了?可能想重新分配用于其他目的。


无线上网:(我认为尤其是 Intel Wi-Fi 6 AX210)
您应该知道,某些发行版已报告在较新的内核版本下出现 iwlwifi 问题。特别参见红帽 bugzilla
据我了解,补丁应该在 5.15 次内提交(并且几乎肯定会向后移植到 LTS),但谨慎的要求你首先进行交叉检查。
除此之外,你还会遇到 WiFi 适配器的麻烦。他们总是需要一些固件 blob 才能运行。
然后,无论您的内核获取并可能加载适当的驱动程序,它都可能无法找到固件,因为根据您的发行版/制造商和版权,可能会要求您安装某些特定的软件包,甚至从制造商那里下载它回购协议。

答案2

安装新笔记本电脑、测试它是否工作,然后直接从新操作系统安装另一个驱动器或启动到 livecd 并以这种方式安装它会更容易。然后,您可以使用rsync或 的方式移动感兴趣的内容,例如您的 homedir tar

我当然会反对驱动器之间的任何盲目的 dd/cating 数据,有几个你忽略的警告可能会让你很难受。

第二个 GPT 副本只是其中之一!

相关内容