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
    • 最新
    • 标签
主页 / computer / 问题 / 1746483
Accepted
machine_1
machine_1
Asked: 2022-10-09 03:54:06 +0800 CST2022-10-09 03:54:06 +0800 CST 2022-10-09 03:54:06 +0800 CST

使用 dd 和压缩工具进行分区克隆

  • 772

在最近发生在我身上的 灾难之后,我决定开始备份我的数据。我正在寻找克隆分区和磁盘的最佳方法,并在 stackexchange 网络上的另一个站点上遇到了一个问题。

第二个答案似乎很有趣,但是在第二部分中,它提出了以下建议:

为了节省更多空间,请事先对您要克隆的驱动器/分区进行碎片整理(如果合适),然后将所有剩余未使用的空间清零,使 gzip 更容易压缩

这似乎是一个耗时的过程,并且可能会缩短 HDD 的使用寿命,所以我在想:为什么要将硬盘驱动器的未使用空间归零?为什么不将分区缩小到接近它在磁盘上占用的大小,然后将 dd 与 gzip 结合使用?

例如,如果托管我的 Windows 安装的分区大小为 450GB,使用的数据大小为 80GB,我可以使用 Windows 上的“磁盘管理”将分区缩小 '450 - 80 + 0.5'GB。0.5GB 是为了避免后台进程尝试写入磁盘时出现问题。

然后我可以使用 live linux 发行版来执行命令:

dd if=/dev/hdb | gzip -c  > /image.img.gz

然后我可以回到 Windows 并扩展分区以声明未分配的空间。

由于我没有尝试过这种方法,所以我想问:

我错过了什么/有什么问题吗?

我问的原因是我还没有找到一个答案或文章提到这种方法。

我的第二个问题是:为了这个目的,现在有没有比 gzip 更好的压缩工具?

windows linux
  • 1 1 个回答
  • 69 Views

1 个回答

  • Voted
  1. Best Answer
    user1686
    2022-10-09T10:35:00+08:002022-10-09T10:35:00+08:00

    这似乎是一个耗时的过程,并且可能会缩短 HDD 的使用寿命,所以我在想:为什么要将硬盘驱动器的未使用空间归零?为什么不将分区缩小到接近它在磁盘上占用的大小,然后将 dd 与 gunzip 结合使用?

    缩小分区也是一个耗时的过程,因为它需要移动大量数据——这些数据通常分布在整个分区(以避免碎片)而不是一开始就打包所有文件,所以你越多想要缩小分区,需要将更多的数据物理移动到不同的地方。

    超过某个“已使用”百分比,它甚至可能比清零空白空间要慢,因为收缩工具需要在将数据写入其他位置之前读取数据,因此工作速度不到 HDD 的一半。

    (此外,Windows 通常会拒绝将在线文件系统压缩到某个点以上——例如,如果您从 ~1TB 文件系统开始,即使文件系统几乎是空的,最小值通常也会是 ~450GB。从 Windows PE 离线压缩,或即使从使用 ntfsresize 的 Linux 中,也可能需要进一步减少它。)

    两个更好的选择是:

    1. 使用 克隆分区,除了它理解 NTFS 空间分配位图外ntfsclone,它的行为类似于dd,因此它将避免读取 NTFS 认为未使用的任何扇区。结果类似于对文件系统进行预置零,但速度更快,因为既不写入也不读取空扇区。

      partclone是一个支持更多文件系统的类似工具,但不幸的是只能输出其专有图像格式(需要第二次 partclone 调用才能恢复到物理分区),而 ntfsclone 只输出一个“原始”图像,可以直接写入新分区。

      在某些情况下,您可以使用Disk2vhd.exe,它在 Windows 上运行并始终输出 VHD 或 VHDX 映像文件(它用于将物理 Windows 安装转换为 Hyper-V)。VHD(X) 映像是动态分配的,因此它们只占用所需的空间——它们可以作为虚拟磁盘附加到任何 Windows 10 系统上。但是,Disk2vhd 没有用于从VHD 恢复到物理磁盘的配套工具(尽管这可以使用 qemu-img 完成)。

    2. 使用 创建文件级映像dism.exe /capture-image,输出 WIM 存档(与 Windows 安装过程使用的类型相同) - 然后可以使用 将其提取到新的 NTFS 分区/apply-image,保留 [几乎] 所有 Windows 特定的元数据。

      您可以从 Windows PE 执行此操作,例如通过启动 Windows 安装程序或恢复环境,然后按 Shift+F10 进入命令提示符。

      这种方法避免了任何与调整大小相关的问题(例如,您可以从 1TB 磁盘捕获图像并将其提取到 256GB 的磁盘),但它比 ntfsclone 慢,因为您需要一个中间位置来存储图像,目前还不清楚它是否真的捕获所有元数据。(例如,事实证明您需要使用该/EA选项才能包含 WSL1 使用的扩展属性。)

    • 1

相关问题

  • 以 root 身份运行 docker 容器

  • 在 Windows 上与 Docker 守护进程通信

  • 如何在域和 Linux 活动目录中启用指纹传感器

  • 如何在CentOS 7 中将Ctrl+C 永久更改为Ctrl+K?

  • 资源管理器侧面板中的桌面外壳快捷方式

Sidebar

Stats

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

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve