QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1295|回复: 7

如何用C语言实现对MBR的修改?

[复制链接]
发表于 2005-5-25 20:28:35 | 显示全部楼层 |阅读模式
如题!
发表于 2005-5-26 16:17:32 | 显示全部楼层
fd=open("/dev/hda",O_RDWR);
read(fd,buf,512);
//修改buf
write(fd,buf,512);
close(fd);

慎重使用。
回复

使用道具 举报

 楼主| 发表于 2005-5-27 12:18:29 | 显示全部楼层
在前512字节中,有446是mbr,后面的64个字节是分区表
如果64个字节不小心被改变(破坏),有修复的方法吗?
如果mbr被改写,是否能够用重新安装grub的方法来修复mbr?
回复

使用道具 举报

发表于 2005-5-27 15:40:30 | 显示全部楼层
备份mbr
dd if=/dev/hda of=mbr count=1
然后将mbr拷贝到u盘或者其它存储介质上,万一mbr坏了,可以用linux光盘进入修复模式,然后用
dd if=/mnt/usb/mbr of=/dev/hda来恢复
(假设u盘被挂到/mnt/usb,并且mbr文件在u盘根目录下)
回复

使用道具 举报

发表于 2005-5-27 16:09:16 | 显示全部楼层
[quote:289fe071a5="jsliu"]在前512字节中,有446是mbr,后面的64个字节是分区表
如果64个字节不小心被改变(破坏),有修复的方法吗?
如果mbr被改写,是否能够用重新安装grub的方法来修复mbr?[/quote]可以。
回复

使用道具 举报

发表于 2005-5-27 16:54:04 | 显示全部楼层
grub能修mbr?
回复

使用道具 举报

发表于 2005-5-28 15:52:00 | 显示全部楼层
不行吧
回复

使用道具 举报

发表于 2005-5-28 17:55:34 | 显示全部楼层
不行。我说错了。
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-5 22:04 , Processed in 0.083816 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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