当需要在 Linux 上擦除、备份或恢复数据时,您可以选择几个应用程序。 GParted 是最成熟的选择之一。 GNOME 磁盘是一种更现代的替代品,在 GNOME 桌面环境中看起来很棒。 但无论您运行哪种 Linux 操作系统,总有一个选项可以正常工作——dd.
您无需进入终端即可使用 Linux。 但是,一旦您将某些命令添加到您的曲目中,您不仅可以节省时间,而且您将学习可以在任何版本的 Linux 中使用的技能。
为什么要使用dd?
无论您是在桌面还是服务器上,dd 都可以正常工作。 dd 最初是一个 Unix 命令,因此除了 Linux 之外,它还支持其他类 Unix 操作系统,例如 FreeBSD 和 macOS。
dd 也只需几秒钟即可启动擦除或创建磁盘映像。 一旦您知道要输入什么,您就可以在输入在线搜索指令的时间内打开终端并擦除驱动器。
拥有权利的同时也被赋予了重大的责任。 克隆驱动器的命令与擦除驱动器的命令并没有什么不同。 在使用可以删除文件的命令时,您需要特别注意键入的内容。
你紧张吗? 好的。 即使您是 dd 专家,您也总是希望仔细输入命令。 在最坏的情况下,心不在焉会破坏硬件,更有可能导致数据丢失。 现在,让我们开始吧。
使用 dd 克隆驱动器
克隆驱动器是备份计算机的可靠方法。 您可以将数据备份到便携式硬盘驱动器或 Dropbox,但这只会保存您的文件。
要保存您的应用程序,您必须学习如何备份每个单独的应用程序。 对于某些人来说,这意味着导出特定文件。 对于其他人来说,这意味着复制隐藏文件夹。 然后是那些您根本无法备份的应用程序。
dd 通过创建整个硬盘驱动器或分区的精确副本来解决此问题。 当您恢复此副本时,您的计算机将恢复到原来的状态。 您将取回您的文件、您的应用程序、您的浏览历史记录,甚至您的系统设置。 一切。
要克隆您的驱动器,您需要第二个驱动器,其空间比您要复制的驱动器更大。 这可能是便携式硬盘驱动器或大型闪存驱动器。
首先打开终端。 您需要管理员权限才能执行任何 dd 命令。 你可以输入 苏 以管理员身份登录或键入 sudo 在 dd 命令的开头。
准备好复制时,键入以下命令。 请注意,它将擦除第二个驱动器上的所有预先存在的数据,因此请务必事先备份所有数据。
dd if=/dev/sdX of=/dev/sdY
现在,让我们弄清楚发生了什么。 dd 是命令。 如果 是输入,如您要复制的位置。 的 是您要替换为副本的输出或位置。
sdX 和 sdY 参考您正在与之交互的驱动器。 驱动器通常有一个名称,例如 /dev/sda, /dev/sdb, 或者 /dev/sdc. 您可以使用分区编辑器找出名称。 或者,由于您已经在终端中,您可以使用 lsblk 命令。
创建磁盘映像
克隆驱动器的另一种方法是创建一个磁盘映像,您可以像使用可启动 USB 一样移动和恢复该磁盘映像。
创建映像文件允许您将多个备份保存到单个目标,例如大型便携式硬盘驱动器。 同样,这个过程只需要一个命令:
dd if=/dev/sdX of=path/to/your-backup.img
为了节省空间,您可以使用 dd 压缩备份。
dd if=/dev/sdX | gzip -c > path/to/your-backup.img.gz
此命令将您的备份压缩为 IMG.GZ 文件,这是 Linux 可以处理的众多压缩格式之一。
使用 dd 恢复驱动器
如果您不能使用备份,它们有什么用? 当您准备好使用 dd 恢复映像时,您有两个选择。 如果您使用第一种方法,只需交换两个目的地。
dd if=/dev/sdY of=/dev/sdX
从图像文件恢复时,同样的概念适用:
dd if=path/to/your-backup.img of=/dev/sdX
如果您的图像文件被压缩,那么情况会有所不同。 请改用此命令:
gunzip -c /path/to/your-backup.img.gz | dd of=/dev/sdX
要清楚, 枪弹 是“g unzip”,与“g zip”相反。 此命令解压缩您的备份。 然后 dd 用此映像替换现有驱动器。
要考虑的参数
您可以通过在末尾添加一个参数来更改您的命令。 默认情况下,dd 传输数据可能需要一段时间。 您可以通过增加块大小来加快该过程。 通过添加来做到这一点 bs= 在末尾。
dd if=/dev/sdX of=/dev/sdY bs=64
这 example 将默认块大小从 512 字节增加到 64 KB。
转换=无错误 告诉 dd 继续尽管发生任何错误。 默认行为是停止,从而导致文件不完整。 请记住,忽略错误并不总是安全的。 生成的文件可能已损坏。
转换=同步 每当有任何读取错误时,添加带有零的输入块。 这样数据偏移保持同步。
您可以将最后两个组合为 转换=无错误,同步 如果你愿意的话。 逗号后没有空格。
认识dd
如果你有兴趣,dd的名字指的是 IBM 作业控制语言的声明. 如果你不明白那里发生了什么,那就不要出汗。 这不会使命令更难使用。
需要更多信息来帮助 dd? 这 维基页面 非常彻底。 还有一篇很棒的文章 Arch Linux 维基. 同样,您是否使用 Arch 并不重要。 无论您的 Linux 操作系统如何,dd 的工作方式都相同。
如果事实证明 dd 不适合您,那么您并没有不走运。 还有其他方法可以克隆硬盘!