| 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
『楼 主』:
 [提问]GRUB for DOS的问题
 
使用 LLM 解释/回答一下
  
刚刚接触这个功能强大的引导程序. 
请问GRUB for DOS是否能在windows2003下安装使用??? 
 
 
    
 
  
 |   
 | 
  2004-9-19 00:00 | 
  
 | 
 | 
 
不点 
银牌会员
 
      不甘寂寞的人
  
 
积分 2491 
发帖 1115 
注册 2003-9-24 
状态 离线
 | 
『第 2 楼』:
 
 
使用 LLM 解释/回答一下
  
没问题. 
 
dos/win9x/NT/2000/XP/2003 都支持, 请搜索文章看看再用它. 
 
 
 
    
 
  
  |  
                  
  
                    因为我们亲手创建,这个世界更加美丽。 |   
 | 
  2004-9-19 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
 | 
  2004-9-19 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
『第 4 楼』:
 
 
使用 LLM 解释/回答一下
  
还有一个问题,,,如果我要从IDE1上的第二硬盘的主分区引导,可不可以这样写:rootnoverify (hd1,0)makeactivechainloader +1 
 
    
 
  
 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
不点 
银牌会员
 
      不甘寂寞的人
  
 
积分 2491 
发帖 1115 
注册 2003-9-24 
状态 离线
 | 
『第 5 楼』:
 
 
使用 LLM 解释/回答一下
  
操作系统一般都不支持从第二硬盘启动, 所以, 所说的方法一般是不行的. 
 
你可以用 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 之后可能会得到一条错误信息, 启动失败. 
 
 
 
 
 
 
 
 
 
    
 
  
  |  
                  
  
                    因为我们亲手创建,这个世界更加美丽。 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
『第 6 楼』:
 
 
使用 LLM 解释/回答一下
  
多谢不点的详细解说...同样使用map进行交换磁盘号码...是不是也可以从IDE2上的其它硬盘引导? 
 
    
 
  
 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
不点 
银牌会员
 
      不甘寂寞的人
  
 
积分 2491 
发帖 1115 
注册 2003-9-24 
状态 离线
 | 
『第 7 楼』:
 
 
使用 LLM 解释/回答一下
  
当然可以了.map的功用就是干这个的 
 
无论是 IDE 还是 SCSI都可以用这种办法的. map 交换的是 BIOS 磁盘号码. 
 
GRUB 并不知道一个磁盘是 IDE 还是SCSI, 只要 BIOS 有号码, GRUB 都可以操作它, 因此 map 也都可以操纵它. 
 
 
 
 
    
 
  
  |  
                  
  
                    因为我们亲手创建,这个世界更加美丽。 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
『第 8 楼』:
 
 
使用 LLM 解释/回答一下
  
我现在接了一个硬盘在IDE2的Master上...按照你上面的说明写了这些map (hd0) (hd2) 
map (hd2) (hd0) 
chainloader (hd2)+1 
rootnoverify (hd0)不知对不对??? 
 
 
    
 
  
 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
不点 
银牌会员
 
      不甘寂寞的人
  
 
积分 2491 
发帖 1115 
注册 2003-9-24 
状态 离线
 | 
『第 9 楼』:
 
 
使用 LLM 解释/回答一下
  
应当没问题的, 不过值得说明一点: 
虽然接在 IDE2 的主盘上, 但 其 BIOS 编号不一定就是 0x82.
 
如果 IDE1 的主盘有硬盘, 从盘没有硬盘, 那么 IDE2 的主盘就可能被编号为 0x81, 所以你可能得用 
 
(hd1) 来表示它了.
 
由于 BIOS 可以安排这些号码, 所以, 这是不确定的.
 
BIOS 一般不会让一个 0x81 空着, 然后用 0x82, 而总是让磁盘编号连续出现.
 
  
 
    
 
  
  |  
                  
  
                    因为我们亲手创建,这个世界更加美丽。 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
『第 11 楼』:
 
 
使用 LLM 解释/回答一下
  
也就是说.如果我把硬盘接在IDE2的从盘接口上...由于IDE1的从盘和IDE2的主盘没有,,,那么这块硬盘的编号也有可能是0x81...就有可能要用(hd1)来表示它了. 
 
    
 
  
 |   
 | 
  2004-9-21 00:00 | 
  
 | 
 | 
 
不点 
银牌会员
 
      不甘寂寞的人
  
 
积分 2491 
发帖 1115 
注册 2003-9-24 
状态 离线
 | 
『第 12 楼』:
 
 
使用 LLM 解释/回答一下
  
当没有注册时, 这个论坛程序总是丢掉敲入的内容, 用起来特别难受. 保持一年的注册, 说丢就丢了, 刚才又丢掉了, 现在重打: 
 
回复: 
 
是的, 再例如, IDE1 和 IDE2 上各有一个硬盘和一个光驱, 那么 IDE1 上的硬盘是 (hd0) , IDE2 上的硬盘是 (hd1) 
 
如果同时还有 SCSI 硬盘, 则可能还有变化. 
 
 
 
 
    
 
  
  |  
                  
  
                    因为我们亲手创建,这个世界更加美丽。 |   
 | 
  2004-9-22 00:00 | 
  
 | 
 | 
 
itman 
初级用户
 
  
 
  
 
积分 135 
发帖 12 
注册 2004-9-15 
状态 离线
 | 
 | 
  2004-9-22 00:00 | 
  
 | 
 | 
 
GOTOmsdos 
铂金会员
 
        C++启程者
  
 
积分 5154 
发帖 1827 
注册 2003-7-18 
状态 离线
 | 
『第 14 楼』:
 
 
使用 LLM 解释/回答一下
  
"chainloader (hd1)+1 是将第二硬盘的 MBR 装入 0000:7C00 准备用来引导操作系统."上面的MBR,应该是DBR(DOS引导扇区),不弄清楚的话,很多东西就不能理解了 
  
 
    
 
  
 |   
 | 
  2004-12-5 00:00 | 
  
 | 
 | 
 
不点 
银牌会员
 
      不甘寂寞的人
  
 
积分 2491 
发帖 1115 
注册 2003-9-24 
状态 离线
 | 
『第 15 楼』:
 
 
使用 LLM 解释/回答一下
  
(hd1)+1 不是 DOS 的 partition boot record,而是第二块硬盘的 Master Boot Record。 
 
DOS 分区的 boot record 是 (hd1,0)+1 或者 (hd1,4)+1 等等之类的。 
 
 
 
 
    
 
  
  |  
                  
  
                    因为我们亲手创建,这个世界更加美丽。 |   
 | 
  2004-12-6 00:00 | 
  
 |