- 论坛徽章:
- 0
|
看书上的用dd备份分区表,但是没写恢复,后来就用GOOGLE找了下,找到一个很多网站都有的例子:
首先使用fdisk -l 确定MBR位置。
备份MBR:
dd if=/dev/sda1 of=/root/mbr bs=512 count=1
恢复MBR:
dd if=/root/mbr of=/dev/sda1 bs=512 count=1
恢复分区表:
dd if=/root/mbr of=/dev/sda1 bs=512 skip=446 count=66
注:mbr大小512 所以bs=512 count=1
bs=512 skip=446 count=66 用来确定分区表在备份文件中的位置
其中有疑问的地方就是恢复分区表,按我的理解,前面在恢复MBR的时候,给的bs=512,很明显已经是磁盘主引导区的大小了(启动代码[446]+磁盘分区表[64]+结束标志[2]),也就是说MBR通过这样已经恢复了。
那下面的恢复分区表是什么意思呢?难道说作者不知道MBR是什么且包括什么?而且,基于bs=512的前提条件下,skip=446表示跳过输入文件开头的446个块,而备份的文件一共才count=1个块,它是怎么做到从备份的mbr文件中跳过446个块并且复制剩下的66个块的呢?
我最初对这条命令的疑问是:从输入文件跳过446个块开始复制,基于块大小为512的前提条件,复制66个,我就奇了怪了,你这样复制回去的时候,难道dd命令也会基于块大小为512的前提下在of文件中跳过446个块将你复制的66个覆盖进去?
所以到目前为止,我理解的恢复MBR,还是停留在自己想像的交换备份的if和of就行了! |
|