Madhav Nikam Asked: 2016-03-09 08:21:39 +0800 CST2016-03-09 08:21:39 +0800 CST 2016-03-09 08:21:39 +0800 CST 如何克隆整个硬盘到新硬盘? 772 我使用dd命令将我的 500GB 硬盘复制到我的新 1TB 硬盘中。9 小时后系统显示消息,所有内容都已成功复制,但我无法在新硬盘中显示任何数据。我通过以下步骤。 步骤1:- 之后系统显示消息:- step2:-但现在 1 TB HDD 无法显示任何内容。如何解决这个问题? partitioning 4 个回答 Voted Best Answer Madhav Nikam 2016-03-10T19:18:20+08:002016-03-10T19:18:20+08:00 此问题是由不正确的dd命令造成的。磁盘克隆的准确dd命令是: dd if=/dev/sda of=/dev/sdb sda并sdb指向硬盘本身,其中也包括分区表。if=指向输入文件(在本例中为/dev/sda),并of=指向输出文件(/dev/sdb)。 dd命令很耗时,但它更受信任,也是默认系统工具,所以我优先使用dd. 操作成功后,下一步就是重启系统,那么你的新硬盘会是这样的: 这是最后第二步,这也是在以下步骤之后所必需的dd:使用Gparted实用程序调整扩展分区的大小。旧的硬盘分区表是 Legacy 引导类型,不支持超过 4 个主分区。因此,调整大小是使用 500GB 可用空间的唯一安全选项。 调整扩展分区大小后: Gavilan 2016-03-23T02:58:47+08:002016-03-23T02:58:47+08:00 最近我不得不使用 dd 进行恢复和图像工作。大约 10 年前,我大量使用它来克隆驱动器和备份分区。我必须说它的使用与直接和简单相距光年。对于 HDD,您需要准确了解驱动器在最低级别的结构。为此,您需要其他可以信任的程序(fdisk、sfdisk、cfdisk 等)。信任仅来自对已知对象的实验和检查结果,而不是来自口耳相传。我同意 muru 关于错误 dd 命令的初步评论,但应该说更多。if=/dev/sda 从设备的最开头(字节地址 0)开始读取,而 of=/dev/sdb1 写入设备 b 的第一个分区。结果是您的 sda-MBR 与您的操作系统等一起驻留在 sdb-part1 中,而我没有 我猜 sda 是引导设备,您希望 sdb 也成为您的引导设备,但也许您只是希望 sdb1 成为备份克隆。您的问题对此含糊不清。如果它们的大小完全相同,您可能可以将分区复制到分区,但操作系统可能有关于不匹配的分区文件系统的元数据,因此它无法“查看”它。如果您只是想要一个克隆进行备份,那么您的命令可能没问题,但是存在到达分区末尾并覆盖下一个分区的问题,以及您的操作系统是否会反对 sdb1 上的文件系统破坏(仍然从sda1(?))。原则上,这样可能有效,但最好只将 sda 写入 sdb 而忘记从 sdb 引导,它只是用于读取的克隆。 还有许多其他问题。如果您想传输到 sdb 并稍后从它启动,您必须知道要复制的字节和扇区并将其包含在您的命令中 - 确保您的输出驱动器具有必要的大小,再次 /dev/sda 到 /dev/sdb除了我遇到的一些问题之外应该可以工作。也就是说,如果 dd 遇到旧驱动器上常见的读取错误,应该怎么做?您可以将 dd 设置为忽略它们,但它会写什么呢?以我的经验,它什么也不写,因此 512 字节(普通的传统块,但您的磁盘可能不同;较新的驱动器可能使用 4096 字节块)从写入中取出,并且所有进一步的字节都被移到“左侧”他们应该在哪里。这发生在每个可能你的读取错误 ve 选择忽略,因为读取错误会停止 dd Cold,并且重新启动非常困难。简而言之,可以使用 dd 进行克隆,但它应该在带有错误恢复循环的 bash 脚本中完成,该循环用空值填充未读块,该命令应指定确切的块计数,并且您应该确切知道低级格式涉及的驱动器。最后,对于严重克隆来说,最好使用专用的开源 c 可执行文件,它可以做 dd 和 sfdisk 的工作,但更专业。但是,我承认 dd 很有用。它就像你腰带上的一把鲍伊刀——令人印象深刻且功能强大,但用处有限。该命令应该指定确切的块计数,并且您应该确切地知道所涉及驱动器的低级格式。最后,对于严重克隆来说,最好使用专用的开源 c 可执行文件,它可以做 dd 和 sfdisk 的工作,但更专业。但是,我承认 dd 很有用。它就像你腰带上的一把鲍伊刀——令人印象深刻且功能强大,但用处有限。该命令应该指定确切的块计数,并且您应该确切地知道所涉及驱动器的低级格式。最后,对于严重克隆来说,最好使用专用的开源 c 可执行文件,它可以做 dd 和 sfdisk 的工作,但更专业。但是,我承认 dd 很有用。它就像你腰带上的一把鲍伊刀——令人印象深刻且功能强大,但用处有限。 此外,操作系统可以检查存储在空闲空间和 HDD 上其他位置的 UUID,如果它们不匹配,则可以拒绝引导。这是操作系统竞争力的黑魔法领域之一。官方软件知道这些。) 与 10 年前不同,如今 GPT 表也很重要,甚至是必不可少的。EFI 引导分区也使事情变得复杂。由于我对低级磁盘格式化知之甚少,我什至不会浪费时间尝试克隆整个磁盘。磁盘的某些部分可能对非常特殊的问题很有用。忽略 LVM 及其重要性,一个分区可能被克隆有用,但仅用于读回原始驱动器(没有操作系统混合、启动更改等)。假设操作系统没有,转移一个可启动的 500GB 驱动器以制作一个 1TB 的可启动系统' t 反对不同的驱动器(硬件签名?),那么我对成功实验的建议是使 1TB 驱动器上的低级格式化与 500GB 驱动器完全相同——我的意思是完全正确!您必须使用十六进制编辑器检查 MBR 和 GPT 表。然后将分区逐字节添加到新驱动器。然后,启动 1TB 驱动器(假设成功)并在新的 500GB 额外空间中创建另一个分区,或者扩展分区和实时文件系统,如果您拥有并信任此类软件。很难找到对这个领域的信任,因为如果弄错了,这将是困难和灾难性的。最好购买具有良好声誉和 SHA256SUMed 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。很难找到对这个领域的信任,因为如果弄错了,这将是困难和灾难性的。最好购买具有良好声誉和 SHA256SUMed 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。很难找到对这个领域的信任,因为如果弄错了,这将是困难和灾难性的。最好购买具有良好声誉和 SHA256SUMed 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。 aldo 2018-09-13T08:22:22+08:002018-09-13T08:22:22+08:00 我有: 向 ubuntu 虚拟机添加了第二个更大的虚拟磁盘(虚拟机设置) 使用“sudo dd if=/dev/sda of=/dev/sdb”将第一个磁盘复制到第二个磁盘 删除了 sdb (gparted) 上的交换分区 放大的 sdb1 (gparted) 在 sdb (gparted) 上重新创建了交换分区 停止虚拟机 删除了旧的虚拟驱动器(虚拟盒设置) 用新复制的更大的驱动器替换它(虚拟盒设置) 如果它适用于 virtualbox,它甚至适用于真正的硬件...... mohamadali modaresialam 2020-12-08T04:28:05+08:002020-12-08T04:28:05+08:00 通过以下方式检查源磁盘和分区: udisksctl status 然后运行: sudo dd bs=400M conv=sync,noerror status=progress if=/dev/hda of=/dev/hdb 其中 hda=source 分区磁盘和 hdb 是 distination 磁盘 注意:目标容量必须 >= 源
此问题是由不正确的
dd
命令造成的。磁盘克隆的准确dd
命令是:sda
并sdb
指向硬盘本身,其中也包括分区表。if=
指向输入文件(在本例中为/dev/sda
),并of=
指向输出文件(/dev/sdb
)。dd
命令很耗时,但它更受信任,也是默认系统工具,所以我优先使用dd
.操作成功后,下一步就是重启系统,那么你的新硬盘会是这样的:
这是最后第二步,这也是在以下步骤之后所必需的
dd
:使用Gparted实用程序调整扩展分区的大小。旧的硬盘分区表是 Legacy 引导类型,不支持超过 4 个主分区。因此,调整大小是使用 500GB 可用空间的唯一安全选项。调整扩展分区大小后:
最近我不得不使用 dd 进行恢复和图像工作。大约 10 年前,我大量使用它来克隆驱动器和备份分区。我必须说它的使用与直接和简单相距光年。对于 HDD,您需要准确了解驱动器在最低级别的结构。为此,您需要其他可以信任的程序(fdisk、sfdisk、cfdisk 等)。信任仅来自对已知对象的实验和检查结果,而不是来自口耳相传。我同意 muru 关于错误 dd 命令的初步评论,但应该说更多。if=/dev/sda 从设备的最开头(字节地址 0)开始读取,而 of=/dev/sdb1 写入设备 b 的第一个分区。结果是您的 sda-MBR 与您的操作系统等一起驻留在 sdb-part1 中,而我没有
我猜 sda 是引导设备,您希望 sdb 也成为您的引导设备,但也许您只是希望 sdb1 成为备份克隆。您的问题对此含糊不清。如果它们的大小完全相同,您可能可以将分区复制到分区,但操作系统可能有关于不匹配的分区文件系统的元数据,因此它无法“查看”它。如果您只是想要一个克隆进行备份,那么您的命令可能没问题,但是存在到达分区末尾并覆盖下一个分区的问题,以及您的操作系统是否会反对 sdb1 上的文件系统破坏(仍然从sda1(?))。原则上,这样可能有效,但最好只将 sda 写入 sdb 而忘记从 sdb 引导,它只是用于读取的克隆。
还有许多其他问题。如果您想传输到 sdb 并稍后从它启动,您必须知道要复制的字节和扇区并将其包含在您的命令中 - 确保您的输出驱动器具有必要的大小,再次 /dev/sda 到 /dev/sdb除了我遇到的一些问题之外应该可以工作。也就是说,如果 dd 遇到旧驱动器上常见的读取错误,应该怎么做?您可以将 dd 设置为忽略它们,但它会写什么呢?以我的经验,它什么也不写,因此 512 字节(普通的传统块,但您的磁盘可能不同;较新的驱动器可能使用 4096 字节块)从写入中取出,并且所有进一步的字节都被移到“左侧”他们应该在哪里。这发生在每个可能你的读取错误 ve 选择忽略,因为读取错误会停止 dd Cold,并且重新启动非常困难。简而言之,可以使用 dd 进行克隆,但它应该在带有错误恢复循环的 bash 脚本中完成,该循环用空值填充未读块,该命令应指定确切的块计数,并且您应该确切知道低级格式涉及的驱动器。最后,对于严重克隆来说,最好使用专用的开源 c 可执行文件,它可以做 dd 和 sfdisk 的工作,但更专业。但是,我承认 dd 很有用。它就像你腰带上的一把鲍伊刀——令人印象深刻且功能强大,但用处有限。该命令应该指定确切的块计数,并且您应该确切地知道所涉及驱动器的低级格式。最后,对于严重克隆来说,最好使用专用的开源 c 可执行文件,它可以做 dd 和 sfdisk 的工作,但更专业。但是,我承认 dd 很有用。它就像你腰带上的一把鲍伊刀——令人印象深刻且功能强大,但用处有限。该命令应该指定确切的块计数,并且您应该确切地知道所涉及驱动器的低级格式。最后,对于严重克隆来说,最好使用专用的开源 c 可执行文件,它可以做 dd 和 sfdisk 的工作,但更专业。但是,我承认 dd 很有用。它就像你腰带上的一把鲍伊刀——令人印象深刻且功能强大,但用处有限。
此外,操作系统可以检查存储在空闲空间和 HDD 上其他位置的 UUID,如果它们不匹配,则可以拒绝引导。这是操作系统竞争力的黑魔法领域之一。官方软件知道这些。)
与 10 年前不同,如今 GPT 表也很重要,甚至是必不可少的。EFI 引导分区也使事情变得复杂。由于我对低级磁盘格式化知之甚少,我什至不会浪费时间尝试克隆整个磁盘。磁盘的某些部分可能对非常特殊的问题很有用。忽略 LVM 及其重要性,一个分区可能被克隆有用,但仅用于读回原始驱动器(没有操作系统混合、启动更改等)。假设操作系统没有,转移一个可启动的 500GB 驱动器以制作一个 1TB 的可启动系统' t 反对不同的驱动器(硬件签名?),那么我对成功实验的建议是使 1TB 驱动器上的低级格式化与 500GB 驱动器完全相同——我的意思是完全正确!您必须使用十六进制编辑器检查 MBR 和 GPT 表。然后将分区逐字节添加到新驱动器。然后,启动 1TB 驱动器(假设成功)并在新的 500GB 额外空间中创建另一个分区,或者扩展分区和实时文件系统,如果您拥有并信任此类软件。很难找到对这个领域的信任,因为如果弄错了,这将是困难和灾难性的。最好购买具有良好声誉和 SHA256SUMed 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。很难找到对这个领域的信任,因为如果弄错了,这将是困难和灾难性的。最好购买具有良好声誉和 SHA256SUMed 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。很难找到对这个领域的信任,因为如果弄错了,这将是困难和灾难性的。最好购买具有良好声誉和 SHA256SUMed 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。
我有:
如果它适用于 virtualbox,它甚至适用于真正的硬件......
通过以下方式检查源磁盘和分区:
然后运行:
其中 hda=source 分区磁盘和 hdb 是 distination 磁盘
注意:目标容量必须 >= 源