无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 2926|回复: 5
打印 上一主题 下一主题

[求助] 请教GRUB4DOS虚拟内存盘失败的问题

[复制链接]
跳转到指定楼层
1#
发表于 2012-9-13 19:08:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
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
谷歌翻译:文件名必须是绝对路径或块列表

请问各位,菜单哪里写错了?如何修正?谢谢!
2#
 楼主| 发表于 2012-9-14 01:55:07 | 只看该作者
经过查看有关资料及不断的测试,搞掂了加载问题,
kernel (ud)/memdisk.gz c=80 h=2 s=48 floppy
initrd (ud)/floppy.ima
但是write那行运行出错,应该错在(fd0)身上?
回复

使用道具 举报

3#
发表于 2012-9-14 03:32:48 | 只看该作者
没人搭理的一种可能情况是,人家认为你的错误是不可能发生的,错在你自己身上。比如说,你用了老版本的 grub4dos,不支持新的语法。诸如此类,自扰的结果。
回复

使用道具 举报

4#
 楼主| 发表于 2012-9-14 15:58:08 | 只看该作者
谢谢#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 编辑 ]
回复

使用道具 举报

5#
发表于 2012-9-14 16:49:58 | 只看该作者
>>> 立即下载了最新版本 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 编辑 ]
回复

使用道具 举报

6#
 楼主| 发表于 2012-9-14 17:27:20 | 只看该作者

回复 #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 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-16 19:28

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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