无忧启动论坛

标题: 请教GRUB4DOS虚拟内存盘失败的问题 [打印本页]

作者: chishingchan    时间: 2012-9-13 19:08
标题: 请教GRUB4DOS虚拟内存盘失败的问题
FbinstTool.exe 工具制作的U盘启动盘
FLOPPY.IMA 是 3.62MB

菜单如下:
title  【3】 手动硬盘分区
kernel (ud)/memdisk.gz c=80 h=2 s=48 floppy
initrd (ud)/FLOPPY.IMA c=80 h=2 s=48 floppy
write --offset=885 (fd0)/AUTOEXEC.BAT SPFDISK.EXE

目的:
选择手动硬盘分区项后向AUTOEXEC.BAT最后一行写入SPFDISK.EXE后并运行

错误提示:
Filename must be either an absolute pathname or blocklist
谷歌翻译:文件名必须是绝对路径或块列表

请问各位,菜单哪里写错了?如何修正?谢谢!
作者: chishingchan    时间: 2012-9-14 01:55
经过查看有关资料及不断的测试,搞掂了加载问题,
kernel (ud)/memdisk.gz c=80 h=2 s=48 floppy
initrd (ud)/floppy.ima
但是write那行运行出错,应该错在(fd0)身上?
作者: 不点    时间: 2012-9-14 03:32
没人搭理的一种可能情况是,人家认为你的错误是不可能发生的,错在你自己身上。比如说,你用了老版本的 grub4dos,不支持新的语法。诸如此类,自扰的结果。
作者: chishingchan    时间: 2012-9-14 15:58
谢谢#3不点兄解答!有这种可能!

立即下载了最新版本 grub4dos-0.4.6a-2012-06-19.7z 替换了旧版本的 grldr 文件,write --offset=885 (fd0)/AUTOEXEC.BAT SPFDISK.EXE 这行一样出错,因开始学习这个东东,没弄懂。之前都是搬人家的代码弄成的。我怀疑 kernel (ud)/memdisk.gz c=80 h=2 s=48 floppy 是不是挂载 floppy.ima 成了(hd?),之前 ima 文件是2.88M的时候是没问题的。

title  【3】 手动硬盘分区
kernel (ud)/memdisk.gz c=80 h=2 s=48 floppy
initrd (ud)/floppy.ima
write --offset=885 (fd0)/AUTOEXEC.BAT SPFDISK.EXE

把 write --offset=885 (fd0)/AUTOEXEC.BAT SPFDISK.EXE 注释掉就进入DOS命令提示符状态。证明上两行代码没问题。

[ 本帖最后由 chishingchan 于 2012-9-14 16:33 编辑 ]
作者: 不点    时间: 2012-9-14 16:49
>>> 立即下载了最新版本 grub4dos-0.4.6a-2012-06-19.7z 替换了旧版本的 grldr 文件

你或许并未成功替换。看看 grub 启动后屏幕顶行是否显示新版本的日期?

也许你的机器上有个很老版本的 GRLDR 在某个分区隐藏着,它可能总是获得控制。

Filename must be either an absolute pathname or blocklist 这条信息是 grub4dos 发出的,这是 write 命令不支持 --offset 参数的结果。

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

更正,抱歉没仔细看。

kernel (ud)/memdisk.gz c=80 h=2 s=48 floppy
initrd (ud)/floppy.ima
write --offset=885 (fd0)/AUTOEXEC.BAT SPFDISK.EXE

你在试图混用 memdisk 和 grub4dos 的功能。在你的机器上,(fd0) 可能不存在。因此,write 一行的 (fd0) 就是无效的设备。

正确的做法应该是这样的:
  1. map   --mem   (ud)/floppy.ima   (fd0)
  2. map   --hook
  3. write   --offset=885   (fd0)/AUTOEXEC.BAT   SPFDISK.EXE
复制代码

[ 本帖最后由 不点 于 2012-9-14 17:25 编辑 ]
作者: chishingchan    时间: 2012-9-14 17:27
标题: 回复 #5 不点 的帖子
之前 floppy.lima 是 2.88MB 的时候我也是你这样弄成功的,但是 floppy.ima 变成 3.72MB 后我就更改了以前的方式,因为听讲要加CHS参数。
让我再按照之前的方式试试,谢谢!!!


还是以前的启动方式成功了!我被CHS参数害了!不点的回复是我解决问题的动力,非常感谢!!!
  1. title  【3】 手动硬盘分区
  2. map --mem (ud)/FLOPPY.IMA (fd0)
  3. map --hook
  4. write --offset=885 (fd0)/AUTOEXEC.BAT SPFDISK.EXE
  5. chainloader (fd0)+1
  6. rootnoverify (fd0)
复制代码


我学的不精,还捣不懂呢!非标准的IMA文件是连贯性的好像MAP可以,不连贯的好像不行,是不是?

[ 本帖最后由 chishingchan 于 2012-9-14 17:39 编辑 ]




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3