加载中…
个人资料
汉斯的遗忘
汉斯的遗忘
  • 博客等级:
  • 博客积分:0
  • 博客访问:963,667
  • 关注人气:162
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

linux清空mbr

(2010-11-14 19:02:37)
标签:

杂谈

分类: linux系统
linux清除mbr的方法

内容来源于网络,没有测试:

在dos下可以用fdisk /mbr清一下mbr。在linux下可以用dd命令实现
mbr是512个字节,用0填充这个区域,这样mbr原先的数据就没有了。
dd if=/dev/zero  of=/dev/sda  bs=446 count=1
if 输入文件 /dev/zero这是一个伪设备文件,实际上产生连续的null流,即二进制0流。
of 输出文件 这里指定一个硬盘
bs 块的大小
count 复制块的次数,表示有多少个块,网上查说是可以这么理解:bs表示一个扇区的大小,count表示有多少个扇区。
这表示前446个字节被0填充了,后66个存放分区表,如果也填充了,分区就没有了。
这样虽然清空了,但系统的loader也没有了,所以机器也启动不了了。
可以用fdisk /mbr (msdos)的命令把m$的bootloader写入mbr的前446个字节内,m$的bootloader是根据分区的activity信息来决这下装入哪个分区的。
也可以用linux的grub-install  /dev/sda 把自身的stage1内容写入mbr的前446个字节内,但实际上grub很大,不可能全部放在446个字节里,其它内容放在/boot/grub下面。

dd if=/dev/zero  of=/dev/sda  bs=512 count=1
这样分区表也没有了。




mbr:
mbr是主引导记录,它记录了整个硬盘的分区信息。格式化不能清除mbr
mbr在物理磁盘的0柱面,0磁道,1扇区,它由三部分组成,主引导程序,硬盘分区表,硬盘有效标志(55AA)。
主引导程序占用:446个字节。
分区表占用:64字节,每个分区表项长16个字节,一共4个,所以最多4个主分区(包括扩展分区)

有效标志:固定为55AA,如果该标志错误,系统不能启动。


知道这些可以备份分区表:
dd if=/dev/sda  of=mbr.bak  bs=512 count=1

恢复分区表:
dd if=mbr.bak of=/dev/sda  bs=512  count=1

0

阅读 评论 收藏 转载 喜欢 打印举报/Report
  • 评论加载中,请稍候...
发评论

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有