中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-24 18:34
中国DOS联盟论坛 » GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区 » [提问]GRUB for DOS的问题 查看 1,329 回复 14
楼 主 [提问]GRUB for DOS的问题 发表于 2004-09-19 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
刚刚接触这个功能强大的引导程序.
请问GRUB for DOS是否能在windows2003下安装使用???
2 发表于 2004-09-19 00:00 ·  中国 河南 南阳 内乡县 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
没问题.

dos/win9x/NT/2000/XP/2003 都支持, 请搜索文章看看再用它.

因为我们亲手创建,这个世界更加美丽。
3 发表于 2004-09-19 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
好的...现在解决了...我会继续学习滴...谢谢不点
4 发表于 2004-09-21 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
还有一个问题,,,如果我要从IDE1上的第二硬盘的主分区引导,可不可以这样写:rootnoverify (hd1,0)makeactivechainloader +1
5 发表于 2004-09-21 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
操作系统一般都不支持从第二硬盘启动, 所以, 所说的方法一般是不行的.

你可以用 map 命令交换磁盘号码:

map (hd0) (hd1)
map (hd1) (hd0)
chainloader (hd1)+1
rootnoverify (hd0)
boot

这样才能顺利启动.

注意 rootnoverify (hd0) 命令, 将 DL=0x80 传递给 MBR 程序. 如果将 DL=0x81 传递给 MBR, 这通常将失败.

这条命令: chainloader (hd1)+1 是将第二硬盘的 MBR 装入 0000:7C00 准备用来引导操作系统.

两条 map 命令告诉 boot 命令, 在 boot 执行的过程中磁盘号码将交换, 原来的第二块硬盘将成为 0x80, 而第一块将成为 0x81 了.

注意如果第二硬盘的 MBR 扇区没有激活的分区, 那么 boot 之后可能会得到一条错误信息, 启动失败.







因为我们亲手创建,这个世界更加美丽。
6 发表于 2004-09-21 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
多谢不点的详细解说...同样使用map进行交换磁盘号码...是不是也可以从IDE2上的其它硬盘引导?
7 发表于 2004-09-21 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
当然可以了.map的功用就是干这个的

无论是 IDE 还是 SCSI都可以用这种办法的. map 交换的是 BIOS 磁盘号码.

GRUB 并不知道一个磁盘是 IDE 还是SCSI, 只要 BIOS 有号码, GRUB 都可以操作它, 因此 map 也都可以操纵它.


因为我们亲手创建,这个世界更加美丽。
8 发表于 2004-09-21 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
我现在接了一个硬盘在IDE2的Master上...按照你上面的说明写了这些map (hd0) (hd2)
map (hd2) (hd0)
chainloader (hd2)+1
rootnoverify (hd0)不知对不对???
9 发表于 2004-09-21 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
应当没问题的, 不过值得说明一点:



虽然接在 IDE2 的主盘上, 但 其 BIOS 编号不一定就是 0x82.



如果 IDE1 的主盘有硬盘, 从盘没有硬盘, 那么 IDE2 的主盘就可能被编号为 0x81, 所以你可能得用

(hd1) 来表示它了.



由于 BIOS 可以安排这些号码, 所以, 这是不确定的.



BIOS 一般不会让一个 0x81 空着, 然后用 0x82, 而总是让磁盘编号连续出现.






因为我们亲手创建,这个世界更加美丽。
10 发表于 2004-09-21 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
明白...非常多谢不点的细心说明...谢谢~~!!!
11 发表于 2004-09-21 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
也就是说.如果我把硬盘接在IDE2的从盘接口上...由于IDE1的从盘和IDE2的主盘没有,,,那么这块硬盘的编号也有可能是0x81...就有可能要用(hd1)来表示它了.
12 发表于 2004-09-22 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
当没有注册时, 这个论坛程序总是丢掉敲入的内容, 用起来特别难受. 保持一年的注册, 说丢就丢了, 刚才又丢掉了, 现在重打:

回复:

是的, 再例如, IDE1 和 IDE2 上各有一个硬盘和一个光驱, 那么 IDE1 上的硬盘是 (hd0) , IDE2 上的硬盘是 (hd1)

如果同时还有 SCSI 硬盘, 则可能还有变化.


因为我们亲手创建,这个世界更加美丽。
13 发表于 2004-09-22 00:00 ·  中国 广西 玉林 电信
初级用户
积分 135
发帖 12
注册 2004-09-15 00:00
21年会员
UID 31451
性别 男
状态 离线
呵呵...很明白.谢谢不点兄...
14 发表于 2004-12-05 00:00 ·  中国 广东 广州 教育网
铂金会员
★★★★
C++启程者
积分 5,154
发帖 1,827
注册 2003-07-18 00:00
22年会员
UID 7105
性别 男
状态 离线
"chainloader (hd1)+1 是将第二硬盘的 MBR 装入 0000:7C00 准备用来引导操作系统."上面的MBR,应该是DBR(DOS引导扇区),不弄清楚的话,很多东西就不能理解了
15 发表于 2004-12-06 00:00 ·  中国 河南 南阳 联通
银牌会员
★★★★
不甘寂寞的人
积分 2,491
发帖 1,115
注册 2003-09-24 00:00
22年会员
UID 10292
性别 男
状态 离线
(hd1)+1 不是 DOS 的 partition boot record,而是第二块硬盘的 Master Boot Record。

DOS 分区的 boot record 是 (hd1,0)+1 或者 (hd1,4)+1 等等之类的。


因为我们亲手创建,这个世界更加美丽。
论坛跳转: