dd - 只需复制分区


1

我有一个SanDisk Extreme SD卡支持我的Homeserver在RaspberryPI上运行。我想使用dd将此sytsem移动到另一个4GB SD卡。但不幸的是,当我通过dd制作图像时,它的大小与整个SanDisk(16GB)相同。其中13.5个是分区的。服务器SD由2个分区组成,一个小50MB,另一个3 GB。我预计dd会生成两个分区之和大小的图像。有没有办法制作一个只包含真正使用的磁盘空间的图像?


1
纯粹作为背景信息:Dd不会生成两个分区之和大小的图像,因为它不知道有分区。它输入输入数据,输出数据。它根本没有解释。
Hennes

Raspbian是否配备了 dump 命令? (转储用于进行文件系统备份)
Hennes

不,但这不是问题。对于复制过程,我使用带有Ubuntu live的笔记本电脑,因为读卡器和卸载驱动器的能力。
ManuelSchneid3r

你没有在任何地方陈述它,这让我觉得你可能试图错误地做这件事。您将首先使用fdisk来确定要映像的分区。然后使用dd仅指定该分区。例如“dd if = / dev / sd1 of ...”而不是“dd if = / dev / sda of ......”
David Hoelzer

Answers:


2

如果SD卡是(例如)sdb,请不要让dd读取sdb,您可以要求它通过指定(例如)sdb1或sdb2来仅复制分区。您必须首先使用相同大小的分区对目标设备进行分区,然后将其指定为目标。

Unix / GNU-Linux系统有各种复制数据的工具

  • DD
  • 的cpio
  • 倾倒
  • 柏油

值得仔细阅读其中的每一个(例如手册页,但我建议使用Google搜索概述)


也, dd 有一个计数选项,所以你可以告诉它只复制前4GB。


“你必须先用相同大小的分区对目标设备进行分区,然后将其指定为目标。”我觉得这有点困难。我尝试用16d将16GB iso复制到4GB SD卡上,但它确实有效。到现在为止:D。我猜它有效,因为剩下的12 GB没有有用的信息。
ManuelSchneid3r

-1

是的,实际上非常简单:你可以使用 FSArchiver 正如其主页上明确指出的那样:“ ...只要有足够的空间存储数据,FSArchiver就可以将存档提取到比原始分区小的分区......

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.