无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 5174|回复: 41
打印 上一主题 下一主题

[讨论] 有没有必要让 uppermem 命令复活?

[复制链接]
跳转到指定楼层
1#
发表于 2021-9-6 15:13:50 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在 GNU Grub 0.97 时代,基本上也就是MSDOS时代,如果系统内存超过一定的大小,比如,超过2G时,使用 SYSLinux 的 memdisk ,按命令:


   kernel /grub/memdisk c=256 h=4  s=36 floppy
   initrd  /grub/msdos.zip
那么,这个操作会失败。

如果按命令:

   uppermem 65536 (大致数字。因为年代久远,记不清了)   
   kernel /grub/memdisk c=256 h=4  s=36 floppy
   initrd  /grub/msdos.zip

这样操作就正常了。

现在,到了 grub4dso 0.4.6a 时代,大部分计算机的内存都超过了2G,如果按照:

  kernel /grub/memdisk c=256 h=4  s=36 floppy
   initrd  /grub/msdos.zip


操作,可以顺利进入DOS系统,但也会出现一些问题。比如,容易死机、鼠标失灵。总之会有一些问题。

那么,如果 uppermem 命令复活,会不会解决这些问题?虽然现在连基于 NT5.X的 WinPE 都不一定在新机器上运行了,但对一些老机器,DOS也有一些用途。

请各位大神开示!

2#
 楼主| 发表于 2021-11-28 18:32:44 | 显示全部楼层
GNU Grub 0.97 再也找不到了。

看了历史记录 ,grub4dos  0.4.4   2007-12-14 及之前的版本才有 uppermem 命令,也找不到了。

点评

http://git.savannah.gnu.org/cgit/grub.git/log/?h=grub-legacy  详情 回复 发表于 2021-11-28 19:58
为您找到 grub 0.97 的镜像项目: https://github.com/jezze/grub-legacy  详情 回复 发表于 2021-11-28 19:20
回复

使用道具 举报

3#
 楼主| 发表于 2021-11-28 21:36:43 | 显示全部楼层
先谢过各位大侠的热忱指导!


楼上两位大侠说的地方都是源码。

我在这里找到了一个有成品的。看日期还是今年 8月 的。

经过初步测试,里面有 uppermem 命令。但无论是否执行  uppermem 65536 命令,效果似乎和 grub4dos 0.4.6 对 Msdos 的一些程序都差不多,尤其是对 保护模式的程序 :死机、或者退出。

下面是下载地址:

Debian -- 在 sid 中的 grub-legacy 软件包详细信息
https://packages.debian.org/sid/grub-legacy
.deb 文件解包后,所有需要的文件 在 \usr\lib\grub\i386-pc下.

我是在 grub4dos 0.4.6a 下使用如下命令调用它的:
chainloader --force --load-segment=0 --load-offset=0x8000 --boot-cs=0 --boot-ip=0x8200 /boot/grub/stage2.bin

这里。把 grub 的 stage2 改名为 stage2.bin 了。不然grub4dos 不认它。
-
另外,在它里面执行 root (hd0,3),它把我优盘上的fat32认成了fat。如果不使用 root (hd0,3) ,它就不能 configfile 其它菜单文件,说是不能mount设备。我的优盘只有一个分区,使用 ultraiso 写成 usb-zip+ v2 模式。

硬盘上的 ntfs 分区也说是未知的分区。
回复

使用道具 举报

4#
 楼主| 发表于 2021-11-28 21:39:27 | 显示全部楼层
不点 发表于 2021-11-28 19:29
为您找到一个早期 grub4dos 的站点,是维护者 bean 建立的。

https://sourceforge.net/projects/grub4do ...

我再看看这里。
回复

使用道具 举报

5#
 楼主| 发表于 2021-11-28 22:04:41 | 显示全部楼层
本帖最后由 blank007 于 2021-11-28 22:07 编辑
不点 发表于 2021-11-28 19:29
为您找到一个早期 grub4dos 的站点,是维护者 bean 建立的。

https://sourceforge.net/projects/grub4do ...

用 这个版本试了 ,结果很相似:

uppermem 65536

之后,启动dos,用mem查看,内存都是8位数的字节。

但也有差别:
,
使用 0.97 后,diskgenius 4.3 dos 版直接死机。用 grub4dos 9.4.3 , diskgen 4.3 dos 版正常运行。

pqdi2002  的 dos版, 0.97 环境下,直接死机。grub4dos 0.4.3 下卡死。
补充:还没有直接使用 grub4dos 0.4.3 启动 dos 镜像。是用 grub4dos 0.4.6a 启动 grub4dos 0.4.3 后,再启动dos镜像的。
回复

使用道具 举报

6#
 楼主| 发表于 2021-11-28 22:19:27 来自手机 | 显示全部楼层
再补充一小点,实际过程更复杂: 启动 过程,xorboot(BIOS版)→grub4dos 0.4.6a→grub4dos 0.4.3→uppermem 65536→msdos

点评

这不行。xorboot 有可能带来影响。测试过程中,请尽量直接使用 grub4dos,不要在前面插入未知步骤。测试完了之后,您随便,爱用啥用啥。 grub4dos 的开发过程中,在 grub4dos 之前插入 ntldr 和 bootmgr 是测试过  详情 回复 发表于 2021-11-29 06:21
回复

使用道具 举报

7#
 楼主| 发表于 2021-11-29 06:43:09 来自手机 | 显示全部楼层
昨晚是匆忙之间做的有限测试。还没有更改优盘格式。首先,优盘用ultraiso 做成 udb-zip+ v2 模式,分区引导记录是 xotboot BIOS 版。先调用 grub4dos 0.4.6,。再用 0.46a 调用 0.43 或0.97。dos是约 5M 的镜像,用winimage制作。

点评

不要用 WinImage,以前就有报告,它制作出来的 img 文件(DOS盘镜像文件)是含有扇区错误的,也就是说,不可用。 请用 imdisk 重新制作您的 img,或者,用 Linux 下的工具也行,如果有的话。  详情 回复 发表于 2021-11-29 07:47
回复

使用道具 举报

8#
 楼主| 发表于 2021-11-29 21:28:20 | 显示全部楼层
最终测试结果

经过各位大侠的指点和帮助,以及自己的一些努力,终于得到了确实的结果。下面就做个汇报。

一、测试环境:

    2009年左右的上网本,内存2G,CPU都是ATOM,硬盘 160G/256G。一为神舟小本、一为联想小本(固态硬盘)。分区格式:ext2/ext3/ntfs/fat/fat32。
    去年出的神舟优雅x4,内存8G,固态硬盘512G,分区GPT ,安装 win 10 x64。

    几个优盘。

    软件:Qemu x86 /x64 ,GNU Grub 0.95 /0.97 ,grub4dos 0.4.6a (2021-11-19)。memdisk 6.03。
          ultraiso 、WinImage (制作软盘镜像)、grubinst 1.4 (安装 grub4dos)

二、测试过程

    在上网本的环境下(内存2G),安装 GNU GRUB 0.95 /0.97 到优盘(fat/fat32格式,主引导记录  usb-zip + v2,分区引导记录 gnu grub 0.95/0.97 ),无论是否加     uppermem 65536 命令,

     执行:

          kernel /boot/grub/memdisk c=173 h=4 s=36 floppy
          initrd /boot/msdos/msdos.gz

         都能进入DOS环境。

      grub4dos 0.46a 下没有 uppermem 命令,但上述命令也正常执行,正常进入DOS环境。

     神舟优雅x4环境下,启用 qemu x86 (最多只能分配1G内存) 测试优盘,结果与上网本中相同。

     ——————————————————————————

     神舟优雅x4环境下,启用 qemu x64 (最多分配3G内存,所以分了3G) 测试优盘,情况有所不同。

      gnu grub 0.95 /0.97 执行:

          kernel /boot/grub/memdisk c=173 h=4 s=36 floppy
          initrd /boot/msdos/msdos.gz

       提示错误,不能加载 msdos.gz 。
      
        执行:

          uppermem 65536
      
          kernel /boot/grub/memdisk c=173 h=4 s=36 floppy
          initrd /boot/msdos/msdos.gz

        正常进入DOS。

       grub4dos 0.4.6a 执行:

        kernel /boot/grub/memdisk c=173 h=4 s=36 floppy
                initrd /boot/msdos/msdos.gz
      
        正常进入dos。

        执行:

                    map --mem /msdos/msdos.gz (fd0)
                    map --hook
                    rootnoverify (fd0)
                    chainloader (fd0)+1
        正常进入DOS。

三、结论与说明:

       我在话题的一次发言,言及 grub4dos 0.4.6a 下加载DOS镜像,出现的死机等现象,这与 gnu grub /grub4dos 及 uppermem 无关。有些程序不能运行或死机,是其自身问题。
  
       grub4dos 0.4.6a 的 map 命令,在3G以内的内存环境下,没有问题。memdisk 也是如此。 3G以上内存的情况,暂时没有办法测试。

       内存<=2G时,gnu grub 0.95/0.97/grub4dos,memdisk、uppermem 命令都能正常工作。

       内存>2G时,gnu grub 0.95/0.97 先执行 uppermem 65536 后,再调用 memdisk ,可以正常工作。grub4dos 0.4.6a 正常工作。3G以上内存的情况,暂时没有办法测试。


四、其它

     1.意外找到自己多年前用过的 gnu grub 0.97 。支持制作成光盘启动、支持ext2/fat/ntfs/iso9660文件系统。内存超过2G时,需先执行uppermem 65536 等限制可用内存大小,才能用memdisk加载镜像。
     2.意外找到另外一个版本的 gnu grub 0.97 ,发行日期:2021.08.27。支持ext2/fat/jfs/minix/xfs 文件系统。内存超过2G时,无需执行 uppermem 65536 等限制可用内存大小,即可直接使用 memdisk 加载镜像。
       下载地址:
        https://packages.debian.org/sid/grub-legacy

      3.grub4dos 0.4.6a 中,暂时没有必要复活 uppermem 命令。
      4. 2G内存可能是某些软件的分水岭。

        
     
       再次感谢各位大侠的热忱指导和帮助!!!
   

   
      
回复

使用道具 举报

9#
 楼主| 发表于 2021-11-30 11:20:44 | 显示全部楼层
不点 发表于 2021-11-30 10:48
好的,这个帖子中的测试,是个很好的资料。那么我就根据实验数据,说说相关的问题,并给出自己的分析。

...

这是测试时的截图和错误信息。

另外,上述测试的语句都是手动输入,逐条执行。引导程序也是独立安装,直接用 GNU GRUB 0.97 或者 GRUB4DOS 引导,没有链式引导。

Snap00000.jpg (49.64 KB, 下载次数: 86)

Snap00000.jpg

点评

这就证实了,正是 grub 0.97 的 initrd 命令不适应大内存,而并非其它情况。这样很完整,所有的问题都弄清楚了。  发表于 2021-11-30 12:03
回复

使用道具 举报

10#
 楼主| 发表于 2021-11-30 11:21:22 | 显示全部楼层
不点 发表于 2021-11-30 10:48
好的,这个帖子中的测试,是个很好的资料。那么我就根据实验数据,说说相关的问题,并给出自己的分析。

...

多谢大侠!!!
回复

使用道具 举报

11#
 楼主| 发表于 2021-11-30 12:11:36 来自手机 | 显示全部楼层
一直当成 “不校验”。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-18 02:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表