基本说明
如何将分区 sdh1 到 shd4 从 600GB HDD (sdh) 复制到 1 TB SSD (sdg)?我的 Windows 分区有哪些并且仍保持可启动?我用的是GPT。
下面是我的 600GB 硬盘上的分区布局图
更详细的解释为什么
再说一次,我只想克隆 Windows 分区所在的区域或直接克隆它们,而不是整个驱动器,因为我不想在 SSD 上浪费写入周期,因为我需要删除 Linux 分区,因为我想重做它们,例如调整它们的大小,重新组织它们,并为 /opt 创建另一个分区。这将是我的操作系统的新驱动器。
您可以跳过此步骤,但这是我尝试过的并且可以更好地理解我的设置
我相信这应该很容易做到,但我不能只为 Win 启动分区创建一个新分区——它必须被克隆,而且我不知道该怎么做。这适用于任何分区。当我尝试使用 dd 执行此操作时,我会擦除整个分区表并用它覆盖所有内容。
附带说明一下,我将我的个人数据保留在该驱动器上,并且仅将其用于操作系统。我有 5 个不同的 HDD,现在有 1 个 SSD,每个都有其用途,我一直将其连接到我的 PC。例如,我的文档等与我的操作系统位于不同的硬盘上。它们会自动安装,我会更改目录所在位置的值并创建符号链接。因此系统认为主目录中的文档目录实际上位于主目录中,但它实际上位于不同的硬盘上。我对 Windows 也做同样的事情。它创造了一种无缝的体验,还为我的视频档案和我的游戏库等内容提供了扩展空间,当我出去骑自行车时,我总是将其添加到其中。或者当事情失败时,比如我需要重新安装操作系统时。我不需要担心丢失任何数据。
这解释了为什么我只想复制 Windows 分区;如果需要的话,我可能会重新安装 Linux,或者如果可能的话,重新配置它,将 /usr 目录安装到这个 600gb 硬盘上。我还将它用于 Linux 游戏库,而不是启动到 Windows。这样,我就不会丢失我安装的所有应用程序。这就像有一个主目录,但仅用于应用程序。
下面是我的 SSD 在尝试之前的图表
有时候是这样的:
它会擦除所有内容,并且不保留以前拥有的任何标志或属性。有任何想法吗?
答案1
当你这样做时
sudo dd if=/dev/sdh1 of=/dev/sdg bs=4096 conv=notrunc,noerror
您正在将第一个分区复制sdh
到整个sdg
驱动器,从头开始,覆盖分区表。当您覆盖分区表时,它会“擦除所有内容”。
所以那是行不通的。你需要做的是第一的使用适用于 MBR(例如,...)或 GBR(例如,,...)sdh
的适当工具,在 上创建适当大小的分区。选择您最喜欢的工具,谷歌搜索有关如何使用它们的教程。fdisk
gdisk
gparted
后您已经创建了分区,您可以复制它们(只要大小匹配)。假设您想将第一个分区移动到您创建的四个分区中的sdh
第三个分区,您可以这样做sdg
sudo cp /dev/sdh1 /dev/sdg3
无需使用dd
。仔细检查您输入的内容,如果您犯了错误,您将覆盖您不想覆盖的内容。
要保持分区可引导,您必须在新磁盘上以与旧磁盘上标记相同的方式标记它们。