linux dd格式化磁盘_如何在Linux中使用dd而不破坏磁盘

linux dd格式化磁盘

本文摘自Manning出版的《 Linux in Action》第4章。

无论您是试图从即将死去的存储驱动器中抢救数据,将存档备份到远程存储,还是在其他位置完美复制活动分区,您都需要了解如何安全可靠地复制驱动器和文件系统。 幸运的是, dd是一种简单而强大的图像复制工具,而且已经存在了很长时间。 在所有时间里,没有什么比这更好的工作了。

完美复制驱动器和分区

dd如果您进行了足够的研究,但它的亮点在于它使您可以使用分区。 当然,您可以使用tarscp复制整个文件系统,方法是从一台计算机上复制文件,然后将它们按原样粘贴在另一台计算机上的全新Linux安装之上。 但是,由于这些文件系统归档文件不是完整的映像,因此它们将需要两端都在运行的主机OS作为基础。

另一方面,使用dd可以制作几乎任何数字形式的完美逐字节图像。 但是,在开始将分区从另一端猛冲到另一端之前,我应该提到,这个古老的Unix管理员笑话有一些道理:“ dd代表磁盘毁灭者” 如果您在dd命令中甚至输入了一个错误的字符,您都可以立即永久擦除整个有价值的数据。 是的,拼写很重要。

切记: 在按Enter键 调用 dd ,请 暂停并仔细考虑!

基本dd操作

既然已经适当地警告了您,我们将从简单的内容开始。 假设您要为指定为/dev/ sda的整个数据磁盘创建一个精确映像。 您插入了一个空驱动器(理想情况下,其容量应与/dev/ sda   系统)。 语法很简单: if=定义源驱动器, of=定义要保存数据的文件或位置:

 # dd if=/dev/sda of=/dev/sdb 

下一个示例将创建/dev/ sda驱动器的.img存档,并将其保存到用户帐户的主目录中:

 # dd if=/dev/sda of=/home/username/sdadisk.img 

这些命令创建了整个驱动器的映像。 您也可以专注于驱动器上的单个分区。 下一个示例做到了这一点,并且还使用bs设置了一次要复制的字节数(本例中为4,096)。 尽管理想的设置将取决于您的硬件配置文件和其他考虑因素,但使用bs值可能会影响dd操作的整体速度。

 # dd if=/dev/sda2 of=/home/username/partition2.img bs=4096 

恢复很简单:实际上,您可以反转ifof的值。 在这种情况下, if=获取要还原的映像,而of=获取要向其写入映像的目标驱动器:

 # dd if=sdadisk.img of=/dev/sdb 

您还可以在一个命令中执行创建和复制操作。 例如,此示例将使用SSH创建远程驱动器的压缩映像,并将生成的存档保存到本地计算机:

 # ssh [email protected] "dd if=/dev/sda | gzip -1 -" | dd of=backup.gz 

您应该始终测试归档文件以确认它们正在运行。 如果它是您创建的启动驱动器,请将其粘贴到计算机中,然后查看它是否按预期启动。 如果它是普通的数据分区,请挂载它以确保文件既存在又可适当访问。

用dd擦除磁盘

几年前,我有一个朋友,在他的政府的海外使馆负责安全事务。 他曾经告诉我,他所监视的每个使馆都配有官方的政府发行的铁锤。 为什么? 万一该设施有遭受友善者侵害的危险,可使用锤子销毁其所有硬盘。

那是什么? 为什么不删除数据呢? 你开玩笑的对吧? 每个人都知道,从存储设备中删除包含敏感数据的文件实际上并不会删除数据。 只要有足够的时间和动力,几乎任何东西都可以从几乎任何数字媒体中检索到,除了那些已经被很好地正确敲打的媒介之外。

但是,您可以使用dd使坏分子获取您的旧数据变得更加困难。 此命令将花费一些时间在/dev/sda1分区的每个角落和裂缝处写入数百万个零:

 # dd if=/dev/zero of=/dev/sda1 

但它会变得更好。 使用/dev/ urandom文件作为源,您可以在带有随机字符的磁盘上进行写操作:

 # dd if=/dev/urandom of=/dev/sda1 

监控dd操作

由于磁盘或分区归档可能需要很长时间,因此您可能需要在命令中添加进度监视器。 安装Pipe Viewer(在Ubuntu上sudo apt install pv )并将其插入dd 使用pv ,最后一个命令可能看起来像这样:


     
     
     
     
# dd if=/dev/urandom | pv | dd of=/dev/sda1
4,14MB 0:00:05 [ 98kB/s] [      <=>                  ]

推迟备份和磁盘管理? 使用dd,您不会有太多借口。 这确实不难,但要小心。 祝好运!

翻译自: https://opensource.com/article/18/7/how-use-dd-linux

linux dd格式化磁盘

你可能感兴趣的:(python,linux,java,大数据,数据库)