无忧启动论坛

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

支持含有碎片的文件仿真

    [复制链接]
961#
发表于 2015-3-22 21:14:13 | 只看该作者
527104427 发表于 2015-3-22 19:50
CHKPCI -u /DRIVERPACK.INI > (8)/chkpci.pci

这句得出来的结果是有问题的。CHKPCI 将ID和/DRIVER ...


我直接换成你最新的版本了。
在这个基础上重新改。
回复

使用道具 举报

962#
发表于 2015-3-23 11:42:30 | 只看该作者
反馈一个问题:
同样的语句:
font /BOOT/GRUB/UNIFONT.HEX
graphicsmode -1 640
splashimage /BOOT/GRUB/BACK.BMP.GZ

菜单显示在45c是正常的,换成46a就不能显示中文,也无背景。
这个情况只在网启时出现,其他方式启动两个版本表现一样。

点评

WaiGo 也反映这个情况。 PXE 才出问题。  详情 回复 发表于 2015-3-23 15:06
H大啊, 可以啊? [attachimg]212201[/attachimg]  详情 回复 发表于 2015-3-23 15:04
回复

使用道具 举报

963#
发表于 2015-3-23 15:06:08 | 只看该作者
hhh333 发表于 2015-3-23 11:42
反馈一个问题:
同样的语句:
font /BOOT/GRUB/UNIFONT.HEX

附议.
WaiGo 也反映这个情况。 PXE 才出问题。

点评

对,PXE网启时出现,换了几个网启工具都是如此,应该是46a的问题。  详情 回复 发表于 2015-3-23 15:43
回复

使用道具 举报

964#
发表于 2015-3-23 15:43:18 | 只看该作者
mdyblog 发表于 2015-3-23 15:06
附议.
WaiGo 也反映这个情况。 PXE 才出问题。

对,PXE网启时出现,换了几个网启工具都是如此,应该是46a的问题。
回复

使用道具 举报

965#
发表于 2015-3-23 19:44:50 | 只看该作者
@hhh333

有办法重现吗?可以把你的TFTP整个目录和配置传上来我测试一下.

点评

我这里也有一个全套文件包,前面在论坛发表过,解压到C盘就可以了,DHCP中有两个启动器,用pxesrv即可。  详情 回复 发表于 2015-3-24 08:02
很容易重现的。 见测试包。 测试方法: 1)如果LAN有DHCP,暂时关闭掉(或组建一个小的独立测试LAN)。 本测试的DHCP IP为192.168.1.220--230 解开。进入子目录。双击运行Tftpd32.exe即可。 客户端开机(或其  详情 回复 发表于 2015-3-24 05:26
回复

使用道具 举报

966#
发表于 2015-3-24 05:26:52 | 只看该作者
chenall 发表于 2015-3-23 19:44
@hhh333

有办法重现吗?可以把你的TFTP整个目录和配置传上来我测试一下.


很容易重现的。
见测试包: PXE测试包.7z (1001.33 KB, 下载次数: 12)
测试方法:
1)如果LAN有DHCP,暂时关闭掉(或组建一个小的独立测试LAN)。
本测试的DHCP IP为192.168.1.220--230
解开。进入子目录。双击运行Tftpd32.exe即可。
客户端开机<F12>(或其它键)选网卡启动即可


测试结果:
最近的0.45c正常,(20140304)

0.46a 到20141129还是正常的。
0.46a 到20141201就出现了PXE字体问题。
(20141201 还出现了单独的configfile失效的问题,可以无视,1202就修正了)

回复

使用道具 举报

967#
发表于 2015-3-24 08:02:45 | 只看该作者
chenall 发表于 2015-3-23 19:44
@hhh333

有办法重现吗?可以把你的TFTP整个目录和配置传上来我测试一下.


我这里也有一个全套文件包:http://pan.baidu.com/s/1jGHyFOi,前面在论坛发表过,解压到C盘就可以了,DHCP中有两个启动器,用pxesrv即可。
回复

使用道具 举报

968#
发表于 2015-3-24 08:12:54 | 只看该作者
试了一下确实有问题,目前看起来是由于gz压缩的关系,用lzma或不压缩都正常.

我试试看看能不能找到原因.
回复

使用道具 举报

969#
发表于 2015-3-24 10:14:02 | 只看该作者
刚上传了一个版本,应该解决了.

点评

试了,可以了  详情 回复 发表于 2015-3-24 10:38
回复

使用道具 举报

970#
发表于 2015-3-24 10:38:07 | 只看该作者
chenall 发表于 2015-3-24 10:14
刚上传了一个版本,应该解决了.

试了,可以了
回复

使用道具 举报

971#
发表于 2015-3-24 10:48:23 | 只看该作者
请教个 关于G4D的BIOS调用的问题。
下面代码你应该见过。

set edi=0x60000
set esi=0x60004
set ebp=0x60008
set esp=0x6000C
set ebx=0x60010
set bx=0x60010
set edx=0x60014
set dx=0x60014
set ecx=0x60018
set cx=0x60018
set eax=0x6001C
set ax=0x6001C
set gs=0x60020
set fs=0x60024
set es=0x60028
set ds=0x6002c
set ss=0x60030
set eip=0x60034
set cs=0x60038
set eflags=0x60003c

。。。。
:BIOS_INT
::初始化系统参数
echo -n > (md)0x300+1
write %cs% -1
write %ss% -1
write %esp% -1
write %eflags% -1
write %ds% -1
write %es% -1
write %fs% -1
write %gs% -1
write %eip% 0xFFFF%1CD
上面红色部分好像多个0 .从下面蓝色代码看, 这可能是 0x60000 所在扇区的内存地址。
是否为:
set eflags=0x6003c
???

点评

是的,是多了个0  详情 回复 发表于 2015-3-24 11:08
回复

使用道具 举报

972#
发表于 2015-3-24 11:08:19 | 只看该作者
本帖最后由 chenall 于 2015-3-24 11:14 编辑
mdyblog 发表于 2015-3-24 10:48
请教个 关于G4D的BIOS调用的问题。
下面代码你应该见过。


来源: http://chenall.net/post/grub4dos_date_bat/

谢谢提醒,文章已经同步修改更正.

点评

谢谢!!!!  详情 回复 发表于 2015-3-24 11:15
回复

使用道具 举报

973#
发表于 2015-3-24 11:15:52 | 只看该作者
chenall 发表于 2015-3-24 11:08
来源: http://chenall.net/post/grub4dos_date_bat/

谢谢提醒,文章已经同步修改更正.

谢谢!!!!
回复

使用道具 举报

974#
发表于 2015-3-25 17:33:41 | 只看该作者
本帖最后由 527104427 于 2015-3-25 17:46 编辑

想通过 grldr.mbr 来启动 mxldr (grldr 改名),该怎么操作?

grldr.mbr 里面已经没有 grldr 的相关字符了
回复

使用道具 举报

975#
 楼主| 发表于 2015-3-26 07:13:39 | 只看该作者
本帖最后由 2011yaya2007777 于 2015-3-26 07:19 编辑

0.4.6a 在 grldr.mbr 里面修改 0x5e3 处。
不是 8.3 格式。最大 12 字符。必须大写。若有“.”,不可省略。
回复

使用道具 举报

976#
发表于 2015-3-26 22:34:11 | 只看该作者
反映一个现象:%~f0   有是会 将第一个参数“粘”到后面。
脚本hello hello.zip (165 Bytes, 下载次数: 2) :
  1. !BAT
  2. echo [%~f0]
复制代码


测试效果:

点评

这个还是比较碰巧的情况下才会出现的,谢谢报告,已经修复,  详情 回复 发表于 2015-3-28 09:10
回复

使用道具 举报

977#
发表于 2015-3-28 09:10:56 | 只看该作者
mdyblog 发表于 2015-3-26 22:34
反映一个现象:%~f0   有是会 将第一个参数“粘”到后面。
脚本hello :

这个还是比较碰巧的情况下才会出现的,谢谢报告,已经修复,
回复

使用道具 举报

978#
发表于 2015-4-1 21:20:16 | 只看该作者
请问 ZIP 转HDD 的代码(假设本来还有一个 hd0)

代码1)
  1. map (0) (0x80)
  2. map (0x80) (0x81)
  3. map  --rehook
复制代码


代码2)
  1. map (0x80) (0x81)
  2. map (0)+1   (0x80)
  3. map  --rehook
复制代码

那个更好, 或者有更好的 代码。

回复

使用道具 举报

979#
发表于 2015-4-2 10:56:48 | 只看该作者
本帖最后由 不点 于 2015-4-2 11:12 编辑

你用 map --status 可以报告仿真的状态,因此可以比较一下,从而发现两种方法的不同之处。

我觉得,第一种写法就可以。第二种或许也行。

通常不需要第二种写法。第二种写法的应用场合大致是这样的:

当你需要把某个盘映射为一个虚拟盘,同时不想继承原盘的几何参数,而是希望虚拟盘具有不同的几何参数,此时就需要第二种写法,例如:

map --sectors-per-track=63 --heads=255 (fd0)+1 (hd0)

再例如:

map --sectors-per-track=63 --heads=255 (hd0)+1 (hd1)

如此创建的虚拟盘,具有 H=255,S=63 的几何参数。这就是说,虚拟盘的几何参数可以与原盘不同。

比较一下,如果像下面这样:

map (fd0) (hd0)
map (hd0) (hd1)

则虚拟盘继承了原盘的几何参数,这是整盘仿真,属于简单的直接映射。这种映射,直接由主板 bios 来确定几何参数。

而前面的改变几何参数的那种写法,则属于仿真范畴,就连几何参数也被虚拟化了。


【再补充】

如果执行 map (hd0) (hd0),则意味着用户准备撤销 hd0 的仿真,也即,让 hd0 恢复为真实的、原来的 bios 盘。

如果执行 map --sectors-per-track=63 --heads=255 (hd0)+1 (hd0),则会创建虚拟盘 (hd0),它的扇区数据等价于原来的、真实的 BIOS 盘 (hd0),但其几何参数则是虚拟的,即,不管原来的 (hd0) 是什么样的几何参数,新的虚拟 (hd0) 的几何参数将是固定的 H=255,S=63。

点评

谢谢!  详情 回复 发表于 2015-4-2 13:11
回复

使用道具 举报

980#
发表于 2015-4-2 13:11:51 | 只看该作者
本帖最后由 mdyblog 于 2015-4-2 13:13 编辑
不点 发表于 2015-4-2 10:56
你用 map --status 可以报告仿真的状态,因此可以比较一下,从而发现两种方法的不同之处。

我觉得,第一 ...



谢谢!
-


=================
>你用 map --status 可以报告仿真的状态,因此可以比较一下,从而发现两种方法的不同之处
---------------
没有ZIP盘, 所以没法试,所以不知道那个正确。

非常感谢。
回复

使用道具 举报

981#
发表于 2015-4-2 13:49:44 | 只看该作者
本帖最后由 mdyblog 于 2015-4-2 14:04 编辑

请问怎得到 某个版本的 commit 号。
git 下载源码需要。
download.json 中 0.46a下载没有 2015-02-21  之前的版。

如  0.46a 2015-01-18的就不知道了。

http://grub4dos.chenall.net/
中能否提供该信息。
下载源码(Download ZIP)  的后面 显示出来。

源码包为:42859b7aba5265fd242ef592a6fa6161089aca67.zip
能否 以后改为 grub4dos-0.4.6a_2015-03-29_42859b7a_42859b7aba5265fd242ef592a6fa6161089aca67.zip

42859b7a 就是    commit  号



  1. git clone git://github.com/chenall/grub4dos.git grub4dos_src
  2. cd grub4dos_src
  3. git reset --hard 42859b7a
复制代码

点评

一般情况下,一天只会提交一次并且自动编译生成一个版本,如果有多个提交后面就会有commit号,就像你所说的那样子的. 源码切换到某个版本用git 的checkout命令 如下命令,这样会在本地生成一个新的分支test就是对应4  详情 回复 发表于 2015-4-2 14:05
回复

使用道具 举报

982#
发表于 2015-4-2 14:03:06 | 只看该作者
本帖最后由 mdyblog 于 2015-4-2 14:06 编辑

请问, 我下载 0.4.6a-2015-01-18
编译 后的grldr 比网上下载的小将近1K
这为什么?

方法:
  1. git clone git://github.com/chenall/grub4dos.git grub4dos_src
  2. cd grub4dos_src
  3. git reset --hard 42859b7a
  4. make
  5. #再下载  0.4.6a-2015-01-18的源码ZIP,解开覆盖。然后:
  6. cd stage2
  7. touch *
  8. cd ..
  9. make
复制代码


///不知道 2015-01-18的 commit 号, 所以这么绕着覆盖。

  1. D:\DOC\0118\new 的目录
  2. 2015-04-02  13:53           294,665 grldr

  3. D:\DOC\0118\org 的目录
  4. 2015-01-18  09:45           295,513 grldr
复制代码

0118新旧对比.7z (228.41 KB, 下载次数: 1)
回复

使用道具 举报

983#
发表于 2015-4-2 14:05:45 | 只看该作者
本帖最后由 chenall 于 2015-4-2 14:07 编辑
mdyblog 发表于 2015-4-2 13:49
请问怎得到 某个版本的 commit 号。
git 下载源码需要。
download.json 中 0.46a下载没有 2015-02-21  之 ...


一般情况下,一天只会提交一次并且自动编译生成一个版本,如果有多个提交后面就会有commit号,就像你所说的那样子的.

源码切换到某个版本用git 的checkout命令
如下命令,这样会在本地生成一个新的分支test就是对应42859b7a的版本号.(在下载的BIN文件包里面就有介绍的 Get_Source_of_This_Build.txt)

不建议使用reset,reset --hard恢复所有其它的改动,到时需要重新pull.

  1. git clone git://github.com/chenall/grub4dos.git grub4dos_src
  2. cd grub4dos_src
  3. git checkout 42859b7a -b test
复制代码

点评

在下载的BIN文件包里面就有介绍的 Get_Source_of_This_Build.txt -------------- xiexie zhaodao l .  详情 回复 发表于 2015-4-2 14:11
git checkout 42859b7a -b test -------------------------- 42859b7a 这是什么? 怎么得到。 比如我要下载 0.4.6a2015-01-18, 怎么得到这个号码, 怎么下载这个版本(命令怎么写)?  详情 回复 发表于 2015-4-2 14:09
回复

使用道具 举报

984#
发表于 2015-4-2 14:09:26 | 只看该作者
chenall 发表于 2015-4-2 14:05
一般情况下,一天只会提交一次并且自动编译生成一个版本,如果有多个提交后面就会有commit号,就像你所说 ...

git checkout 42859b7a -b test
--------------------------

42859b7a 这是什么? 怎么得到。
比如我要下载 0.4.6a2015-01-18, 怎么得到这个号码, 怎么下载这个版本(命令怎么写)?
回复

使用道具 举报

985#
发表于 2015-4-2 14:11:41 | 只看该作者
本帖最后由 mdyblog 于 2015-4-2 14:18 编辑
chenall 发表于 2015-4-2 14:05
一般情况下,一天只会提交一次并且自动编译生成一个版本,如果有多个提交后面就会有commit号,就像你所说 ...


在下载的BIN文件包里面就有介绍的 Get_Source_of_This_Build.txt
--------------
谢谢,找到了。
回复

使用道具 举报

986#
发表于 2015-4-2 14:14:33 | 只看该作者
请问怎得到 某个版本的 commit 号。

1. 在download.json里面有一个commit这个就是了对应的源码版本号.
2. 在grub4dos的BIN文件包里面Get_Source_of_This_Build.txt里面也有对应的版本号.

至于编译出来的文件大小不一样,这个比较正常,因为编译环境不一样所编译的结果是不一样的.只要相差不是太大就行.

点评

请问, 我前面的 “覆盖法” 编译, 有问题吗? 我这么问,是因为我前面都是这么编译的。(以后当然不会这么绕了)  详情 回复 发表于 2015-4-2 14:20
Get_Source_of_This_Build.txt: 内容好像有点错误, 和你上面写的不同。 https://github.com/chenall/grub4dos.git 访问不了 git://github.com/chenall/grub4dos.git 可以  详情 回复 发表于 2015-4-2 14:17
回复

使用道具 举报

987#
发表于 2015-4-2 14:17:37 | 只看该作者
chenall 发表于 2015-4-2 14:14
1. 在download.json里面有一个commit这个就是了对应的源码版本号.
2. 在grub4dos的BIN文件包里面Get_Sou ...

Get_Source_of_This_Build.txt:
  1. -e Get the source code of this build in this way:

  2.         git clone https://github.com/chenall/grub4dos.git
  3.         cd grub4dos
  4.         git checkout f375ca6 -b build

  5. -e and now you may do a "make" to compile.
复制代码

内容好像有点错误, 和你上面写的不同。
https://github.com/chenall/grub4dos.git 访问不了
git://github.com/chenall/grub4dos.git 可以

点评

这个我下次改一下默认用git 用git/https都是可以的,不可以的话一般是你的系统环境问题. 另外download.json只提供最近10个版本,需要其它版本的可以在grub4dos.chenall.net里面查找 比如0.4.6a-2015-03-29版  详情 回复 发表于 2015-4-2 14:24
回复

使用道具 举报

988#
发表于 2015-4-2 14:20:10 | 只看该作者
chenall 发表于 2015-4-2 14:14
1. 在download.json里面有一个commit这个就是了对应的源码版本号.
2. 在grub4dos的BIN文件包里面Get_Sou ...

请问, 我前面的 “覆盖法” 编译, 有问题吗?
我这么问,是因为我前面都是这么编译的。(以后当然不会这么绕了)

点评

"覆盖"为什么要? "覆盖"了就是使用覆盖的版本了,即然是"覆盖"也没有必要下载旧版源码的.  详情 回复 发表于 2015-4-2 14:26
回复

使用道具 举报

989#
发表于 2015-4-2 14:24:59 | 只看该作者
mdyblog 发表于 2015-4-2 14:17
Get_Source_of_This_Build.txt:

内容好像有点错误, 和你上面写的不同。

这个我下次改一下默认用git

用git/https都是可以的,不可以的话一般是你的系统环境问题.

另外download.json只提供最近10个版本,需要其它版本的可以在grub4dos.chenall.net里面查找

比如0.4.6a-2015-03-29版
http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2015-03-29/

在这个页面里面就有对应的源码信息什么的有需要的话很容易编程获取的,只要读一下这个页面就可以从里面提取所有需要的信息了.

回复

使用道具 举报

990#
发表于 2015-4-2 14:26:29 | 只看该作者
mdyblog 发表于 2015-4-2 14:20
请问, 我前面的 “覆盖法” 编译, 有问题吗?
我这么问,是因为我前面都是这么编译的。(以后当然不会 ...

"覆盖"为什么要?

"覆盖"了就是使用覆盖的版本了,即然是"覆盖"也没有必要下载旧版源码的.

点评

覆盖法: 以前 是这样的编译的: 由于不知道 git怎么下载我要的指定版本0.46a10250118. 先下载个别的,再下载 指定版本0.46a10250118 的 ZIP包(http://grub4dos.chenall.net/downloads) 再覆盖。 详细如下:  详情 回复 发表于 2015-4-2 14:36
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-16 14:14

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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