Re: 使用dd来备份还原mbr,分区表
发表于 : 2013-01-13 23:29
我先mark一下
明天用到
明天用到
我实测的结果是:Dororo 写了:好像改完还有错,不知是不是?billbear 写了:原来是 wiki 上的错误,我已经修改
还原分区表,跳过主引导记录
dd if=/backup/mbr.img of=/dev/sda bs=1 count=64 skip=446 seek=446
应为
dd if=/backup/mbr.img of=/dev/sda bs=64 count=1 skip=446 seek=446
代码: 全选
dd if=/dev/sda of=debian.mbr bs=512 count=63
代码: 全选
dd if=debian.mbr of=/dev/sdb bs=446 count=1
代码: 全选
dd if=debian.mbr of=/dev/sdb bs=512 skip=1 seek=1
请问为何备份debian.mbr要count=63??mbr不是只在第一个扇区吗?剩下62个是什么?xubuner 写了: 我实测的结果是:
备份sda第一块硬盘debian的grub引导记录和硬盘分区表如下(备份第一硬盘的前63个扇区,第一硬盘分区表在第一扇区的第447-510字节)说明:块大小为512字节(一个扇区的大小),读取硬盘的前63个扇区代码: 全选
dd if=/dev/sda of=debian.mbr bs=512 count=63
恢复引导记录恢复到第二快硬盘sdb,但是不修改第二块分区表的命令这里是将sda的引导记录的第一扇区的前446字节恢复到sdb第一扇区代码: 全选
dd if=debian.mbr of=/dev/sdb bs=446 count=1
这条命令是把sda的引导记录的后62扇区记录跳过sdb的第一扇区执行写入。定义bs为512字节,seek对应if读取的debian.mbr跳过一个扇区(也就是512Byte)。skip是写入的时候,跳过sdb的的一个扇区。最后就是将mbr的后62个扇区在写入sdb的时候跳过1个扇区写入。最后重启电脑,选择第二块硬盘,也能引导第一块硬盘的debian linux了。代码: 全选
dd if=debian.mbr of=/dev/sdb bs=512 seek=1 skip=1
请问为何备份debian.mbr要count=63??
不能代替原貼文者說明 只能說是猜測(备份第一硬盘的前63个扇区,第一硬盘分区表在第一扇区的第447-510字节)
dd if=/dev/sda of=debian.mbr bs=512 count=63
说明:块大小为512字节(一个扇区的大小),读取硬盘的前63个扇区
近代分割 預設是預留 0~63 共 64 個 bytes 爲空白區域mbr不是只在第一个扇区吗?剩下62个是什么?
-----------------------------------------------------poke707 写了:请问为何备份debian.mbr要count=63??mbr不是只在第一个扇区吗?剩下62个是什么?xubuner 写了: 我实测的结果是:
备份sda第一块硬盘debian的grub引导记录和硬盘分区表如下(备份第一硬盘的前63个扇区,第一硬盘分区表在第一扇区的第447-510字节)说明:块大小为512字节(一个扇区的大小),读取硬盘的前63个扇区代码: 全选
dd if=/dev/sda of=debian.mbr bs=512 count=63
恢复引导记录恢复到第二快硬盘sdb,但是不修改第二块分区表的命令这里是将sda的引导记录的第一扇区的前446字节恢复到sdb第一扇区代码: 全选
dd if=debian.mbr of=/dev/sdb bs=446 count=1
这条命令是把sda的引导记录的后62扇区记录跳过sdb的第一扇区执行写入。定义bs为512字节,seek对应if读取的debian.mbr跳过一个扇区(也就是512Byte)。skip是写入的时候,跳过sdb的的一个扇区。最后就是将mbr的后62个扇区在写入sdb的时候跳过1个扇区写入。最后重启电脑,选择第二块硬盘,也能引导第一块硬盘的debian linux了。代码: 全选
dd if=debian.mbr of=/dev/sdb bs=512 seek=1 skip=1