中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-06-15 23:44
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 谁有能对软盘和硬盘的引导扇区进行读写操作的小程序 查看 2,031 回复 11
楼 主 谁有能对软盘和硬盘的引导扇区进行读写操作的小程序 发表于 2004-03-07 00:00 ·  中国 北京 联通
银牌会员
★★★
nre
积分 1,210
发帖 361
注册 2002-12-28 00:00
UID 629
性别 男
状态 离线
DOS下用的,越小越好

Teamwork !
2 发表于 2004-03-08 00:00 ·  中国 广东 广州 电信
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
UID 7105
性别 男
状态 离线
debug不是最合适吗?有了它还需要其他吗?
3 发表于 2004-03-08 00:00 ·  中国 福建 厦门 教育网
初级用户
积分 152
发帖 10
注册 2004-03-06 00:00
UID 19335
性别 男
状态 离线
我看到一本光盘刻录的书有写到一个read sector的小软件,小心注意一下,说不定能找到。
4 发表于 2004-03-08 00:00 ·  中国 福建 厦门 教育网
初级用户
积分 152
发帖 10
注册 2004-03-06 00:00
UID 19335
性别 男
状态 离线
我看到一本光盘刻录的书有写到一个read sector的小软件,小心注意一下,说不定能找到。
5 发表于 2004-03-09 00:00 ·  中国 山东 烟台 芝罘区 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
UID 19350
性别 男
状态 离线
debug 最好用,也非常小,而且不愁找不到。

读磁盘引导区
-L 100 0 0 1
-N boot.dat
-W
-Q


写磁盘引导区
-N boot.dat
-L
-W 100 0 0 1
-Q
100 指保存或读取的内存地址
第一个0指a盘,c盘是2,以此类推
6 发表于 2004-03-13 00:00 ·  中国 北京 东城区 联通
银牌会员
★★★
nre
积分 1,210
发帖 361
注册 2002-12-28 00:00
UID 629
性别 男
状态 离线
谢谢, 请问怎么用DEBUG将以上操作生成带参数的程序 比如文件名叫 bs.com
我想程序可以实现 bs 0 boot.dat 向A
bs 1 boot.dat 向B

Teamwork !
7 发表于 2004-03-13 00:00 ·  中国 山东 烟台 芝罘区 联通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re nre:

可以用批处理做界面,下面给出简单代码:
::BOOTMAN.BAT - By Will Sort, 2004/03/13
@echo off
if == goto help
set file=%3
if == set file=boot_%2.dat
for %%a in (S s SAVE save) do if == goto save
for %%a in (L l load save) do if == goto load

:help
echo.
echo BOOTMAN.BAT - 引导扇区保存/恢复工具
echo.
echo 使用用法: BOOTMAN 指定操作 指定磁盘
echo 操作: S s SAVE save 均为保存, L l LOAD load 均为恢复;
echo 磁盘: A为0,B为1,以此类推
echo 文件: 完整文件名,缺省时为boot_磁盘参数.dat
goto end

:savepre
echo L 100 %2 0 1>%temp%.\bootman.asd
echo N %file%>>%temp%.\bootman.asd
echo W>>%temp%.\bootman.asd
echo Q>>%temp%.\bootman.asd
goto operate

:loadpre
echo L 100 %2 0 1>%temp%.\bootman.asd
echo N %file%>>%temp%.\bootman.asd
echo W>>%temp%.\bootman.asd
echo Q>>%temp%.\bootman.asd
goto operate

perate
if not exist %temp%.\bootman.asd
debug nul
echo 操作完成!
del %temp%.\bootmam.asd
set file=

:end

这是命令行直接操作的界面程序,也可做成向导型界面,可以参考下面这个程序
当场书写,未经测试,请楼主谨慎使用!
http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=6&ID=9587


※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
8 发表于 2004-03-13 00:00 ·  中国 北京 东城区 联通
银牌会员
★★★
nre
积分 1,210
发帖 361
注册 2002-12-28 00:00
UID 629
性别 男
状态 离线
非常感谢!!!

Teamwork !
9 发表于 2004-03-14 00:00 ·  中国 河北 石家庄 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
UID 1565
性别 男
来自 河北保定
状态 离线
Bart的MKBT可以读写引导扇区,连NT/2k/2003的引导扇区好象都支持的。

链接:http://www.nu2.nu/mkbt

读:mkbt -x -c c: c:\bootsect.bin
写: mkbt -x c:\bootsect.bin c:
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
10 发表于 2004-03-15 00:00 ·  中国 黑龙江 齐齐哈尔 联通
高级用户
★★
积分 919
发帖 198
注册 2004-01-17 00:00
UID 15706
性别 男
状态 离线
以下是引用qzwqzw在2004-3-9 21:43:16的发言:
debug 最好用,也非常小,而且不愁找不到。

 读磁盘引导区
-L 100 0 0 1
-N boot.dat
-W
-Q


 写磁盘引导区
-N boot.dat
-L
-W 100 0 0 1
-Q
100 指保存或读取的内存地址
第一个0指a盘,c盘是2,以此类推




可以把软盘的引导写到硬盘吗???
11 发表于 2004-03-15 00:00 ·  中国 山东 烟台 福山区 联通
银牌会员
★★★
天的白色影子
积分 2,343
发帖 636
注册 2004-03-06 00:00
UID 19350
性别 男
状态 离线
当然可以,而且更简单

-L 100 0 0 1
-W 100 2 0 1
-Q

以上是写到c盘的,d盘把w那句的2改称3,其他盘以此类推。
12 发表于 2004-03-20 00:00 ·  中国 辽宁 朝阳 联通
铂金会员
★★★★
痴迷DOS者
积分 5,798
发帖 1,924
注册 2003-06-20 00:00
UID 5583
性别 男
来自 金獅電腦軟體工作室
状态 离线
请楼主去 http://model.chinajewelry.net/dos/dosbbs/dispbbs.asp?boardID=6&ID=9076 看一看,那里有我编写的一个小程序,里面有读写软盘引导扇区的代码。希望能对楼主有些帮助。
熟能生巧,巧能生精,一艺不精,终生无成,精亦求精,始有所成,臻于完美,永无止境!
金狮電腦軟體工作室愿竭诚为您服务!
QQ群:8393170(定期清理不发言者)
个人网站:http://www.520269.cn
电子邮件:doujiehui@vip.qq.com
微信公众号: doujiehui
论坛跳转: