系统调整好以后,我们要把其备份成镜像,这样有利于批量复制发行。
1. 备份方法
可以用 dd 命令制作 SD 镜像,命令如下:
# 查看 SD 在系统中的设备名称
sudo fdisk -l
我的 SD 卡的名称是 /dev/mmcblk0,用下面的命令制作其镜像:
sudo dd bs=16M if=/dev/mmcblk0 of =nano_back.img
2. dd 命令的进一步说明
2.1 dd 命令的参数
dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字:b=512;c=1;k=1024;w=2
参数注释:
- if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >
- of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
- ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
- obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
- bs=bytes:同时设置读入/输出的块大小为bytes个字节。
- cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
- skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
- seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。 - count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
- conv=conversion:用指定的参数转换文件。
- ascii:转换ebcdic为ascii
- ebcdic:转换ascii为ebcdic
- ibm:转换ascii为alternate ebcdic
- block:把每一行转换为长度为cbs,不足部分用空格填充
- unblock:使每一行的长度都为cbs,不足部分用空格填充
- lcase:把大写字符转换为小写字符
- ucase:把小写字符转换为大写字符
- swab:交换输入的每对字节
- noerror:出错时不停止
- notrunc:不截短输出文件
- sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐。
2.1 dd 应用实例
- 将本地的/dev/hdb整盘备份到/dev/hdd
dd if=/dev/hdb of=/dev/hdd
- 将/dev/hdb全盘数据备份到指定路径的image文件
dd if=/dev/hdb of=/root/image
- 将备份文件恢复到指定盘
dd if=/root/image of=/dev/hdb
- 备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
dd if=/dev/hdb | gzip > /root/image.gz
- 将压缩的备份文件恢复到指定盘
gzip -dc /root/image.gz | dd of=/dev/hdb
- 备份与恢复MBR
- 备份磁盘开始的512个字节大小的MBR信息到指定文件:
dd if=/dev/hda of=/root/image count=1 bs=512
-
count=1指仅拷贝一个块;bs=512指块大小为512个字节。
-
恢复:
dd if=/root/image of=/dev/had
将备份的MBR信息写到磁盘开始部分
- 备份软盘
dd if=/dev/fd0 of=disk.img count=1 bs=1440k (即块大小为1.44M)
- 拷贝内存内容到硬盘
dd if=/dev/mem of=/root/mem.bin bs=1024 (指定块大小为1k)
- 拷贝光盘内容到指定文件夹,并保存为cd.iso文件
dd if=/dev/cdrom(hdc) of=/root/cd.iso
更多信息参见:linux命令总结dd命令详解

1883

被折叠的 条评论
为什么被折叠?



