Board logo

标题: GRUB能启动逻辑分区上的DOS吗? [打印本页]

作者: brglng     时间: 2006-6-16 15:36    标题: GRUB能启动逻辑分区上的DOS吗?

GRUB能启动逻辑分区上的DOS吗?为什么在软盘上可以用chainloader /msdos.bs加载引导扇区文件来启动DOS,而到了硬盘上就不行了?(注:我的主分区为NTFS)
作者: xusen     时间: 2006-6-16 16:27
第一个硬盘的的逻辑应该是可以的。
第二个硬盘的的逻辑可能不行
作者: DOSforever     时间: 2006-6-16 16:50
这个不是 GRUB 或任何其它多系统引导管理程序的问题,而是 DOS 本身的限制,DOS/Windows 必须是第一个硬盘的主分区才能启动。Open Server 也是。当然,除了逻辑位置还有物理位置的限制。其实,任何 OS 都有引导位置的限制,也就是说不是装在什么分区都能启动的。我到现在知道的就只有 Linux 是最灵活的,可以装在任何一个盘的任意分区引导启动。

参见:
grub如何从扩展分区盘上引导系统?
请教关于 Windows NT 系列启动的文件调用顺序

另外我觉得奇怪的是,你怎么能把 DOS 装到逻辑分区上去?
作者: xusen     时间: 2006-6-16 17:42
目前不点的grub_for_dos-0.4.2pre4 是可以启动第一硬盘的逻辑分区的DOS
hd0,4 第一逻辑
hd0,5 第二逻辑
使用 SYS 传到逻辑区命令行下执行:

GRUB --config-file="root (hd0,4);chainloader +1"

[ Last edited by xusen on 2006-6-16 at 18:48 ]
附件 1: grub.jpg (2006-6-16 18:47, 61.95 K, 下载附件所需积分 1点 ,下载次数: 1)


附件 2: grub_1.jpg (2006-6-16 18:47, 53.53 K, 下载附件所需积分 1点 ,下载次数: 1)



作者: 不得不爱     时间: 2006-6-16 17:43
把 DOS 装到逻辑分区上去那个很简单只是不能启动.只要你启动到DOS输入SYS D:就把 DOS 装到逻辑分区上了!
作者: fujianabc     时间: 2006-6-16 18:03
直接用chainloader (hd0,4)/io.sys即可启动dos了,然后io.sys会自动在c:盘根目录下依次寻找msdos.sys,config.sys,command.com,autoexec.bat。
由于你得主分区都是ntfs,所以c:盘就是第一个逻辑分区。
作者: fastslz     时间: 2006-6-16 20:22
title  仿真一个硬盘分区为第一硬盘
        map --read-only (hd0,1)+1 (hd0)
        map --hook
        chainloader (hd0,0)+1
        rootnoverify (hd0)
        map --harddrives=1
        boot

如果逻辑分区有是可引导的,用此方法启动DOS就不难了,也可以用SYS写引导到逻辑分区
作者: DOSforever     时间: 2006-6-16 21:14
看来一时疏忽,事后我才想起 SYS 命令。

我后来分别用 MS-DOS 6.22 和 7.10 试验了下,还是不行。6.22在出现“Starting MS-DOS...”后死机。7.10在出现Windows的logo后也死机。不知道 grub_for_dos-0.4.2pre4 是如何实现的,是不是和 "About to reset the boot drive."这句话有关?还有,为什么要把A20地址线关掉?这样的话HMA还能用吗?
作者: 不得不爱     时间: 2006-6-16 21:37
如果主分区是FAT分区的话就必须把它隐藏,否则用GRUB启动逻辑分区上的DOS就会失败!
作者: brglng     时间: 2006-6-17 10:21
chainloader (hd0,4)/io.sys 似乎有一点问题,比如config.sys中加载某一个驱动,明明文件在硬盘上(确定没有放错地方)但它却提示不存在。
用sys安装dos到逻辑分区这我倒还没试过。我是直接把io.sys、msdos.sys、command.com复制到分区根目录的。既然可以用sys,这说明逻辑分区也有引导扇区?
仿真盘的话,我觉得能不用还是尽量不用为好。

[ Last edited by brglng on 2006-6-17 at 11:10 ]
作者: brglng     时间: 2006-6-17 10:56
另外我还是搞不懂为什么不能用chainloader /msdos.bs来启动?msdos.bs是dos的启动扇区文件。
作者: 不得不爱     时间: 2006-6-17 11:43
dos的启动扇区文件分好几种!软盘上的msdos.bs是FAT12的文件肯定不能启动FAT32分区!
作者: brglng     时间: 2006-6-17 12:08
哦!原来如此!那是不是换成fat32的文件就可以了?如何提取fat32的dos启动扇区呢?有没有ntfs的启动扇区文件呢?
作者: fujianabc     时间: 2006-6-19 15:29
那你先用sys命令把dos的io.sys,msdos.sys,command.com传到逻辑分区下。

然后用chainloader (hd0,4)+1就加载了逻辑分区的启动扇区,用不着自己手动提取启动扇区。
作者: 不得不爱     时间: 2006-6-19 16:02


  Quote:
Originally posted by brglng at 2006-6-17 12:08:
哦!原来如此!那是不是换成fat32的文件就可以了?如何提取fat32的dos启动扇区呢?有没有ntfs的启动扇区文件呢?

换成fat32的文件当然可以,FAT32的分30M分区的和大分区的启动扇区文件!提取fat32的dos启动扇区可以用SRCBOOT C: C:\A.BIN /S就可以保存1个A.BIN的启动扇区文件!
ntfs的启动扇区文件你用来干什么?启动NT系统吗?
作者: willsort     时间: 2006-6-19 16:57
Re Upstairs:

      从目前讨论的结果来看,DOS应该可以通过sys+copy将自身重安装在任何可识别可写入的盘上,包括硬盘上FAT32格式的逻辑分区,但是似乎它只允许从第一个可识别的盘上引导自身。

      所以说,如果硬盘上存在两个可识别的盘,则应该无法从第二个盘引导成功,除非第一个盘已经存有DOS的系统文件信息。
作者: DOSforever     时间: 2006-6-20 23:43


  Quote:
Originally posted by willsort at 2006-6-19 16:57:
Re Upstairs:

      从目前讨论的结果来看,DOS应该可以通过sys+copy将自身重安装在任何可识别可写入的盘上,包括硬盘上FAT32格式的逻辑分区,但是似乎 ...

这个问题嘛,我再烟酒烟酒……
作者: willsort     时间: 2006-7-31 12:57

───────────────── 版务记录 ─────────────────
执行:Will Sort
操作:移动主题:自 DOS疑難解答 & 問題討論(解答室)
说明:依照主题内容分类,更适合于发表在此版区
───────────────── 版务记录 ─────────────────

作者: brglng     时间: 2006-7-31 13:20
现在经我自己研究,发现io.sys其实可以放在任何分区上,不论分区是主分区还是逻辑分区,是ntfs还是fat32。如果是ntfs,就用chainloaer /io.sys来启动,如果是fat,并且已经用sys写过引导扇区,那还可以用chainloaer +1来启动。但是其它的文件如msdos.sys、config.sys等只能放在第一个fat分区上。
但是我遇到一个问题,就是我无论把config.sys和autoexec.bat弄得多长,dos显示logo的时候只是屏幕闪一下,就是不出现彩色画面!