sunsea 发表于 2015-7-17 21:35:02

Grub4DOS0.4.6a map压缩文件存在问题

如题。
测试用版本是0PE_NBv1.5.1(2014-04-05)2in1+水老7PE_292MB,grub4dos-0.4.6a-2015-07-16-1.7z
加载0PENB.LZMA时提示如下


把0PENB.LZMA重新打包为Gzip冒名顶替0PENB.LZMA后结果如下,按数字键盘0键后一切正常


自带的2013-4-19 0.4.6a无此问题。

chenall 发表于 2015-7-17 21:49:45

跨度太大了,不好判断问题原因.

第二个截图0PE的估计更新一下外部命令就行了.

sunsea 发表于 2015-7-18 10:11:36

chenall 发表于 2015-7-17 21:49
跨度太大了,不好判断问题原因.

第二个截图0PE的估计更新一下外部命令就行了.

问题从grub4dos-0.4.6a-2015-06-09.7z开始出现的。

不点 发表于 2015-7-18 11:17:33

本帖最后由 不点 于 2015-7-18 11:23 编辑

6月9日的改动,如下代码有疑问:

disk_io.c
stage2/disk_io.c
@@ -2321,7 +2321,7 @@ grub_read (unsigned long long buf, unsigned long long len, unsigned long write)
      || fsys_table.read_func == pxe_read
#endif
#ifndef NO_DECOMPRESSION
-      || (compressed_file && decomp_type == 1)
+      || (compressed_file && decomp_type == DECOMP_TYPE_GZ)
#endif /* NO_DECOMPRESSION */
   )
   {
上述改动,只自动解压 gz 文件,而禁止了对 lzma 的自动解压。改动前是要自动解压所有的压缩格式的。



Steve6375 也说,6月5日是可靠版本。因此,6月9日可能确实引入了 bug。

chenall 发表于 2015-7-18 14:33:21

不点 发表于 2015-7-18 11:17
6月9日的改动,如下代码有疑问:

disk_io.c


这个代码之前是1也就是应该是DECOMP_TYPE_LZMA
是我的疏忽没有注意到.

这个是判断是否一次性读取的.
我觉得直接可以去掉后面的判断.只要是压缩格式的文件就全部一次性读取.不要显示进度.


sunsea 发表于 2015-7-18 20:35:49

chenall 发表于 2015-7-18 14:33
这个代码之前是1也就是应该是DECOMP_TYPE_LZMA
是我的疏忽没有注意到.



某些压缩文件也是十分大的,有进度能让人感觉安心,不会以为死机,尤其是在低速设备上

chenall 发表于 2015-7-18 21:12:25

对于某些压缩文件,显示进度条会使速度变得很慢还会出错(像LZMA),.其它的不清楚

也许应该考虑其它的显示进度方法.

sunsea 发表于 2015-7-24 15:32:29

chenall 发表于 2015-7-18 21:12
对于某些压缩文件,显示进度条会使速度变得很慢还会出错(像LZMA),.其它的不清楚

也许应该考虑其它的显示 ...

所以。。。我的这个问题到底是啥问题

chenall 发表于 2015-7-24 18:04:40

这个我今天传了一个版本已经修正.
页: [1]
查看完整版本: Grub4DOS0.4.6a map压缩文件存在问题