|
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 |
|
|
不点
银牌会员
不甘寂寞的人
积分 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 |
|
|
不点
银牌会员
不甘寂寞的人
积分 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 |
|
|
不点
银牌会员
不甘寂寞的人
积分 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 |
|
|
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 |
|
|
不点
银牌会员
不甘寂寞的人
积分 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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|