无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 2011yaya2007777
打印 上一主题 下一主题

支持含有碎片的文件仿真

    [复制链接]
151#
发表于 2014-5-27 09:34:44 | 只看该作者
本帖最后由 hlstudio 于 2014-5-27 10:20 编辑
pseudo 发表于 2014-5-27 00:31
嘿嘿,我一般采取武断方式:一旦用了SISO/run,就归它控制,不打算让它返回,万一返回就强制重启。

因为 ...


P大这是个好招,回来之后也面临内置菜单的约定不兼容,这几天尽在折腾这个了。
SISO是个好东西,很省事,iso/gz/vhd/wim都可以一RUN了事,写起命令来简单,列出菜单的扩展性更是必要。
回复

使用道具 举报

152#
发表于 2014-5-27 09:38:27 | 只看该作者
又发现这个最容易犯的错误 “find --set-root”,这会在一大批机器上导致死机,原因说过多次,不再重复。

任何有可能访问软盘、光盘的命令,都可能导致死机。find 命令只是其中之一。

为保证不死机,必须为 find 命令增加防死机参数 --ignore-floppies 和 --ignore-cd,就是说,让 find 命令只在硬盘里面查找,这就安全了。

点评

禁止了搜索软驱,会不会连USB启动时识别为软盘的USB启动盘都搜索不了?  详情 回复 发表于 2014-5-28 13:02
回复

使用道具 举报

153#
发表于 2014-5-27 10:16:08 | 只看该作者
谢谢各位大大的出手,又翻回自己的老贴http://bbs.wuyou.net/forum.php?mod=viewthread&tid=208540
当年就是不能统一UD/CD/HD启动时的(bd)内容,后经J大提示修改fb菜单从而可以(ud)=(bd),现在理解SISO可能修改了(bd),但实测没有修改()
简单把所有菜单中的(bd)直接替换为(),实测没有问题,也暂时不用有风险的find --set-root命令,发现SISO也能在新版grldr中正常返回。
回复

使用道具 举报

154#
发表于 2014-5-28 13:02:27 | 只看该作者
不点 发表于 2014-5-27 09:38
又发现这个最容易犯的错误 “find --set-root”,这会在一大批机器上导致死机,原因说过多次,不再重复。
...

禁止了搜索软驱,会不会连USB启动时识别为软盘的USB启动盘都搜索不了?
回复

使用道具 举报

155#
发表于 2014-5-28 15:21:24 | 只看该作者
xianglang,在你说的情况,你完全可以用当前盘 () 来做。

grldr 启动时,当前盘是可以访问的,不管它是不是软盘。如果 grldr 是从软盘启动的,此时软盘当然是可以访问的。

就是说,启动时,你可以不用 find 命令,直接使用当前盘来定位文件,如果失败(即,不存在该文件),再用 find 来搜索各个硬盘的各个分区。如此一来,总是可以避免发生死机的。

回复

使用道具 举报

156#
发表于 2014-5-28 16:50:20 | 只看该作者
源码已同步更新上传。

点评

Google那里只有今年一月的版本,印象中好象它不提供下载了,那G4D的下载搬到哪去了?  详情 回复 发表于 2014-5-28 17:13
回复

使用道具 举报

157#
发表于 2014-5-28 17:13:32 | 只看该作者
chenall 发表于 2014-5-28 16:50
源码已同步更新上传。

Google那里只有今年一月的版本,印象中好象它不提供下载了,那G4D的下载搬到哪去了?
回复

使用道具 举报

158#
发表于 2014-5-28 18:08:14 | 只看该作者
现在新的编译版本不能上传。

你可以直接从本贴下载是一样的,改天再另外搞个下载吧。一直都没有时间搞。
回复

使用道具 举报

159#
 楼主| 发表于 2014-6-4 16:05:45 | 只看该作者
ntfs 文件系统支持 16Kb 以内的非常驻属性列表。
回复

使用道具 举报

160#
发表于 2014-6-5 00:01:04 | 只看该作者
用这个最新的版本, 用最新RUN安装XP和03一开始就死机了, 用老的版本没这个问题哦, 具体G4D版本信息不知道那里看

点评

貌似我这虚拟机测试没问题 你的是什么环境  详情 回复 发表于 2014-6-5 09:32
回复

使用道具 举报

161#
 楼主| 发表于 2014-6-5 08:20:27 | 只看该作者
进入菜单或命令行,顶部有版本信息。
回复

使用道具 举报

162#
发表于 2014-6-5 09:32:22 | 只看该作者
goodtime 发表于 2014-6-5 00:01
用这个最新的版本, 用最新RUN安装XP和03一开始就死机了, 用老的版本没这个问题哦, 具体G4D版本信息不知 ...

貌似我这虚拟机测试没问题  你的是什么环境

点评

物理机和虚拟机(vm workstation 10.0.1 build-1379776)测试都死机, 换g4d老版本没问题, 老版本是0.4.6a 2014-01-17 版本没问题, G4D新版本呢就是楼主的0.4.6a 2014-06-04 版本, RUN0525版本, 机器是兼容机, G  详情 回复 发表于 2014-6-5 21:05
回复

使用道具 举报

163#
发表于 2014-6-5 21:05:26 | 只看该作者
sratlf 发表于 2014-6-5 09:32
貌似我这虚拟机测试没问题  你的是什么环境

物理机和虚拟机(vm workstation 10.0.1 build-1379776)测试都死机, 换g4d老版本没问题, 老版本是0.4.6a 2014-01-17 版本没问题, G4D新版本呢就是楼主的0.4.6a 2014-06-04 版本, RUN0525版本, 机器是兼容机, G41芯片, RUN放在UD里, ISO文件放在,U盘的NTFS可见分区里,

点评

试着把iso文件换一个分区呢 估计可能和文件列表有关系  详情 回复 发表于 2014-6-5 21:40
回复

使用道具 举报

164#
发表于 2014-6-5 21:40:09 | 只看该作者
本帖最后由 sratlf 于 2014-6-5 21:43 编辑
goodtime 发表于 2014-6-5 21:05
物理机和虚拟机(vm workstation 10.0.1 build-1379776)测试都死机, 换g4d老版本没问题, 老版本是0.4.6 ...


试着把iso文件换一个分区呢  估计可能和文件列表有关系

或者你可以先把卡死时的屏幕贴上来让我们看下
回复

使用道具 举报

165#
 楼主| 发表于 2014-6-6 06:40:30 | 只看该作者
以前 fsys_ntfs.c 占用内存 3e0000-3e5fff;现在占用 3e0000-3ebfff。
死机的原因应当是加载 G4D 之后,加载 WinXP 之前,运行的某个程序产生了内存冲突。

点评

小心点,有可能是你多占用的内存所导致的内存冲突。grub4dos 的内存占用比较乱,没有仔细归纳总结,很容易自己就产生冲突。  详情 回复 发表于 2014-6-10 11:14
最近一次的修改是否有问题 如下图 之前的版本没问题  详情 回复 发表于 2014-6-8 13:46
回复

使用道具 举报

166#
发表于 2014-6-8 13:46:26 | 只看该作者
2011yaya2007777 发表于 2014-6-6 06:40
以前 fsys_ntfs.c 占用内存 3e0000-3e5fff;现在占用 3e0000-3ebfff。
死机的原因应当是加载 G4D 之后,加 ...

最近一次的修改是否有问题  如下图  之前的版本没问题

捕获.PNG (18.31 KB, 下载次数: 182)

捕获.PNG
回复

使用道具 举报

167#
 楼主| 发表于 2014-6-10 10:59:22 | 只看该作者
压缩文件映射时应当使用 --mem 参数解压到内存。
以前版本对于压缩文件映射时没有 --mem 参数,则提示错误60:文件在磁盘不连续。当前版本没有提示,以后打个补丁。
回复

使用道具 举报

168#
发表于 2014-6-10 11:14:41 | 只看该作者
2011yaya2007777 发表于 2014-6-6 06:40
以前 fsys_ntfs.c 占用内存 3e0000-3e5fff;现在占用 3e0000-3ebfff。
死机的原因应当是加载 G4D 之后,加 ...

小心点,有可能是你多占用的内存所导致的内存冲突。grub4dos 的内存占用比较乱,没有仔细归纳总结,很容易自己就产生冲突。
回复

使用道具 举报

169#
发表于 2014-6-11 09:57:34 | 只看该作者
请教大大,现在的 GRUB4DOS 0.46a 支持早就支持 usb 驱动了,原来看帖子里说强制加载 usb 驱动是要修改grldr文件里的两个字节。不知道现在最新版的还是这样修改吗?
回复

使用道具 举报

170#
发表于 2014-6-11 11:37:26 | 只看该作者
一个512MB 的 TF卡+读卡器组合,用FBINSTTOOL分了一个默认的UD区,剩下的空间为FAT可见分区。使用0.45所有版本作为引导时,两个区皆可见,UD区是(ud)而可见区为(hd0,0)。但是换用 2014-5-13 和 2014-6-4 的0.46A作引导时,UD区的(0x23)正常,但是可见分区却失踪了!出现的错误如下:

Warning! Invalid first FAT entry(=0x7FFFFFF0) !
find --set-root /GRUB/LDRNTD
Error 15:File not found
回复

使用道具 举报

171#
 楼主| 发表于 2014-6-11 15:24:42 | 只看该作者
本帖最后由 2011yaya2007777 于 2014-6-11 16:26 编辑
原来看帖子里说强制加载 usb 驱动是要修改grldr文件里的两个字节

在菜单或命令行输入: usb --init

一个512MB 的 TF卡+读卡器组合

请上传磁盘镜像文件.

点评

加入 usb --init 命令解决问题。谢谢丫丫。  详情 回复 发表于 2014-6-11 20:23
回复

使用道具 举报

172#
发表于 2014-6-11 20:23:48 | 只看该作者
2011yaya2007777 发表于 2014-6-11 15:24
在菜单或命令行输入: usb --init

加入 usb --init 命令解决问题。谢谢丫丫。
回复

使用道具 举报

173#
 楼主| 发表于 2014-6-11 20:31:48 | 只看该作者
加入 usb --init 命令解决问题。

我还是想弄清楚不加载 usb 驱动,为什么会丢失可见分区。方便的话,请上传TF卡的镜像文件。

点评

说明一下,我的那个LDRNTD文件,是放在可见区的/GRUB目录下的,UD区里也同样有/GRUB假目录,不过没有这个文件。UD区导致的镜像文件,请点击这个链接 http://pan.baidu.com/s/1gdDZO0j 下载。  详情 回复 发表于 2014-6-11 20:43
回复

使用道具 举报

174#
发表于 2014-6-11 20:43:06 | 只看该作者
2011yaya2007777 发表于 2014-6-11 20:31
我还是想弄清楚不加载 usb 驱动,为什么会丢失可见分区。方便的话,请上传TF卡的镜像文件。

说明一下,我的那个LDRNTD文件,是放在可见区的/GRUB目录下的,UD区里也同样有/GRUB假目录,不过没有这个文件。UD区导致的镜像文件,请点击这个链接 http://pan.baidu.com/s/1gdDZO0j 下载。
回复

使用道具 举报

175#
发表于 2014-6-11 22:26:53 | 只看该作者
我晕,可能我之前搞错了,加 usb --init 命令也是不成功的,而我成功的是0.45C的版本,因为我一个小失误,0.46A的GRLDR并没有放在UD区的根目录下。刚才再试了几次,在外置菜单或者加载外置菜单后,加 usb --init 命令会提示找不到USB设备。而在内置菜单第一行加入 usb --init 命令,则紧接着的 configfile /GRUB/MENU-UD.LST 会无效,直接进入命令行状态。再在命令行状态下输入 configfile /GRUB/MENU-LINUX.LST 也会没有反应,而 ls (ud)/ 时确认有这个外置菜单文件。至此,情况似乎更复杂了。
回复

使用道具 举报

176#
发表于 2014-6-12 08:48:23 | 只看该作者
xianglang 已经报告得很清楚了:

Warning! Invalid first FAT entry(=0x7FFFFFF0) !

这个 FAT 分区的首个 FAT 表项是 0x7FFFFFF0,这是非标准的,就是说,微软公开的 FAT 标准里面没有这个。

这个早就发现了。我认为是微软或某个厂家故意制造的不兼容,目的是破坏 GNU GRUB 的运作。这个问题在 GRUB legacy 时代就出现了。我怀疑是 Windows 或者某个恶意程序修改 FAT 表首项造成的。

在我修补的 FAT 代码中,已经 work around 了该问题,所以不会出现识别不了 FAT 分区的问题。yaya 后来编写的 FAT 代码,可能没有考虑这个问题,所以就暴露出问题了。
回复

使用道具 举报

177#
 楼主| 发表于 2014-6-12 10:27:45 | 只看该作者
清楚了,立即修正。
回复

使用道具 举报

178#
 楼主| 发表于 2014-6-12 20:33:22 | 只看该作者
文件系统的缓冲区不能超过 32K,在 0x3e0000-0x3e7fff 之间。ntfs 文件系统的问题已经修正,支持 8K 以内的非驻留属性列表。
fat 文件系统的识别问题已经修正。
对于压缩文件映射时不使用 --mem 参数,会返回错误提示。
完善了 iso9600_Joliet 文件格式的识别问题,应对 mkisofs2.01 产生的 bug。
回复

使用道具 举报

179#
发表于 2014-6-12 21:54:25 | 只看该作者
今天的版本解决了找不到可见区的问题,但是在菜单下按C键进入命令行界面,使用 usb --init 命令后,再使用诸如 configfile /grub/menu.lst 命令时,就加载不了菜单,就连已经加载过的菜单,再按 ESC 键都不能返回了。

usb --init 出现的提示信息是:
Error 81. No USB device found. USB device enumeration failed, Try to restart.
回复

使用道具 举报

180#
发表于 2014-6-12 22:03:29 | 只看该作者
好长时间没关注 g4d 了, 这个碎片意思是不是可以文件不用连续啦。
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-24 01:03

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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