中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
« [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] ... [19] »
作者:
标题: GRUB 伤脑筋的问题, 大家会诊一下 上一主题 | 下一主题
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 106 楼』:  

不点:我刚才试了一下test002版,不过跟test001版一样,还是在小硬盘上的NTLDR菜单中启动失败,不知何故?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-1-26 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 107 楼』:  

1。系统中有几个硬盘,各个硬盘的分区格式是什么?

2。机器中有几个 windows NT 系统?系统的版本?

3。有几个含有 NTLDR 的分区?【怀疑启动了另外一个NTLDR的 boot 分区,是一种错位。】

4。把 MBR 扇区,以及含有 NTLDR 的分区的开头 16 个扇区拷贝下来【可以用debug来拷贝】,放在一个我可以下载的地方。





因为我们亲手创建,这个世界更加美丽。
2004-1-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 108 楼』:  

系统中无论放一个或两个硬盘,只要从那个小硬盘启动的效果就是一样的,甚至无论GRLDR文件是存否在都是一样的(可见不是GRLDR的原因,而是BOOTGRUB的原因)。两个硬盘中的NTLDR、MENU.LST文件是一样的,而且都在相应硬盘的C盘上。小硬盘上有C盘和D盘,全是FAT16分区。

不过,那个小硬盘中并没有任何Windows NT系统,仅仅有个WinNT/2K/XP的引导菜单来引导DOS、OS/2、从软盘启动、从光盘启动等系统罢了,也就是说,仅仅是将NTLDR当作一个普通的启动管理器。不知GRUB for NTLDR无法在这个系统中启动跟这个有关?

[此贴子已经被作者于2004-1-27 10:19:36编辑过]






Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-1-27 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 109 楼』:  

请您把 MBR 扇区,以及含有 NTLDR 的分区的开头 16 个扇区拷贝下来【可以用debug来拷贝】,放在一个我可以下载的地方。

我怀疑您的两个硬盘的引导扇区中的程序不同。那个大的 2G 盘是正常的引导扇区,小的 500M 盘的引导扇区,不正常。GRUB for NTLDR 要用到这个扇区里面的程序。所以,还是得看看这段程序有什么不同之处。





因为我们亲手创建,这个世界更加美丽。
2004-1-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 110 楼』:  

不点:经检查,两个硬盘的引导扇区虽然都是NT的引导扇区,但确实有所不同。我已将您想要的MBR扇区和NTLDR所在的主分区的16个扇区的内容打包上传了上来:
打开附件

说明:里面的HD1???.DAT是小硬盘的扇区,而HD2???.DAT是大硬盘的扇区。



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-1-27 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 111 楼』:  

已经下载了,正在处理。谢谢。





因为我们亲手创建,这个世界更加美丽。
2004-1-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 112 楼』:  

版本 test003 应当 OK 了,试试看吧:

ftp://211.100.7.71/incoming/grub_for_ntldr-test003.tar.gz

就是把 bootgrub 改了一下。





因为我们亲手创建,这个世界更加美丽。
2004-1-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
i659
初级用户




积分 162
发帖 14
注册 2003-12-20
状态 离线
『第 113 楼』:  

是这样的,大家可以在网上下载grub for dos然后可以直接用它引导boot.flp(bsd启动2.88M软盘镜像),就可以装了。
这其实就是一个怎么在dos下让软盘镜像启动起来的问题,grub for dos的说明上说不支持2.88M的软盘镜像,好像特别

说明了不能用来启动bsd的引导软盘镜像,但我试了一下,确实可以做到的
我的例子
一:把grub.exe和boot.flp放在c:的根目录下,也可以自己选者目录
二:c:\>grub
三:grub\>map (hd0,0)/boot.flp (fd0)
四:grub\>chainloader (hd0,0)/boot.flp
五:grub\>rootnoverify (fd0)
六:boot
往下的就和用真实的软盘一样的了,我就不再说了,

注意:1->要在实模式dos下操作(我在虚拟机里没有成功)
2->grub.exe和boot.flp在硬盘里的物理结构上的位置应该在同一个连续的扇区上(自己想办法做到),不然会出

现"file for drive emulation must be in one contiguous disk area"的提示。

以上这段文字是我从 www.linuxsir.org 上摘过来的,利用这种方法可以在dos下安装freebsd
不知能否把这个程序完善一下,利用它来装freebsd倒是一个好方法,还有我在xp下引导到grub就无法启动上面的步骤

(也就是第三步)

2004-1-27 00:00
查看资料  发送邮件  发短消息 网志  OICQ (184228624)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 114 楼』:  

不点:我刚才试了一下这个test003版,果然可以正常启动了,谢谢!

另外,我想问一下有没有办法通过GRUB命令来禁用一个硬盘,以使得DOS以及WIN看不见?由于种种原因,现在我想禁用其中一个硬盘时总得在BIOS中禁用,比较麻烦,所以我希望用GRUB来直接完成就好了。谢谢!

对了,我看到您在那个linuxden网页上写着“Wengier的论坛”。其实,这个论坛显然不是我一个人的,而是大家的。当时是我联合了其他几个DOS站长和版主一起建的这个DOS论坛,所以叫“联合DOS论坛”或“中国DOS联盟论坛”。所以这个论坛是大家(所有华人)共同拥有和使用的DOS论坛,是为整个中文DOS世界而造福的,您说呢?



Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-1-28 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
不点
银牌会员

不甘寂寞的人


积分 2491
发帖 1115
注册 2003-9-24
状态 离线
『第 115 楼』:  

i659 兄:
GRUB 的软盘仿真功能,可以启动任何软盘【包括 LINUX 和 FREEBSD 的软盘,总之,任何用途的软盘】,这一点,没有任何限制。但是,也有若干关于操作系统的限制,主要是基于这样的事实:某些操作系统在接管控制之后不使用 BIOS 的 INT13 接口,如果这样的话,就可能出现某些问题,也可能不出现问题。具体说明如下:

当这类操作系统不使用、不访问软盘中的内容时,能够正常操作,和真实软盘启动没有任何差别。例如绝大多数 LINUX 软盘以及 FreeBSD 软盘就是这样的。

当软盘映象中的程序要访问软盘映象自身的内容时,就会出现访问失败的情况。这样,启动就会出现故障。这是因为,用户程序是通过操作系统【不是通过 BIOS 接口】来访问真实软盘的,而真实的软盘不在软驱之中,所以访问失败。

GRUB for DOS 0.1.x 对 2.88M 的软盘一般是不支持的。GRUB for DOS 0.2.0 对任意尺寸的软盘映象都支持了,还支持任意尺寸的硬盘映象的仿真。现在虽然还没有发布 GRUB for DOS 0.2.0 的正式版,但现在的测试版几乎就等于正式版了。

=========

在 XP 下,如果您的磁盘是 NTFS 格式的,您将无法在 GRUB 下访问磁盘中的文件 (hd0,0)/boot.flp,您可以访问另外一个 FAT32 分区中的文件。把 boot.flp 放在 FAT32 分区,就可以在 GRUB 下访问它了。

另外,如果您的 boot.flp 已经处于 FAT32 之下,那么,map 失败的原因就是,boot.flp 文件有碎片。你可以多拷贝几个 boot.flp 的备份,看看哪个没有碎片就用哪个。

网页上对此说的很详细:
http://www.linuxeden.com/edu/doctext.php?docid=3006

----------------------------------

Wengier 兄:

禁用磁盘的功能,我原来也曾考虑过,但是,由于 windows 可能不使用 BIOS ,所以,这种禁用不一定好使。windows 的 32位磁盘存取,其实就是跳过 BIOS int13 接口。

在 DOS 下禁用磁盘,可能效果会好一些。关于禁用某个磁盘,或者增加某个磁盘,有三点考虑:

1。在 BIOS 数据区有软盘个数和硬盘个数的字段,增删磁盘时,最好应当调整一下这些字段。

2。在 CMOS 中保存了磁盘配置信息,但是,最好还是别动它。

3。用 map 命令使磁盘不可访问。

关于第1条,由于我们的 GRUB 有时候要重入,改动之后重入时要再恢复它,比较麻烦,容易搞错,所以,第1条我们也不做了。因此我们只用第3条来实现。例如,禁用 (hd1):

map --disable-chs-mode --disable-lba-mode (hd1) (hd1)

我不知道这个命令是否工作正常,我没有试验过。

增加一个硬盘 (hd3):

map (hd2,0)/hard_disk.img (hd3)

由于 BIOS 数据区的硬盘个数没有增加,所以,这条命令并不能增加一个 (hd3)。

=================

我在网页上的说法比较随便,看来,得改改了。我以前对本站的概况不了解。


[此贴子已经被作者于2004-1-28 10:19:23编辑过]






因为我们亲手创建,这个世界更加美丽。
2004-1-28 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
i659
初级用户




积分 162
发帖 14
注册 2003-12-20
状态 离线
『第 116 楼』:  

我用  blocklist 看了一下:
blocklist (hd0,6)/boot.flp
(hd0,6)13700944+5760

显示这样,应该没有碎片吧(我不是太清楚的说,对这方面我不是太懂的说)

2004-1-28 00:00
查看资料  发送邮件  发短消息 网志  OICQ (184228624)  编辑帖子  回复  引用回复
i659
初级用户




积分 162
发帖 14
注册 2003-12-20
状态 离线
『第 117 楼』:  

我的硬盘有C  D  E  F四个盘,C D E均为ntfs格式,F为FAT32格式,按照这里的方法(作了一个变通)

一:把grub.exe和boot.flp放在f:的根目录下
二:c:\>grub
三:grub\>map (hd0,6)/boot.flp (fd0)
四:grub\>chainloader (hd0,6)/boot.flp
五:grub\>rootnoverify (fd0)
六:boot


启动后它提示要kernel文件,下一步我该怎样做呢?我不知该怎样提供这个kernel文件给你


出错信息如下:

>load /kernel
/kernel text=0x257ba8 data=0x32d68+0x3fb78
zf_read: unexpected EOF

elf32_loadexec: archsw.readin failed
load : can't load file '/kernel' : input/output error

2004-1-28 00:00
查看资料  发送邮件  发短消息 网志  OICQ (184228624)  编辑帖子  回复  引用回复
i659
初级用户




积分 162
发帖 14
注册 2003-12-20
状态 离线
『第 118 楼』:  

我的硬盘有C  D  E  F四个盘,C D E均为ntfs格式,F为FAT32格式,用的是ntloader,我一般用它来引导xp(这是当然

的了)另外,我还用它来引导redhat以及debian

ftp://ftp.cosoft.org.cn/incoming/grub_for_ntldr-test003.tar.gz  

从这里下载for ntloader的grub for dos 程序后,按照说明,把解压后得到的bootgrub  grldr 放到c:根目录下
在boot.ini添加如下选项:
c:\bootgrub=" boot grub"


重启后,选择进入 boot grub

一、 grub\>map (hd0,)/boot.flp (fd0)
二、 grub\>chainloader (hd0,)/boot.flp
三、 grub\>rootnoverify (fd0)
四、 boot

(说明:我已经从下载的iso文件中解压出boot.flp,并把它放在f:盘的根目录下)
能够进入安装程序,后面我没试过,也就不知能否真正安装下去。(其中在第一步:
一、 grub\>map (hd0,)/boot.flp (fd0)
出现如下信息:
Autodetect number-of-heads failed.  Use default value 2
Autodetect sectors-per-track failed.  Use default value 36      
但后面步骤能够继续)



但我在网上搜了一些资料,它们都说用硬盘安装,必须把下载得到的iso文件解压到c:\freebsd目录下,否则不能安装

,可是我前C  D   E 均为ntfs格式,只有f盘是fat32格式



2004-1-28 00:00
查看资料  发送邮件  发短消息 网志  OICQ (184228624)  编辑帖子  回复  引用回复
Wengier
系统支持

“新DOS时代”站长


积分 27734
发帖 10521
注册 2002-10-9
状态 离线
『第 119 楼』:  

以下是引用“不点”的发言:

“禁用磁盘的功能,我原来也曾考虑过,但是,由于 windows 可能不使用 BIOS ,所以,这种禁用不一定好使。windows 的 32位磁盘存取,其实就是跳过 BIOS int13 接口。
在 DOS 下禁用磁盘,可能效果会好一些。”


这个我知道,不过我之所以提到在WIN下也可以试着禁用硬盘,是有几个原因的。其中一个重要原因是我想试验一下DOS下禁用硬盘后取消盘符交错现象后对WinME启动路径设置的影响等等。我马上试试您说的map方法,谢谢!

[此贴子已经被作者于2004-1-28 14:21:49编辑过]






Wengier - 新DOS时代

欢迎大家来到我的“新DOS时代”网站,里面有各类DOS软件和资料,地址:
http://wendos.mycool.net/

E-Mail & MSN: wengierwu AT hotmail.com (最近比较忙,有事请联系DOSroot和雨露,谢谢!)

2004-1-28 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (29206679)  编辑帖子  回复  引用回复
i659
初级用户




积分 162
发帖 14
注册 2003-12-20
状态 离线
『第 120 楼』:  

或许是程序的问题,在dos下我用的是  grub for dos 0.1.4  (下载地址  

http://newdos.yginfo.net/dosware/grub/grub014.zip )
版本就出现上面的贴子中出现的问题,找不到kernel
刚换了一下最新的测试版 grub_t14.exe
( ftp://211.100.7.71/incoming/grub_t14.exe   )
就解决问题了,但还是出现在用ntloader 中出现的提示:
Autodetect number-of-heads failed.  Use default value 2
Autodetect sectors-per-track failed.  Use default value 36     

跟在windows xp中一样,后面步骤能够继续

2004-1-28 00:00
查看资料  发送邮件  发短消息 网志  OICQ (184228624)  编辑帖子  回复  引用回复
« [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] ... [19] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: