|
windrv
中级用户
积分 385
发帖 118
注册 2003-11-11
状态 离线
|
『第
166 楼』:
Quote: | 以下是引用不点在2005-4-8 9:45:19的发言:
实在对不起,我除了 email 和论坛之外,其它的都不用。你可以用本论坛的短信方式和我联系。email 方式不太好,我一个月才看一次 email。这个论坛我来的还是比较及时的,几乎每天都来。
PE 格式的属于 windows 程序。在 windows 下,运行的程序都是保护模式的,而 grub.exe 需要实模式才能工作。从windows 的保护模式切换到实模式,不容易呀。这个要是实现了,那将是很大的突破。我以前把 GRLDR 叫做 grub for ntldr而不是叫做 grub for windows,其原因就是,grldr 只能在 NTLDR 下运行,它不能在 Windows下运行。如果你能实现从保护模式到实模式的切换,那么,你制作的 GRUB 就可以称为 GRUB for WINDOWS 了。我制作的grub4lin 就是在 linux 下从 保护模式运行实模式的 GRUB,它可以称做 grub for linux。
至于说图标,你自己喜欢什么样的都行,我没有美术细胞,帮不了你。关键是要解决 CPU 模式的切换,这个要是解决了,有没有图标都无关紧要了。我觉得很不容易呀,希望你能成功。 |
|
Dear Tinybit,
I have sent you an email. And I repeat my question addressed to you therein as follows:
The map command does not seem to work when grub4dos is used in non-emulation mode. For instance:
map (cd)/image.img (fd0)
does not seem to work.
May be the map command originally is designed to with with FAT/NTFS partition. Is it possible to make it work under iso filesystem format? Or is it too time-consuming or too large a piece of work to do so?
|
|
2005-4-8 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
167 楼』:
map 命令不能用于 no-emulation mode 的 CDROM 文件,这是正常的。其原因是 no-emulation mode规范是微软插手制定的,它是一个不兼容性的规范,扇区大小采用的是 2048 字节,而不是通常的 512 字节。虽然 no-emulationmode 的光盘扇区可以用 int13 的 LBA模式来读,但是,得到的扇区大小与我们仿真为磁盘后的扇区大小是冲突的,所以,仿真之后就不能使用了,是无效的仿真。
如果 (cd)/image.img 文件不太大,而你的内存也够用,你可以考虑用 map 命令的 --mem 参数在内存中来仿真,这是肯定可以成功的:
map --mem (cd)/image.img (fd0)
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-8 00:00 |
|
|
gmy
版主
操作系统爱好者
积分 1113
发帖 392
注册 2002-11-11
状态 离线
|
『第
168 楼』:
grldr 有严重问题,我的 超级急救盘 硬盘版 基于 0.2.0 最终版,网友们报告BUG说,grldr 在某些WIN2000版本和某些XP SP2使用不能用,出现extended or non-MS: skip ,解决的办法另我大吃一惊:用 XP_SP1 的 NTLDR 和 BOOTFONT.BIN 覆盖 同名文件 就可以用GRUB了。我分析,可能是 grldr 的编写环境是 XP SP1 ,希望 grldr 的代码更严谨一些,解决此BUG。(0.4.0没试过)
|
DOS之家 http://doshome.com 站长 葛明阳 |
|
2005-4-14 00:00 |
|
|
hnlyzhd
高级用户
积分 544
发帖 164
注册 2004-10-17
状态 离线
|
『第
169 楼』:
to gmy:你所用的是不是新编译的GRLDR呢?TO 不点:在使用QEMU的过程中遇到一些问题请求帮助:1.启动后不能够在虚拟的硬盘镜像上使用GHOST来快速安装系统.2.不能够启动EZBOOT生成的24位真彩ISO.3.不知能否挂载本机的物理硬盘为QEMU的硬盘.
|
我的留言簿
http://hnlyzhd.ys168.com 我的网络盘
|
|
2005-4-15 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
170 楼』:
0.2.0 最终版和 0.4.0 预览版是同一天发布的。之所以这样,就是想让大家转向 0.4.0 版本。
0.2.0 不再更新了,也就是说,不会再有 0.2.1 版本了。报告 BUG 时,一般常规,都是要求先试试最新版再说。
由于 0.2 已经不再开发了,因此,我已经忘记了在 GRLDR 查找代码部分是否有 BUG 了。我印象中,似乎 0.4 的版本纠正了某些错误。
不过,你的 BUG 报告似乎不太准确。这个错误:extended or non-MS: skip,表明所涉及到的分区类型不是已知的NTFS/FAT 类型。即便更换 NTLDR 等文件,也无济于事,因为这个信息是 GRLDR发出来的。在这条错误之前和之后,还有其它错误信息,不提供这些信息,就不能判断究竟哪里出现了错误。希望能得到准确的报告。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-15 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
171 楼』:
hnlyzhd:用短信回复了 QEMU 的问题。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-15 00:00 |
|
|
Gandalf
中级用户
CPU
积分 362
发帖 96
注册 2004-7-8 来自 北京
状态 离线
|
|
2005-4-15 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
173 楼』:
刚才有人问了我的留言簿,我说我接受新生事物真的有些迟钝。我既没有 QQ 即时通讯,也没有博客,也没有手机。别人都说我难找。不过将来有可能的话,可以考虑开辟一个留言簿,可我又不敢开辟,因为我不一定总去看它。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-15 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
174 楼』:
Esme 说 FTP 无法访问,那么现在可以从 http://grub.linuxeden.com/wakka.php?wakka=UploadFile 下载。
补充:好像最近碰上了大规模的封网行动,试试以下的下载地址(不保证总能下载成功):
ftp://upload:upload@202.114.23.161/grub_for_dos-0.4.0.tar.gz
[此贴子已经被作者于2005-4-17 15:52:22编辑过]
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-15 00:00 |
|
|
GONGXP
初级用户
积分 184
发帖 31
注册 2005-3-13
状态 离线
|
『第
175 楼』:
rpl启动的dos无法使用grub
grub的确使人耳目一新。从netware下远程启动的dos(6.22或者7.1)无法使用grub,错误:
Programs such as TSRs and drvice drivers may also change the BIOS interrupt vector table.
Make sure those programs are not runing,then try again.
[此贴子已经被作者于2005-4-16 1:45:07编辑过]
|
|
2005-4-16 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
176 楼』:
麻烦 GONGXP 兄详细说说 netware 的启动过程等详细信息。我从来没有使用过 netware。
假如我知道了 netware 的运作机理,那么我就有可能知道究竟未来的 grub.exe 可否支持它。
另外最好也请说说为什么要使用 netware,说说它的用途,帮助我进一步了解它。
我对网络比较外行,该问题也可以由 GANDALF、BEAN123 等人来答复或者解决。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-17 00:00 |
|
|
dos@fans1
初级用户
积分 113
发帖 2
注册 2005-2-6
状态 离线
|
『第
177 楼』:
我下的pre7版的grldr怎么不能引导Wengier的 超级通用MS-DOS 7.10启动盘镜像。这个启动盘镜像也是由grub引导的。但屏幕显示表明grldr只引导到stage1就没有响应了。以前的版本没有这个问题。
|
|
2005-4-17 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
178 楼』:
注意,GRLDR 和 stage1 毫无关系。GRLDR 不会使用 stage1 和 stage2;而使用 stage1 和 stage2 的,一定是旧版本的 GNU GRUB,这是一个不推荐的启动方法。
GRLDR 只要能够获得控制并进入 GRUB 环境,这就是 GRLDR 的成功。在进入 GRUB的环境之后,又可以引导某个磁盘映象中的操作系统,这便是 GRUB for DOS的成功。至于说该磁盘映象会出现各种错误,比如死机,那可能有多方面的原因。这可能和启动该映象的方法有关,比如,map 命令是否带了 --mem参数以及您的 BIOS 是否支持 INT13/EAX=e820h 调用;也可能和该映象中的程序代码有关,比如这些程序代码不支持INT13/EAX=e820h 调用规范。“超级通用MS-DOS 7.10启动盘”中的旧版本 GNU GRUB 很有可能真的不支持INT13/EAX=e820h 调用规范,因为它毕竟是很多年以前的发布了,已经太过于陈旧了。
GRLDR 本身出现错误的可能性不大。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-18 00:00 |
|
|
GONGXP
初级用户
积分 184
发帖 31
注册 2005-3-13
状态 离线
|
『第
179 楼』:
netware是一个从dos启动的服务器操作系统,其远程 启动最少要二台计算机,一台运行netware,另一台有网卡,并有rpl启动芯片。在一台dos计算机,将一张启动dos的软盘,制作成镜像文件,存在netware服务器上。以后,那台有带rpl启动芯片网卡的计算机就可以选择从远程启动(int19中断),启动那张软盘上的dos系统,这个dos系统可以启动windows98,windows me,也可以通过loadlin启动linux,也可以通过loadce启动windows ce。不过,这个dos是“污染”了bios的中断向量,不知可否让grub.exe在这个dos上运行?
至今为止,无盘启动dos,远程启动dos,最好的网络操作系统仍是netware,目前在证券公司广泛使用。
[此贴子已经被作者于2005-4-18 14:00:13编辑过]
|
|
2005-4-18 00:00 |
|
|
不点
银牌会员
不甘寂寞的人
积分 2491
发帖 1115
注册 2003-9-24
状态 离线
|
『第
180 楼』:
确实是专业高手,谢谢。
按照你的描述,计算机通过网卡访问远程 DOS 软盘。我猜这里面应当有一个仿真存在:
第一种可能,将远程 DOS 软盘直接装入本机的扩展内存,然后实施“用内存仿真软盘”的功能。
第二种可能,INT13 的处理程序直接将机器对于软盘的访问,重新定向到网络,也就是直接定向到远程软盘。这种方法,不需要占用本机的物理内存空间。
不管是哪种情况,只要这些都是在 BIOS 内部操作,那么这都是可以运行 GRUB.EXE 的。你上面提到的出错信息,说明这些操作已经超出 BIOS 的范围,进入普通的用户程序。
DOS无论是否经由远程启动,它都会污染BIOS中断向量。grub.exe在刚开始运行的时候,就要检查有哪些中断向量被污染过了,如果这些中断向量是不重要的,那么任其污染也不予理睬,继续运行GRUB。如果发现关键的中断向量被污染了,那么,grub.exe就采取一系列步骤来自动探测被污染了的中断向量的原始值,如果找到原始值,那么就恢复该值,并宣告恢复成功,继续运行GRUB。如果未能找到原始的中断向量入口地址值,那么打印出错信息,退回到 DOS。
1. 有哪些关键的中断向量?
int08,int09,int0a,int0b,int0c,int0d,int0e,int0f
int70,int71,int72,int73,int74,int75,int76,int77
这 16 个中断是硬件中断,它们是 grub4dos 所认为的最关键的中断向量。除此之外,grub4dos 还认为许多低于 int20 的中断也是关键的中断。比如 int13, int10, int16 等等吧。
grub4dos 认为上述中断必须正确恢复为 BIOS 的原始入口地址值,有一个恢复失败都将认为是失败,从而拒绝进入 GRUB 环境中。
2. 如何判断一个中断向量的中断入口地址是否被污染过?
当入口地址是 c000:0000 以上的代码空间时,就认为该中断是 BIOS 原始的中断,无需恢复,否则,如果是低于 c000:0000 的值,就认为是污染过了。
希望这些信息能给您带来某些帮助。如果您能够解决掉该问题,也希望能够把经验与大家共享。如果您能提供一个补丁什么的,我当然非常欢迎了。
-----------------------
如果您的(服务器端所提供的) DOS 软盘中有 config.sys 和 autoexec.bat,那么你应当确保其中没有 TSR驻留程序,否则,GRUB.EXE 是不能运行的,显示的错误就像您前面贴出的那样。即使你在本机运行 DOS也有此要求。这一点您或许已经知道了,不过还是要提醒一下,以免万一您以前不曾了解到这一点。
|
因为我们亲手创建,这个世界更加美丽。 |
|
2005-4-18 00:00 |
|