LinuxSir.cn,穿越时空的Linuxsir!

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

如何用c将512字节文件文件写入主引导扇区?

[复制链接]
发表于 2004-2-24 19:45:48 | 显示全部楼层 |阅读模式
CU的win_hate 说是这样:
如果在 linux 下, 比如你的硬盘是 hda

fd = open ("/dev/hda", O_RDWR);
write (fd, buf, 512);

就 OK 了。

上面的代码是 gpl 了的, 要是写坏了扇区,机器启动不了, 概不负责。



有点不懂,/dev/hda不是一直打开着的吗?为什么这里能重复打开呢? 可能我对文件的理解不够,UNIX把什么都看成是文件,一个文件是能在不同的进程同时打开的。:thank
发表于 2004-2-24 20:14:26 | 显示全部楼层
文件是可以以只读方式共享打开的,但写的时候就要独占了。
发表于 2004-2-25 14:30:15 | 显示全部楼层
老大,上面的做法可以吗?假如我写了这个程序执行了,还可以用 fdisk /mbr恢复过来吗?
发表于 2004-2-25 15:42:32 | 显示全部楼层
你拿hdb试试了,hoh
发表于 2004-2-25 16:47:34 | 显示全部楼层
就写446字节因该没问题的
写512的话,分区表就没了,没救的
发表于 2004-4-7 15:23:25 | 显示全部楼层
最初由 changda 发表
就写446字节因该没问题的
写512的话,分区表就没了,没救的


请教??
发表于 2004-4-7 16:36:06 | 显示全部楼层
最初由 incarnation 发表
请教??


从446字节开始是分区表
发表于 2004-4-7 16:36:29 | 显示全部楼层
最初由 incarnation 发表
请教??


从446字节开始是分区表
发表于 2004-4-7 21:50:36 | 显示全部楼层
主引导扇区的前面446个字节是引导程序,后面64个字节才是分区表。分区共有4个,第个占16个字节。
发表于 2004-5-7 22:53:57 | 显示全部楼层
那引导区(不是指主引导区)也是这样吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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