AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 743513
Accepted
Madhav Nikam
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 4 个回答
  • 19638 Views

4 个回答

  • Voted
  1. 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 可用空间的唯一安全选项。

    调整扩展分区大小后:

    在此处输入图像描述

    • 9
  2. 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 的新系统或软件,以便您检查其完整性。数字系统本质上是易变的和无常的,所以最好适应变化,如果你需要的比你拥有的更多。

    • 2
  3. 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,它甚至适用于真正的硬件......

    • 0
  4. 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 磁盘

    注意:目标容量必须 >= 源

    • 0

相关问题

  • 是否有更好的方式为 /home/userX 构建分区/挂载

  • Linux 文件系统层次结构中的默认目录是什么意思?

  • 如何将 /usr 移动到新分区?

  • 如何从双启动计算机访问加密的主文件夹?

  • 您对台式机和家庭服务器的驱动器分区方案有什么建议?[关闭]

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve