linuxdd命令恢复的简单介绍

linux的dd命令可以把备份的镜像恢复到一个不同容量的分区里嘛?比如原分区已用5g , 总共10g , dd是一比一的完全复制,容量不同,可能会造成数据丢失,另外设备分区号不一样,也会造成系统错误,配置文件中的分区号仍然是老的分区号 , 像/etc/fstab中的一些分区挂载 , 会挂载不成功 。
安卓Linux环境下的dd命令使用总结dd :用指定大小的块拷贝一个文件 , 并在拷贝的同时进行指定的转换 。
注意:指定数字的地方若以下列字符结尾,则乘以相应的数字: b=512 ; c=1 ; k=1024 ; w=2
参数注释:
4、备份与恢复MBR
·备份文件开始的512个字节大小的MBR信息到指定文件:
#dd if=/system/xbin/busybox of=/data/local/tmp/bb count=1 bs=512
·count=1 指仅拷贝一个块; bs=512 指块大小为512个字节
·恢复:
#dd if=/data/local/tmp/bb of=/data/local/tmp/bbb
·将备份的MBR信息写到磁盘开始部分
/dev/null,外号叫无底洞,你可以向它输出任何数据,它通吃,并且不会撑着!
/dev/zero , 是一个输入设备,你可你用它来初始化文件 。该设备无穷尽地提供 0,可以使用任何你需要的数目——设备提供的要多的多 。他可以用于向设备或文件写入字符串 0。
/dev/null ——它是空设备,也称为位桶( bit bucket ) 。任何写入它的输出都会被抛弃 。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶 。
Linux系统DD恢复镜像的用法DD(1)General Commands ManualDD(1)
NAME
dd - 转换和拷贝文件
摘要
dd[--help][--version][if=file][of=file] [ibs=bytes] [obs=bytes]
[bs=bytes][cbs=bytes][skip=blocks][seek=blocks][count=blocks]
[conv={ascii, ebcdic, ibm, block, unblock, lcase, ucase, swab, noerror,
notrunc, sync}]
描述
当进行非强制的转换的时候,使用指定的输入和输出块大小拷贝文件
(默认是从标准输入到标准输出 。)
它每次从输入读取指定大小的一个块(默认是512字节) 。如果使用bs=bytes
选项,并且没有转换,除了指定sync,noerror,或notrunc之外,
那么dd将把全部读到的数据(可以比请求读的少)写到独立的输出块去 。
这个输出块的长度和读到的数据完全一样,除非指定使用sync(同步)
转换,那样的话,数据结尾处将追加NUL字符(或空格,见下) 。
其他情况下,输入的时候每次读一个块 , 然后处理,并将
输出结果收集起来,最后写到指定大小的数据块中去 。最
终的输出块可能会比指定的大小短一些 。
数字值选项(以字节或块为单位)后面可以跟一个乘数:
k=1024,b=512,w=2,c=1(w和c是GNU扩展语法 。最好别使用w,因为在system
V中 , 它表示2,在4.2BSD中,它
表示4) 。两个或更多的数值表达式可以通过“x”乘起来 。GEUfileutils
4.0并且允许在数据块大小的叙述中使用
下列乘法后缀(用bs=,cbs=,obs=):M=1048576,G=1073741824,
同理可得T , P,E , Z,Y 。D后缀表示数值是以十进制表示的:kD=1000
MD=1000000GD=1000000000等等 。
(注意,在ls、df、du命令中,M等标记的大小是由环境
变量确定的 , 而在DD中,它的值是固定的 。)
选项
if=file
从 file 中读而不是标准输入 。
of=file
写到 file 里去而不是标准输出 。除非指定 conv=notrunc ,否则,dd
将把 file 截为O字节(或由 seek= 选项指定的大?。?
ibs=bytes
一次读 bytes 字节 。默认是512 。
obs=bytes
一次写 bytes 字节 。默认是512 。
bs=bytes
一次读和写bytes 字节 。这将覆盖 ibs 和 obs 设定的值(并且,设定
bs 不等于同时将 ibs 和obs设为同一个值,至少在只使用sync,
noerror或notrunc
转换时是这样的 。因为bs规定 , 每个输入块都应作为单独
的数据块拷贝到输出,而不把较短的块组合到一起) 。
cbs=bytes
为 block 转换和 unblock 转换指定转换块的大小 。
skip=blocks
在拷贝之前,跳过输入文件的前blocks块 , 每块大小为ibs-byte
字节 。
seek=blocks
在拷贝之前,跳过输出文件的前blocks块,每块大小为obs-byte
字节 。
count=blocks
只拷贝输入文件的前blocks块(每块的大小为ibs-byte
字节),而不是全部内容,直到文件末尾 。
conv=转换"[,"转换"]..."
将文件按 转换 参数指定的方式转换(在“,”两边没有空格) 。
【linuxdd命令恢复的简单介绍】转换方式包括:
ascii将EBCDIC转换成ascii 。
ebcdic 将ascii转换成ebcdic 。
ibm将ascii转换成alternative ebcdic 。
block每一行输入,无论长短,输出都是cbs
字节,并且其中的“换行”(NEWLINE,即c中的'0)用
空格替换 。如有必要,行尾会填充空格 。
unblock
用“换行”替换每个输入块( cbs 字节大?。┠┪驳目崭?。
lcase将大写字母转换成小写 。
ucase将小写字母转换成大写 。
swab交换每对输入字节 。如果读入的字节数是奇数 , 最后
一个字节只是简单的复制到输出(因为没有能跟它交换的
字节了)(POSIX 1003.26,PASC翻译1003.2 3号和4号) 。
noerror
发生读错误时 , 继续进行 。
notrunc
不截断输出文件 。
sync用0填充到每个输入块的末尾,使其大小为 ibs 字节 。
GNU标准选项
--help 将用法信息打印到标准输出,并成功退出 。
--version
将版本信息打印到标准输出 , 并成功退出 。
--结束选项列表 。
环境变量
LANG, LC_ALL, LC_CTYPE和LC_MESSAGES具有其通常含义 。
遵循标准
POSIX 1003.2
举例
磁带机通常不能接受任意大小的数据块 , 当最后一个数据片
段不能充满整个块时,dd将出现I/O错误 。用'dd if=myfile of=/dev/mytape
conv=sync'就可以使全部内容存到磁带上 。当然 , 这样做 , 把文件从磁
带上读回时回产生一个稍大些的文件,因为其尾部填充了一 些NUL(空字符) 。
以上是man手册的资料
dd就是分区的拷贝操作,一个分区或者说硬盘上某些扇区的某些块(指定位置)都可以被视为一个磁带,dd就是把固定的块上保存的二进制内容做拷贝操作.
linuxdd命令恢复的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于、linuxdd命令恢复的信息别忘了在本站进行查找喔 。

    推荐阅读