1)查看分区情况
输入命令fdisk -l查看分区
上面有四个分区
sda1,2,3分区为Linux分区,sda5为交换分区
2 查看挂载情况
输入 mount | grep sda 命令,查看分区挂载情况
可见 /dev/sda1挂载为根文件系统,/dev/sda3挂载到/data目录。
2)使用dd创建根分区的镜像文件
输入命令:dd if=/dev/sda1 of=/data/sda1.img conv=noerror,sync开始创建镜像文件。(这里想要备份什么地区就找什么地方的镜像文件)
输入命令:watch -n 5 pkill -USR1 ^dd$查看dd执行的进度。
dd if=/dev/sda1 of=/data/sda1.img conv=noerror,sync
是一个在 Linux 或类 Unix 系统中使用的命令,用于执行磁盘或文件的低级数据复制操作。这个命令的具体意义如下:
dd
是 "data descriptor" 或 "disk dump" 的缩写,是一个强大的命令行工具,用于转换和复制文件。
if=/dev/sda1
:这里的if
表示输入文件(input file),/dev/sda1
是指你要复制的源设备或文件,本例中是从名为sda1
的硬盘分区读取数据。在 Linux 中,/dev/sda1
通常代表第一个硬盘的第一个逻辑分区。
of=/data/sda1.img
:这里的of
表示输出文件(output file),/data/sda1.img
是目标文件的路径及名称,即你希望创建的镜像文件的位置和名称。这将会是一个包含sda1
分区所有数据的映像文件。
conv=noerror,sync
:这部分指定了dd
命令的行为选项。
noerror
:告诉dd
在遇到读取错误时不要停止复制过程,而是尽可能多地复制数据,并忽略错误。sync
:在复制过程中,确保每个输入块的完整写入到输出中。即使遇到输入数据不足一个块大小的情况,也会用零填充到块的末尾,保证数据的同步和完整性。这对于制作磁盘镜像特别重要,可以避免数据损坏或不一致的问题。综上所述,整个命令的意思是将硬盘分区
/dev/sda1
上的所有数据完整地复制到名为/data/sda1.img
的映像文件中,过程中即使遇到读取错误也不中断复制,并确保输出数据的块对齐和完整性。这个命令常用于备份硬盘分区或制作磁盘映像。
依次输入命令:cd /data、ls -lh查看镜像文件信息。生成了一个与/dev/sda2分区大小相同的文件。
输入命令:md5sum /data/sda1.img > /data/sda1.md5生成镜像文件的hash值。
为什么要生成hash值,因为要确保文件的完整性.
)使用dd通过镜像文件恢复根分区
输入命令:apt remove net-tools删除net-tools软件。
输入命令:md5sum -c /data/sda1.md5验证镜像文件的完整性。
输入命令:dd if=/data/sda1.img of=/dev/sda1 conv=noerror,sync开始恢复。(恢复过程时间较长,请耐心等待)
在dd操作完成后输入命令:reboot重启系统。
进入系统后,输入命令:dpkg -l | grep net-tools查看net-tools软件。可以看到安装了net-tools,ifconfig命令也成功执行,说明系统通过dd恢复成功。