用dd备份Linux系统

用dd备份Linux系统,第1张

dd - convert and copy a file

假设我们的系统是安装在/dev/sda磁盘上,现在我加入一个和sda一样大小的磁盘,并使用 dd 命令将sda拷过来:

dd对磁盘是极大的浪费,100G的硬盘只用1G,dd后的备份文件也是100G。所以在 dd 时可以指定 bs 和 count 。

我测试时还存在一个问题:

接下来取下sda,直接以sdb开机。和原来系统应该一模一样。

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 )。任何写入它的输出都会被抛弃。如果不想让消息以标准输出显示或写入文件,那么可以将消息重定向到位桶。

你对bs=xxx count=mmm的说法是正确的,但是对dd的打印提示说法不正确。

dd的输出是:

x+y records in

m+n records out

其中 x和m的含义是 x和m个完整的块(也就是你用bs指定的块大小)被读入和写出。

其中y和n的含义是 y和n个不完整的块(部分块)被读入和写出。

最常见产生的不完整块的读入是由于碰到了读入的文件尾,比如你有一个文件a.log的大小是10个字节,你用下面的命令就会出现1+1的情况,因为第二个块不够6个字节,只有4字节。

dd if=a.log of=b.log bs=6 count=2

1+1 records in

1+1 records out

常见的出现0+0的情况是由于被读的文件是空文件(0字节),比如下面的命令

dd if=/dev/null of=b.log bs=6 count=2

0+0 records in

0+0 records out


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/6179060.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-17
下一篇 2023-03-17

发表评论

登录后才能评论

评论列表(0条)

保存