无忧启动论坛

标题: 准备对 grub4dos 的启动过程进行微调,请留意 [打印本页]

作者: 不点    时间: 2014-10-9 09:11
标题: 准备对 grub4dos 的启动过程进行微调,请留意
本帖最后由 不点 于 2014-10-10 15:59 编辑

最近 mdyblog 报告,说 wee 下启动 grub.exe 没能传递当前 root 值到新的环境。我看了 wee 的代码,发现 wee 已经做了传递的工作,只是 grub4dos 启动逻辑过于复杂,才导致 grub4dos 忽略了 wee 所传递的 root 信息。

我们知道,grub4dos 的文件结构是 “头部+主体”。头部是用汇编语言写成的,具有搜索的功能。头部还有一个作用,那就是设定主体的 install_partition 以及 config_file(还可能有别的少量设置,我们本次不讨论)。

当初这两项设置之所以要在头部进行,是因为想直接支持 gnu grub legacy 的 pre_stage2,属于兼容性的考量。现在我们没有必要再去兼容 grub legacy 了,所以,头部的这两项设定,可以挪到主体(即 pre_stage2)里面,这样启动逻辑更加清晰,不至于产生混乱。兼容的越多,就越混乱。所以,我们头部代码今后不再支持加载原版的 grub legacy 里面的 pre_stage2(即,只支持加载 grub4dos 自己的 pre_stage2)。

本次改动就是准备撤销头部关于 install_partition 和 config_file 的两项设定,改为在主体中进行设定。

一般情况下不影响大家的使用。受影响的范围大概会是极少数对 grub4dos 进行深度定制的应用者。

调整之后会更方便那些深入研究 grub4dos 的应用者们。调整之后,install_partition 和 boot_drive 都可以被外部程序修改。


附件是个测试版,请 mdyblog 看看有没有问题。

说明:外部程序可以修改 boot_drive 和 install_partition(位于 grub4dos 的内部变量区),修改后的值将用来强制设置为启动设备。换句话说,启动 grub4dos 之前,用户可以控制启动后的 boot 设备和 root 设备为用户自己设定的 boot_drive 和 install_partition,只需把自己要设置的值注入到 grub4dos 主体部分的内部变量区,然后启动修改后的 grub4dos 即可达到目的。

对于 mdyblog 来说,在 wee 中通过设置 root 然后启动 grub.exe,也应该可以把 root 传递给新的 grub4dos 环境。

grub4dos-0.4.5c-2014-10-10.7z

258.41 KB, 下载次数: 24, 下载积分: 无忧币 -2

这个是0.4.5,可以提交了

grub4dos-0.4.6a-2014-10-10.7z

267.8 KB, 下载次数: 14, 下载积分: 无忧币 -2

这个是 0.4.6,如果没问题,也可以提交


作者: 糊涂    时间: 2014-10-9 09:16
关注中……
感谢不点大师提醒!
支持
作者: 糊涂    时间: 2014-10-9 09:18
WEE本地写入一直在使用,相当方便!

作者: devilma    时间: 2014-10-9 09:55
越来越好了。。。。辛苦了
作者: yynq    时间: 2014-10-9 10:33
顶起! 支持!!
作者: xintiandi    时间: 2014-10-9 21:12
先占个位置。
作者: mdyblog    时间: 2014-10-10 13:29
可以了。  屏幕截图00139.png (2.52 KB, 下载次数: 0)
下载附件
26 秒前 上传




有没有0.46?

为什么2个版本 长时间 并存? 还要用户选择,不太好。
用户直接总是用最新版本的好。

就一个0.46 就好了,而0.45c作为旧版好了。


作者: 不点    时间: 2014-10-10 13:41
谢谢你的报告。不等着你报告成功,我不敢对 0.4.6 进行改动。

0.4.5是个参照物。也属于一套稳定的系统了。0.4.6的革新,需要有参照物才行。当用户发现0.4.6不行而0.4.5行的时候,那么就提醒开发者,有bug需要解决了。

待到某个时刻,0.4.6能够全面取代 0.4.5的时候,那时才会只维护一个版本。


作者: 不点    时间: 2014-10-10 16:02
本帖最后由 不点 于 2014-10-10 16:15 编辑

既然 0.4.5 的已经证明没问题,那就可以提交了。源代码整理了一下,需要重新下载。编译结果应该与昨天一样。

今天上载了 0.4.6,估计也没问题的吧。试试看,如果没问题,也可以提交。


作者: 2011yaya2007777    时间: 2014-10-12 11:39
今天上载了 0.4.6,估计也没问题的吧。试试看,如果没问题,也可以提交。

已经提交更新。
作者: zhaohj    时间: 2014-10-13 10:16
编译后的文件怎么大了很多啊?是否跟编译版本有关?




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