无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: pppfj

[求助] 如何把grldr放置到扩容后的MBR中?

[复制链接]
 楼主| 发表于 2013-10-20 16:40:30 | 显示全部楼层
授人以鱼,不如授人以渔。感谢天涯、不点、Chenall等大师传授的“渔”,深层次理解了相关问题,学会自己拼接,就可以随时跟上G4D的版本更新了。
回复

使用道具 举报

发表于 2013-10-20 18:51:06 | 显示全部楼层
如果只是给自己用,知道自己的电脑支持 LBA,那么根本问题就不存在了,很容易做。因为 LBA 是线性地址,是一维的,是 “全球通用” 的。这一点就好比 UTF-8 语言字符编码也是全球通用的那样。而 CHS 是三维的,即,所谓的 “几何参数”,太复杂,不同的机器就不一样。所以,只要支持 LBA,那程序的编写就太简单了。本地硬盘是可以保证支持 LBA 的。

看到几位不是在本地硬盘上使用,而是在 U 盘上使用。假如主板不支持 LBA,那么其中有些方案就不行了,必须用 fbinst 才能保证最大的成功率。尤其是,Wee 也是依赖 LBA,所以,Wee 不能应付 USB 上的复杂情况。

除了 LBA 这个 “大问题” 以外,还有 “扇区数极限” 这个小问题。靠近磁盘开头的扇区容易被 BIOS 支持,而靠近磁盘尾部的扇区,就可能因 BIOS 的 “能力不济、鞭长莫及” 而无法访问了。即使是本地硬盘,其 BIOS 的扇区访问能力也是有极限的,有很多主板(是大量的主板),其 BIOS 只能访问 137G 的硬盘空间,不能访问超出这个极限的其他那些扇区数据。在 U 盘上,其极限值可能还要低。就是说,在支持 LBA 的情况下,仍然有 “扇区数极限” 的问题。不要以为,只要支持 LBA 就 “万事大吉” 了。

点评

G4D这类优秀的软件,用户群体比较宽泛,不同的用户有不同的需求特点。 如电脑专业从业人员,特别是搞电脑维修的,需要面对不同的硬件,因此需要最大限度的兼容性,此时采用fbinst的方案,可能是最佳选择。  详情 回复 发表于 2013-10-23 11:56
回复

使用道具 举报

 楼主| 发表于 2013-10-23 11:56:52 | 显示全部楼层
不点 发表于 2013-10-20 18:51
如果只是给自己用,知道自己的电脑支持 LBA,那么根本问题就不存在了,很容易做。因为 LBA 是线性地址,是一 ...

    G4D这类优秀的软件,用户群体比较宽泛,不同的用户有不同的需求特点。
   如电脑专业从业人员,特别是搞电脑维修的,需要面对不同的硬件,因此需要最大限度的兼容性,此时采用fbinst的方案,可能是最佳选择。
   对非电脑行业的普通使用着,面对的是相对比较固定的电脑和硬件,对兼容性的要求不是特别高,在自己身边的电脑上测试能用,一般就不再苛求什么了。当然,软件本身对硬件良好的兼容性是基础,这也是G4D的优势。
回复

使用道具 举报

 楼主| 发表于 2013-10-23 12:24:11 | 显示全部楼层
    wee+grldr的引导方式,让我想起来了grub2。在grub2中,有一个“应急模式”的功能,在由于某种原因grub2不能正常加载的时候,grub2就会进入“应急模式的命令提示符,仅仅支持极少量的几个命令。通过这几个命令,可以手动将grub2加载到正常状态。这是一个不错实践。
    wee+grldr的方式,我认为有异曲同工之妙。相比grub2的应急模式,wee的功能要强大许多,是优点;但相比GRUB2的应急模式和普通模式命令的高度一致性,wee的命令和grldr的命令还是有些区别的。wee能不能算作mini grldr呢?
    不点大师在19楼提到:
如果假定 BIOS 支持 LBA,那么只需 1 个扇区即可完成加载。Wee 就是这样做的。Wee 的第一扇区可以加载 127 扇区的引导代码。为什么是 127 呢?那是因为,这个 127 就是 LBA 模式的 BIOS 每次传递的最大扇区数。如果加载的扇区数超过 127,那么需要反复调用 BIOS 多次,可以用一个循环来实现。wee 只调用了一次 BIOS,所以,wee 不需要循环。要读取更多的扇区,必须修改 Wee 的代码,增加一个循环。

    是否有人愿意让wee的第一扇区不但为加载wee服务,也能够为加载grldr服务呢?在第一扇区留出一个位置,可以定义读入后面连续扇区的数量,简单易行,又具有灵活性。
回复

使用道具 举报

发表于 2013-10-23 18:36:37 | 显示全部楼层
如果用 wee 的第一扇区,前面说了,由于要读入超过 127 个扇区,那么,你得修改 wee 的代码,增加一个循环。而至于说要读入多少个扇区,那就不必细算了,统一读入 1024 个扇区(也就是 512K)即可,这也就是 GRLDR 的最大理论长度。wee 的第一扇区是引导代码。第二扇区是空白,这与 grldr.mbr 一样,是用来放置 “备份的 MBR 扇区”。第三扇区开始,就是 GRUB 的核心 pre_stage2。

不过,既然天涯海角给出了成功的办法,也就没必要用 wee 了。更因为这些办法都不能处理针对 CHS 的兼容性,所以,只要有一种就行,多了也就没有太大的意义。

回复

使用道具 举报

发表于 2013-12-3 22:45:23 来自手机 | 显示全部楼层
多多浏览,多多受益。感谢各位大师细心指导。
回复

使用道具 举报

发表于 2013-12-18 10:36:21 | 显示全部楼层
chenall 发表于 2013-9-29 10:44
用最新版weesetup

把grldr文件放在同目录下,扫行命令就会把grldr安装到mbr,当然了MBR需要有足够大的空 ...

C大,我制作了一个grldr,请问如何具体 嵌入wee中?感谢您。

点评

这个根本没有办法嵌入到wee中, 只是把GRLDR写入到硬盘MBR上而已,要求你的MBR空间有足够大,除非特殊格式化,一般情况下,都是不可能很大的.  详情 回复 发表于 2013-12-18 23:41
回复

使用道具 举报

发表于 2013-12-18 23:41:01 | 显示全部楼层
2012casscqt 发表于 2013-12-18 10:36
C大,我制作了一个grldr,请问如何具体 嵌入wee中?感谢您。

这个根本没有办法嵌入到wee中,
只是把GRLDR写入到硬盘MBR上而已,要求你的MBR空间有足够大,除非特殊格式化,一般情况下,都是不可能很大的.

点评

是的 我的意思也是把我的GRLDR放到MBR中, 请问如何实现?  详情 回复 发表于 2013-12-19 18:42
回复

使用道具 举报

发表于 2013-12-19 18:42:38 | 显示全部楼层
chenall 发表于 2013-12-18 23:41
这个根本没有办法嵌入到wee中,
只是把GRLDR写入到硬盘MBR上而已,要求你的MBR空间有足够大,除非特殊格式 ...

是的 我的意思也是把我的GRLDR放到MBR中, 请问如何实现?

点评

自己再仔细看一下#6的贴子,一个字一个字地看.  详情 回复 发表于 2013-12-20 11:04
回复

使用道具 举报

发表于 2013-12-20 11:04:24 | 显示全部楼层
2012casscqt 发表于 2013-12-19 18:42
是的 我的意思也是把我的GRLDR放到MBR中, 请问如何实现?

自己再仔细看一下#6的贴子,一个字一个字地看.
回复

使用道具 举报

发表于 2017-1-9 21:19:57 | 显示全部楼层
wuyou.com 怎么了?几年不来感觉。。。
回复

使用道具 举报

发表于 2017-4-10 23:40:31 | 显示全部楼层
收藏一下,以后学习
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-29 03:46

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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