我最近买了一台新笔记本电脑,我想尽可能少地迁移到它。我不想重新安装,因为我已经对我当前的设置进行了各种调整,例如从我的 NAS 自动安装远程驱动器、配置网络等,我不想重做。
我目前的想法是,我可以将硬盘驱动器的内容转储到一个文件中,然后cat
将该文件转储到新驱动器上。总体思路是:
在旧计算机上,将驱动器放入外部 USB 磁盘上的文件并(以 root 身份):
# cat /dev/sda > /mnt/externalUsb/sda.img
然后我启动到新计算机上的实时系统,连接外部驱动器并(以 root 身份):
# cat /mnt/externalUsb/sda.img | sudo tee /dev/sda
关闭实时会话,重新启动机器,我希望自己处于一个工作系统中,它是我旧机器的完美克隆。
或者,也许更现实的是,类似:
在新机器上创建我想要的分区,确保它们比我旧机器上的同等分区大。
在旧计算机上,将分区转换为外部 USB 磁盘上的文件(以 root 身份):
for i in 5 6; do cat /dev/sda"$i" > /mnt/externalUsb/sda"$i".img; done
在新机器上,确保数字相同或相应地修改命令后:
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
分区,然后按照 Arch Wiki 中的描述rsync
复制了我所有的文件。
我设法启动了“新”系统,但它仍然需要一些调整,尤其是图形驱动程序。如果您不熟悉 Linux 并且喜欢修修补补,那么这不是一种可以采用的方法。当然,如果你不喜欢它,你不太可能会使用 Arch。