标题: 请教:想学用grub for dos 怎样入手
[打印本页]
作者: yub
时间: 2004-4-26 00:00
标题: 请教:想学用grub for dos 怎样入手
请教:想学用grub for dos 怎样入手
作者: yub
时间: 2004-4-26 00:00
请教:我下载 http://newdos.yginfo.net/grubdos.htm ---- “-GRUB for DOS 0.2.0 pre6 New!” 后用winrar3.x解压后 在c盘下运行 c:\>GRUB 后死机,使我操作错?
[此贴子已经被作者于2004-4-26 19:01:05编辑过]
作者: 不点
时间: 2004-4-26 00:00
兄弟,你说的太吓人了吧。它顶多出错退出,不会死机吧?你的鼠标和键盘应当还可以用吧。
你是在 DOS 下,还是在 windows 下运行呢?grub.exe要求在实模式的 DOS 下运行,不能在 windows 的 DOS 窗口下运行。你看看其中的 README 文件。在 win2000, 你可以用 其中的 grub for ntldr 。
作者: yub
时间: 2004-4-27 00:00
to : 不点兄台
(先谢谢回复)
我在同样条件下试过
[用Wengier斑竹的v7.1纯dos启动 -->
c:\>fdisk mbr -->
c:\>format c: /s /u -->
再拷贝GRUB for DOS各版本试用 --> 有以下请况 ]
1。用下载“GRUB for DOS 0.2.0 pre6 New!” 的确 死机 (黑屏、左上角只有一个 "_" 符号)
2。其他版本可用,可出现的版面我不大会用, 在 GRUB > 下 运行 HELP 提示不太明白都是EN
3. 劳驾斑竹提点下,论坛GRUB贴我授过,因初学觉得没教程。。。。
4.我很菜,各位大虾帮帮小弟
yub_cn@163.com 盼复
----------------------------------------------------------------------------------------------------------
[grub for ntldr论坛内有DOWNLOAD?我想试试,在W2K/XP可以用?]
[此贴子已经被作者于2004-4-27 14:25:47编辑过]
作者: 不点
时间: 2004-4-27 00:00
你报告的可能是个 BUG 了,谢谢你的报告。不过你的报告还不很详细。在这里:
http://ipdown.com/grub4dos/
可以找到很多下载的链接,包含 GRUB for dos 文章。【从 cosoft 的 FTP 站点可以下载很多 GRUB for dos 的版本】。
你只说到 pre6 不能运行,却没有说 pre4 , pre3 等等能否运行。这样,我就无法判断出究竟是哪个版本引来了 BUG。
以上提到的 GRUB for DOS 的文章是我写的。看这些资料之前,事先需要了解 GNU GRUB 的知识。请在搜索引擎中搜索 GRUB 的中文资料来看。例如,可以在 www.google.com 中搜。
---------------------
补充:GRUB for dos 的 BUG 越来越难以发现了。另一方面,如果还是发现了的话,要解决它,可能也是比较难的了。越是到最后发现的 BUG,就越是少数人才碰到的 BUG。所以,如果这个 BUG 不能解决的话,对这少数人很不利,或许是不公平,但也没有办法。如果 BUG 未能解决,那么可能今后的新版本中都会存在这个 BUG。所以我希望尽量解决 BUG,这也是首要的问题。
[此贴子已经被作者于2004-4-27 23:26:12编辑过]
作者: 不点
时间: 2004-4-28 00:00
因为最后阶段定位 BUG 的困难性, 我还想多说一点想法.
我觉得应当全民动员, 都来解决 BUG. 这话看似好笑, 其实有道理. 比如 yub 兄的 情况, 很可能跟他的硬件有关, 比如主板有什么不规范的, 如此之类. 一般最可能出现的问题, 是在执行 int 指令的时候, 这是个 与主板 BIOS 有关的指令. 这样的问题, 我没有办法去解决, 因为我无法在 yub 兄的机器上调试. 如果我的机器上出现了这样的问题, 我大致会这么来解决:
1. 先把 grub for dos 中的 dosstart.S 程序打印到纸上.
2. 用 debug 或者最好是 GRDB 这类调试器打开 grub.exe 进行调试, 单步跟踪执行, 遇到 int 指令用 p 命令执行. 看看究竟哪个 int 指令的执行失败了. 单步跟踪的过程可以对照纸上的源程序. 于是你就知道在源程序中的哪个语句出现问题. 报告 BUG 的时候, 如果能指出这个错误的语句, 则问题可能就很容易解决了.
-------------------
关于调试, 说一个偷懒的办法. 首先用 p200 看看能否碰到死机, 如果没有碰到, 继续用 p200 , 记录使用了多少个数字.
如果某次碰到死机, 下一次把数字变小, 用 p100 .
也可以 p 和 t 混合使用.
用这种办法, 可以快速找到引起司机的语句.
作者: yub
时间: 2004-4-28 00:00
TO : 不点兄台
(再谢回复)
[B]A#[/B] 关于硬件: 老机:Compaq DESKPRO EB /SP 系列 PⅡ333
我外加 -- 两网卡 : 3C509- ISA ~ SMC E_Ⅱ- PCI ,
我外换 -- 显卡 : 中凌ATI-7500 / 内存SD的 HY--128M (原厂)
其它:声卡-ESS 和 BIOS( 凤凰的) 。。。。没动过
关于软件: 【从 cosoft 的 FTP 站点可以下载很多 GRUB for dos 的版本】
GRUB for DOS 0.2.0 pre4 和 GRUB for DOS 0.0.8 / 0.1.4 / GRUB_T15 试过没死,只是不会用来做启动菜单,而pre6 不行 ,其他没试过
人兄 debug。。。不是我不想做,大虾说的很详细,可我太菜,就是不懂debug也没用。。。。
[B]B#[/B] 老大提到的GOOGLE.COM 简体的除找到“不点”的外,几乎没有; EN没找过,有也没用。。。。。。
老大提到的 http://ipdown.com/grub4dos/ 的几篇文章看啦,
不会用它做菜单启动阿,有怎么使用的,老大能在本贴或另起一贴,发一份吧
老大 "grub for ntldr"什么时候有正式版发布?期盼阿,会比grub for dos 好用有图形几面?
[B]C#[/B] 在论坛泡15天(都白天来),没看到斑竹Wengier 大虾,能教下GRUB怎么做启动菜单? 谢谢不点的热情,BUG不BUG,我们小鸟是管不了,只求会用。。。。
---------------------------------------------------------------------------
我的QQ :110126688, YUB_CN@163.COM
[此贴子已经被作者于2004-4-28 15:21:56编辑过]
作者: 不点
时间: 2004-4-29 00:00
yub 兄首次接触 grub for dos, 而且刚一来就碰上困难和 BUG, 我们应当表示关心和支持才对. 可是, 遗憾的是, 我的时间不多, 工作忙. 还望 yub 兄给以原谅. 谢谢你对于 BUG 的详细描述. 我很关心 BUG 问题, 所以, 叙述如下:
pre4 曾经一度有资格作为正式版, 因为它已经比较稳定了. 后来有 tmpid 兄报告 pre4 不能运行, 所以, 修改了少量的几个门限值, 让 tmpid 兄的主板可以通过检查.
从 pre4 到 pre6, 没有实质性的修改, 只是将 0xe0000000 修改为 0xc0000000 , 也就是说, 过去认为 0xe0000000 以上的中断向量才是 BIOS 中断向量, 现在认为 0xc0000000 以上的中断向量都是 BIOS 中断向量, 也就是说, 放宽了检查.
所以, pre4 能运行, pre6 应当也能顺利运行. 我猜测, yub 兄所遇到的问题, 可能是下载解压过程中的问题, 不是实质问题. 另外, 最新的 grub.exe 文件在这里:
http://ipdown.com/grub4dos/grub.exe
这是比 pre6 更新的版本, 但基本上等于 pre6, 所改进的地方, 不会影响到你的使用. 所以, 你可以下载它试试. [因为我觉得是你下载的版本有问题, 所以, 我希望你再下载一次试试, 从不同的站点多下载几个 pre6, 看看是否有好的]
grub for ntldr 已经集成到 grub for dos pre? 的版本中了, 你没有注意到. 看看 grub for dos pre6 的 README 就知道了.
在
http://www.google.com/
中敲入 "grub 入门", 可以找到一篇经典的 grub 文章, 非常基础, 你可以看看.
grub 本来只能在 linux 环境下运行, grub for dos 把它扩展到 DOS 下. 上述这篇入门文章, 可能会少量涉及 linux, 但还是能够看懂的, 即使没有 linux 的任何知识, 也能看懂. 这是一篇必读的文章. 以下是这篇文章的几个地址:
LinuxSir.Org - 〔转〕GRUB入门
http://www.linuxsir.org/bbs/showthread.php?s=&threadid=74728&highlight=%D0%C2%C4%DA%BA%CB
http://www.chinaunix.net/forum/viewtopic.php?t=66853
作者: 不点
时间: 2004-4-29 00:00
> 只是不会用来做启动菜单
grub for dos 的 boot/grub/menu.lst 就是一个菜单文件. 你简单修改一下, 就变成自己的菜单文件了.
作者: yub
时间: 2004-4-29 00:00
TO : 不点兄台
(三谢回复)
哦,我11:3x 到 大虾走啦,可惜,希望论坛有更多大虾热心帮助我们这些小鸟,共同进步
老大说的我下午去download试试,有结果马上报上,谢谢“入门“连接,我去学学,不明的再问各位大虾,下午再见
作者: yub
时间: 2004-4-29 00:00
TO : 不点,论坛其他朋友
上报前,再说说我的PC,帮我装这PC的朋友说:希望大虾找台COMPAQ DESKPRO EB/SP 的古董看看,
因为“凤凰BIOS”很不同,也许是我死机的原因。
下面是帮我装PC朋友原话的大概内容---(但我不懂他说什么,希望上面提的对开发者有帮助,解决问题,得益于最后的用户)
“EB/SP的BIOS-IRQ设置很特别 在设置菜单最后一栏,机器除自动PnP-IRQ外 可以样用户(我)改动剩余IRQ: 9,10,11,把它直接分给不同的卡(网卡等外加设备)”
老大和我朋友都提到“中断”,我不知道中断是什么,授下 GOOGLE.COM --关于中断的,对看本贴DOS入门的朋友,可能有帮助吧。如大虾们提到“中断向量”不是指下面内容,请大虾斧正:
IRQ全称为Interrupt Request,即"中断请求"的意思(以下使用IRQ称呼)。IRQ的作用就是在我们所用的电脑中,
执行硬件中断请求的动作,用来停止其相关硬件的工作状态。
认识IRQ 计算机中的中断根据信号产生的来源可分为:硬件中断和软件中断。硬件中断多由外围设备和计算机系统控制器发出,软件中断一般由软件命令产生。在硬件中断中又有"可屏蔽中断"和"不可屏蔽中断"之分。顾名思义,可屏蔽中断可以由计算机根据系统的需要来决定是否进行接收处理或是延后处理(即屏蔽);而不可屏蔽中断便是直接
激活相应的中断处理程序,它不能也不会被延误,我们常说的IRQ中断就是可屏蔽的硬件中断。
IRQ分配表
中断0 系统计时器
中断1 键盘
中断2 可编程中断控制器
中断3 com2
中断4 com1
中断6 软盘控制器
中断7 并口1
中断8 系统cmos/时钟
中断12 ps/2鼠标
中断13 数学协处理器
中断14 第一ide控制器
中断15 第二ide控制器
在以前的电脑系统中,各硬件的IRQ是由一个中断控制器8259或是8259A的芯片(现在此芯片大都集成到其他的芯片内)
来进行控制的。目前共有16组IRQ,去掉其中用来做桥接的一组IRQ,实际上只有15组IRQ可供硬件调用。而这些IRQ都有自
己建议的配置(见IRQ分配表)。
从上表中我们可以看到,只有5、9、10、11共4个中断没有被占用,可以给用户用做新添硬件设备使用,其中显卡要独
占一个中断,声卡一般来说也会占用两个中断,它们分别用于MIDI接口和WAVE的播放。
[此贴子已经被作者于2004-4-29 12:51:27编辑过]
作者: yub
时间: 2004-4-29 00:00
TO : 不点兄台
(http://ipdown.com/grub4dos/grub.exe下载它试用,上报结果)
谢谢不点仁兄,可以启动了:
[用Wengier斑竹的v7.1纯dos启动 -->
c:\>fdisk mbr -->
c:\>format c: /s /u -->
再拷贝http://ipdown.com/grub4dos/grub.exe(一个文件)试用 --> .... ]
画面:
---------------------------------------------------------------------------------------------------------
GUN GRUB Version 0.94 (639K lower / 130048K upper memory)
.....略.............
GRUB >
---------------------------------------------------------------------------------------------------------
想问下大虾:我的PC是不是中奖啦:
GUN GRUB Version 0.94 ( [B][U]639K[/U][/B] lower / 130048K upper memory)
那个[B]639K[/B]在用过的 grub for dos 各版本中(包括Wengier斑竹的v7.1纯dos启动盘),凡能进 GRUB >没死机的,但都不是640K,只是[B]639K[/B],各位大虾的PC是640K?
我的PC 以前中过奖,用MEM 看内存不是640K(655360)的,有试过[B]639K /637K[/B],这是不是“GRUB for DOS 0.2.0 pre6 New!”死机直接原因,如果是有毒,请问论坛那位大虾有*.img的无毒启动杀毒盘,发个地址我download,拜托,拜托。
------------------------------------------------
yub_cn@163.com
入门文档还没看,grub for ntldr 还没试用,下次再发问,大虾不要嫌我烦,谢谢大虾们的帮助。
[此贴子已经被作者于2004-4-29 14:01:21编辑过]
作者: yub
时间: 2004-4-29 00:00
TO : 不点兄台
(看入门文档--提问)
以下网上搬来的:
------------------------------------------------------------------------------------------------------------------------------------------------
。。。。
制作引导盘,第三部分 。。。。。
解压、编译和安装 GRUB 源 tar压缩包时,会将程序 grub 放到 /usr/sbin 中。该程序非常有趣并值得注意,因为它实际上是 GRUB 引导装入器的半功能性版本。是的,尽管 Linux 已经启动并正在运行,您仍可以运行 GRUB 并执行某些任务,而且其界面与使用 GRUB 引导盘或将 GRUB 安装到硬盘 MBR 时看到的界面完全相同。
这是有趣的设计策略,现在该使用驻留版本的 GRUB 来设置引导盘的引导扇区了。从 root 用户,输入 "grub"。GRUB 控制台将启动,显示如下:
GRUB version 0.5.96.1 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub>
欢迎使用 GRUB 控制台。现在,研究命令。
。。。。
------------------------------------------------------------------------------------------------------------------------------------------------
提问:
1# 我装机朋友说:怎么别人的PC是640K , 我的只有639K . 是不是有引导扇区病毒,改了启动中断向量表,如果老大不放开“0x$0000000 BIOS 以上的中断向量”,PC 就会罢工,如果放开“0x$0000000 BIOS 以上的中断向量”,是有63#K . ----- 老大给个答案
2# 如果不是上面所说什么BIOS向量引起,老大这回给的是什么 "0x$0000000 BIOS 中断向量" ? --- 这大虾们回了我也看不懂,但还是请老大做回复。
3# 若是病毒改向量的话 以后的 GRUB FOR DOS / NT 会不会卡 “0x$0000000 向量”不让我装 GRUB ---- 我希望仁兄放宽它吧
4# 以前杀过毒, 什么KILL / KV / RAV 都找不到 , AV95 查杀---是什么LI_-XB... 我忘了-------现在怎么办
5# 安装问题: 装GRUB FOR DOS 需要那几个文件 ? 是不是只要 GRUB.EXE --- 大虾这回我只下http://ipdown.com/grub4dos/grub.exe这文件 ,若不是,去那DOWNLOAD ------- 我喜欢RAR文档
6# 那个 GRUB FOR NT 我没试,出正式版时,能不能像 WINDOWS 搞图形界面 --- 大虾这对菜鸟好入手,我也想用
----------------------------------------------
yub_cn@163.com
[此贴子已经被作者于2004-4-29 18:37:48编辑过]
作者: 不点
时间: 2004-4-30 00:00
谢谢 yub 兄如此详细的报告。作为回报,我尽量也帮助你,给你提供一些方便【尽我的能力】。
首先,你下载了
http://ipdown.com/grub4dos/grub.exe
它能运行,这下子就放心了。因为它和 pre6 并无什差别。只要它能运行,pre6 也应该能运行。退一步说,即便 pre6 不能运行,也不要紧,因为我们可以把
http://ipdown.com/grub4dos/grub.exe
作为 pre7 或者正式版。
好了至此,这个问题就算解决了。至于你说到的中断,现在也暂时不需要讨论了。
----------------
GRUB for DOS 显示常规内存是 639K 是正常的。新型的 BIOS 在 640K 的顶部有一个扩展 BIOS 数据区。这个 扩展 BIOS 数据区通常占据 1K 的内存,但也有最多占据 4K 空间的。
你的 BIOS 所使用的 扩展 BIOS 数据区的大小是 1K,所以,你的常规内存显示为 639K,这不是病毒造成的,不要担心。所以,你的问题 1#,2#,3#, 4# 都不用多虑了。DOS 可能显示为 640K,那是因为 DOS 有时候把 扩展 BIOS 数据区移动到内存低端,事实上 扩展 BIOS 数据区仍然存在,不过不在 640K 顶端罢了。在这种情况下,DOS 的 mem 命令可能显示你有 640K 常规内存。这只是一个计算方法问题,不用考虑它。
5#:只要 GRUB.EXE 就够了。当然,menu.lst 文件你也可以参考。它是一个例子文件,无所谓什么版本,随便哪个 menu.lst 都可以作为参考。
6#:GRUB for NTLDR包含两个文件,一个是 BOOTGRUB,一个是 GRLDR。这两个文件需要处于 C: 盘根目录之下,和 BOOT.INI 以及 NTLDR 这类文件放在一起。你只要按照 README 的说明修改 BOOT.INI 之后就可以用了。
作者: yub
时间: 2004-4-30 00:00
TO : 不点
(大虾辛苦,0:44 还在工作,谢拉)
使用问题:
1# menu.lst 和 GRUB.EXE 一起不放在C:\>下,是放在根目录下再建目录,如 C:\BOOT>可不可以?
2# stage1和stage2两个文件,有什么作用?
-------------------------------------------------------------------
yub_cn@163.com
[此贴子已经被作者于2004-4-30 11:20:35编辑过]
作者: 不点
时间: 2004-4-30 00:00
初次接触 GRUB, 没有必要管 stage1, stage2 这类文件. /boot/grub/ 目录下的文件是用来将 GRUB 安装到 MBR 的.
在 /boot/grub/ 目录下的文件中, 只有一个 menu.lst 是值得关心的, 其它可以暂且放一边.
grub.exe 启动的时候,自动寻找 (hd0,0)/boot/grub/menu.lst 文件, 如果找到该文件, 就进入菜单界面, 如果没有找到, 就进入 grub 的命令提示符界面.
(hd0,0) 表示磁盘分区. (hd0,0) 中的 hd0 表示 BIOS 硬盘号码 0x80 , 也就是十六进制的 80,
(hd0,0) 中逗号之后的 0 表示是该盘上的 第 0 个分区.
GRUB.exe 以及 menu.lst 文件可以放在任何地方, 它们两个也可以不在同一目录下. 不过, 默认时, grub.exe 总是查找 (hd0,0)/boot/grub/menu.lst 作为菜单.
需要学习一下 GRUB 的磁盘分区表示法.