LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 7227|回复: 14

除了fdisk /mbr还有什么办法清除MBR?

[复制链接]
发表于 2006-4-20 03:56:40 | 显示全部楼层 |阅读模式
除了fdisk /mbr还有什么办法清除MBR?

我需要起清除第二块硬盘的主引导记录,这块硬盘上没有DOS和Win ,fdisk /mbr只能用来
对付第一块硬盘。

我遇到一个怪问题,第二块硬盘的MBR上本来是LILO ,用dd建一个文件从第一块硬盘上的win引导,
今天想试试GRUB,也是装到第二块硬盘的 MBR上,装好以后也是用dd建立一个文件从第一块硬盘上
的win引导,但是怎么都不能成功,只在屏幕左上角显示一个“GRUB”(没有>号)就死掉。反而那个应该已经不存在的LILO还活得好好的,可以从win引导LILO,也可以从LILO启动linux.
但是如果直接用这第二块硬盘来引导是能进入GRUB并启动linux的,反复试验都是这样,没办法,最后
比较那两个用dd建立的文件才发现问题,这两个文件的前半部分竟然是一样的,而且起始部分都有
“LILO”字样,这说明GRUB并没有重写整个MBR,只是写了后半部分,所以本应该死掉的LILO还可以
继续工作,是不是这个原因导致GRUB不能从win引导目前还不好说,要证明这一点,最好能先把MBR完全清除掉,不过我没有光驱 ,fdisk /mbr 用不了,还有别的办法清除MBR吗?
发表于 2006-4-20 13:42:26 | 显示全部楼层
有软驱野行,调整一下bios让从第二硬盘主引导,fdisk /mbr 就能清除第二硬盘的mbr了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-20 14:03:19 | 显示全部楼层
用windows里的paragon partition manager 清掉了MBR,重装了GRUB还是不行
直接用第二块硬盘引导可以,从第一块硬盘上的winXP引导就失败

会不会是因为我的linux分区是reiserfs文件系统的, stage1不能直接识别这种文件系统,
而reiserfs_stage1_5 又太大,超出了512字节,所以grub找不到stage2,
下面摘自grub文档:
While Stage 2 cannot generally be embedded in a fixed area as the size is so large, Stage 1.5 can be installed into the area right after an MBR, or the boot loader area of a ReiserFS or a FFS.

但是为什么直接用第二块硬盘引导时,装在MBR的grub(stage1) 能够识别reiserfs文件
系统呢?
回复 支持 反对

使用道具 举报

发表于 2006-4-26 01:54:42 | 显示全部楼层
我有一个类似的问题,不知道有没有办法解决:
我本来只有一块硬盘,上面装了一个XP和一个2000系统,后来借了同学一个盘来,他盘上原先装有一个xp,我又在他盘上装了一个linux,现在他要把盘拿回去了,可是拿掉他那块硬盘后,我的系统就启动不了了,提示grub disk error,有什么办法可以解决呢?
可能是我装linux的时候把grub根分区划到他那块盘上去了,拿掉他那块盘后就找不到grub分区了,要怎么办啊,救我,谢谢各位-_-
QQ:13552143
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-4-26 02:11:48 | 显示全部楼层
应该就是把grub装在你自己硬盘的主引导纪录(MBR)上了,
dos下用fdisk /mbr  
或者windows下用paragon partition manager   的“update MBR”功能
这样开机后就没有grub选单 ,而是直接进入windows启动菜单
回复 支持 反对

使用道具 举报

发表于 2006-4-27 13:34:38 | 显示全部楼层
我有两块盘,要更新哪一块的MBR呢?我自己的,还是我同学那块装了linux的?,还有,会否丢失数据啊,安全不?
回复 支持 反对

使用道具 举报

发表于 2006-4-28 04:13:17 | 显示全部楼层
Post by daha
除了fdisk /mbr还有什么办法清除MBR?
...

# dd of=/dev/hda if=/dev/null bs=512 count=1
小心使用哦!;)
回复 支持 反对

使用道具 举报

发表于 2006-4-28 05:08:16 | 显示全部楼层
Post by kohno
# dd of=/dev/hda if=/dev/null bs=512 count=1
小心使用哦!;)

这个不好吧,连分区表都清除了。。。的确要小心!
回复 支持 反对

使用道具 举报

发表于 2009-4-23 13:12:17 | 显示全部楼层
Post by biinn;1447647
这个不好吧,连分区表都清除了。。。的确要小心!


# dd of=/dev/hda if=/dev/null bs=446 count=1
用这个就可以了,不会删除分区信息
回复 支持 反对

使用道具 举报

发表于 2009-4-23 21:32:31 | 显示全部楼层
Post by simontao;1978351
# dd of=/dev/hda if=/dev/null bs=446 count=1
用这个就可以了,不会删除分区信息


这样也不行,446个字节是启动代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表