使用linux过程中,如果需要进行低级数据复制可以通过dd命令。如是创建分区或者完整磁盘副本等,需进行低级数据复制可以通过命令dd,一种非常好用的数据复制器。可以创建分区或驱动器的逐字节副本,甚至可以在文件或设备之间转换数据。dd命令允许控制块大小以及跳过和查找数据。dd非常强大,但是使用中也要非常小心谨慎因为很可能因为操作不当导致丢失整个驱动器的数据。
linux安装从一个磁盘复制到更大磁盘,如使用服务器或者台式机驱动器已满,可以通过dd实现复制。还可以从ISO创建可启动的USB驱动器,可以避开第三方软件来完成。使用dd需要先提前测试,确定可用会用后再正式使用。使用dd命令有一定前提条件,首先要求是在运行的linux中,且操作者具有sudo权限,还有一个比正在复制的驱动器更大的驱动器。
使用dd命令的基本语法有两种形式:
dd [OPERAND]
dd OPTION
创建可启动USB设备,假设使用的ISO映像AlmaLinux-9.3-x86_64-dvd.iso而要使用的 USB 驱动器位于/dev/sdg。如果不确定USB驱动器的确切路径,可以通过lsblk找到。创建这个可启动的USB驱动器命令为:
sudo dd if=/home/jack/Downloads/AlmaLinux-9.3-x86_64-dvd.iso of=/dev/sdg bs=4M status=progress && sync
if=这是您想要用于可启动 USB 设备的输入文件或 ISO 文件。of=这是输出文件或 USB 驱动器的位置。bs=4M这定义了将读取和写入多少字节(默认为 512)。status=这是要打印到输出的信息级别。在本例中,进度显示定期传输统计信息。sync 这确保了在该过程完成之前所有数据都写入 USB 设备。
dd还可以用于转换文本,如可能有一个由所有小写文本组成的文件,可以直接转换为大写,加入小写文件为“testing”想转换为大写叫“testing2”文件。命令为:
dd if=testing of=testing2 conv=ucase
可以与 conv 一起使用的选项包括:ascii从 EBCDIC 转换为 ASCII。ebcdic从 ASCII 转换为 EBCDIC。ibm从 ASCII 转换为替代 EBCDIC。block将以换行符结尾的记录用空格填充至 cbs-size。unblock将 cbs 大小记录中的尾随空格替换为换行符。lcase将大写字母转换为小写字母。ucase将小写字母转换为大写字母。sparse尝试寻找而不是写入全 NUL 输出块。swab交换每对输入字节。sync使用 NUL 将每个输入块填充至 ibs 大小;与 block 或 unblock 一起使用时,使用空格而不是 NUL 填充。excl如果输出文件已存在,则失败。
还可以克隆磁盘,使用一个比要克隆的驱动器更大的驱动器,使用dd创建驱动器或分区精确、逐字节副本。如将源驱动器为/dev/sda,目标驱动器是/dev/sdb。
先要使用启动实时发行版的linux,连接目标驱动器开始使用下面命令克隆:
sudo dd if=/dev/sda of=/dev/sdb bs=4M status=progress
这个过程可能需要一些时间,完成后下u要重启计算机,确保移除USB设备。想验证是否完成,可以打开服务器的启动菜单选择目标驱动器作为启动源,如果一切正常就可以移除源驱动器,在插入制定驱动器即可。以上就是华纳云的全部分享,欢迎继续关注我们!