如何将一个设备上的操作系统映像移动到另一个设备上?

如何将一个设备上的操作系统映像移动到另一个设备上?

我在 HDD 磁盘驱动器上运行 CentOS 7。

由于某些原因,我想将 HDD 上的操作系统映像移动到新的 SSD。

(由于某些原因,使用 SSD 作为数据存储不是一种选择)

如何将现有安装的 CentOS 7 映像无损地复制到新的 SSD 驱动器?

似乎有人使用 dd 命令来复制设备数据,但我想一定有更好、更可靠的方法来实现它。

我怎样才能做到这一点?

// SSD 的大小比 HDD 的大。

我有 25 台机器要操作。如果我可以通过命令复制操作系统映像,那就更好了

答案1

我猜SSD的大小不一样?就我个人而言,我会连接 SSD 作为辅助驱动器,制定分区方案并用于rsync复制数据。为了使过程更容易,我将使用我的发行版的 Live CD 来“冻结”磁盘上的任何更改源。这需要在新磁盘上安装引导加载程序(如果适用)。

答案2

在我看来,dd 是最可靠的方法,因为它会将 HDD 复制到 SSD。尽管您必须记住 SSD 的大小必须相同或更大,因为 dd 命令会将 HDD 上的每个块复制到 SSD。所以它必须适合。

更好的方法是在 SSD 上重新安装操作系统并使用 rsync 等传输您自己的数据。

答案3

如果你想进行按位复制,你应该使用另一台机器。

从原始机器上卸下 HDD,然后通过 SATA 电缆将 HDD 和 SSD 连接到另一台 Linux 机器。然后启动这台机器并确保它可以识别两个驱动器。将 HDD 的内容(假设是/dev/sdb)复制到 SSD ( /dev/sdc):

cat /dev/sdb > /dev/sdc  

是的,你可以安全地使用cat而不是dd。不仅cat能够完美地处理二进制流(至少在所有现代 Linux 发行版中),而且它还会为副本选择优化的块大小,因此副本会更快。就可靠性而言,它与 一样可靠dd

复制完成后,您可以将SSD安装在原始机器上,它会立即工作。

注意,既然你说SSD的容量比较大,那么磁盘末尾就会有一个空白区域——这时你应该使用分区工具在其中创建一个分区,以免浪费磁盘空间。然而,如果你不这样做,就不会发生什么不好的事情。

相关内容