chenall 发表于 2019-11-13 13:20 grub2我倒是用过一些,用法已经跟grub4dos差别很大(还需要个人定制),而且,过于繁琐。当然,能够将Grub4dos的主要功能移植上去也是一个比较好的解决方案。另一个兄弟(@wintoflash) 已经解决了map的问题,对于我来说,如果能够如同Grub4dos那样识别ntldr、io.sys、bootmgr及其他可以chainloader的东西,那么基本上就实现了90%的主要功能。 |
Climbing 发表于 2019-11-9 12:07 要使用EFI的话, 我倒是觉得可以研究一下GRUB2 然后想办法把一些GRUB4DOS特有的功能移稙过去. 要完全移稙一是比较麻烦,二是目前没有人做这个事情. 我还没有使用过GRUB2,也不知目前GRUB2的具体情况(有大致看了下应该功能还是挺强的) 因工作的关系,现在没有太多时间研究这些. ![]() |
大大们商讨下G4D支持UEFI+GPT的方法吧,真的感觉G4D很方便 |
我把所有使用UEFI启动的新机硬盘都改成MBR模式,然后安装grub4dos 氏啊,屮也用惯了 grub4dos 。。。 现在见着块硬盘,就想搞 grub4dos 装上去,不装就不舒服。 ![]() |
本帖最后由 liuzhaoyzz 于 2019-6-27 14:59 编辑 关于grub4dos访问GPT分区的情况,在一个网友的电脑上似乎遇到过,他发来了截图。但我不确定是什么原因,另外由于是网友的电脑,操作系统没有启动,grub4dos没法远程,操作不方便,所以我也无法准确地汇报和反馈问题。大概的情况是,vdf所在的分区是GPT分区,vdf放在磁盘靠后面的扇区可能vdf无法被找到,会出现我的电脑里面能够看到vdf存在,但是引导的时候find --set-root xxxx.vdf提示“File not found”的问题,grub4dos版本是2019-03-25,最后似乎是把vdf放在MBR硬盘上解决问题,记不清了。 反馈这些问题需要一定的操作能力才行,不是自己的电脑很难反馈,因为需要较多测试来定位问题。 |
2011yaya2007777 发表于 2019-6-27 09:01 我暂时抽不处时间弄这个事了。 |
2011yaya2007777 发表于 2019-6-27 07:39 vol 的毛病只是一个小毛病,不影响大局。真正的问题是,grub4dos 无法访问那个 4T 大硬盘上 GPT 里面的分区中的文件。yaya 若有时间,可以去那里看看。如果能解决问题,当然是最理想的了。 |
最新进展—— 报告者不耐烦了,他表示不想继续提供报告了,他说他已经提供了足够的信息。但他并没有充分地回应大家的要求,他是一种敷衍了事的态度。针对他的表白,我也给出了同样的表示。我说,如果你放弃,我也放弃,就当成不曾发生过这些 issues/bugs/reports。 我原打算在 wuyou 和 reboot.pro 之间当个翻译(传话筒),方便开发者和 bug 报告者互相交流、对话。现在不需要了。我可以把节省下来的时间用在别的方面了。 |
本帖最后由 不点 于 2019-6-26 06:57 编辑 从图片可以看到,vol 命令先查找软盘,从软盘 0 一直查到软盘 A。这是一个错误。 看 vol 执行过程中的这段代码: /* Search in hard disks first, since floppies are slow */ for (drive = 0; drive <= 0xff; drive++) 在注释中说,先查找硬盘,但实际的代码,却是先查找软盘。 第二个错误是,当启动盘是 (hd0) 而不是 (fd0) 的时候(这也正是报告者的实际情况),grub4dos 会在 bios 数据区中设定软盘个数为 0, 有效屏蔽掉软盘操作。但 vol 和 uuid 命令不管软盘个数的设置,直接使用软盘 0 ~ 10。 第三个错误是,bios 的软盘个数不可能超过 4 个,而 uuid 和 vol 命令使用了 11 个软盘(软盘0 ~软盘10,也就是图片中显示的软盘 0 ~ A,十六进制)。 所查找的这 11 个软盘,正好与 uuid 和 vol 中的代码是吻合的: if ((drive > 10 && drive < 0x80) || (drive > (*((char *)0x475) + 0x80) && drive < 0x9f)) continue; 可能还有其它错误。 11 个软盘查找结束后,该去查找硬盘了。然而此时却死机了。就不知道,究竟是访问硬盘时死机了呢,还是在没开始访问硬盘之前就已经死机了。 这个 BIOS 确实在误导我们。它没有那么多软盘,却让那么多软盘的 EBIOS 接口返回成功。 而且,所有的软盘,其扇区 0 都是可读的,而且,能够从其扇区 0 计算出 H=255, S=63。怀疑这全都是 USB 硬盘的数据。就是说,这个 BIOS 让所有的软盘的扇区 0 的数据,都取自 USB 硬盘的扇区 0。 此时估计一下,死机的原因。 当 grub4dos 去访问不存在的那些软盘的时候,BIOS 本身可能发生了错乱(或者是 BIOS 故意自杀),导致此后在访问硬盘时死机。这个可能性较大。当然,死机还可能是别的原因。 补充: 刚刚看了 0.4.5c 里面的 uuid 命令,是正确的,不存在上述问题。 |
我好喜欢grub4dos的,可惜换了新笔记本uefi+GPT,g4d完全不能用了![]() |
虽然不太懂,支持不点大师,期待结果来学习下 |
在命令行下:debug=3 然后:vol |
可能是2t的原因。低于这个级别,没遇到过。 |
本帖最后由 liuzhaoyzz 于 2019-6-25 09:06 编辑 bfgxp 发表于 2019-6-25 08:26 确实是这样子,虽然g4d不能直接从GPT分区启动,但是访问GPT里面的文件很有必要,不说多的,能够访问GPT分区的2TB以内的扇区就足够了。虽然未来是UEFI的,但是BIOS下很多场景下引导器比如grub2、xorboot、bootmgr是无法胜任的,比如用于RAMOS的场景。 UEFI下,目前没有什么引导工具能够实现grub4dos的map功能。 |
Foster_yen 发表于 2019-6-25 07:18 g4d是不支持efi启动,但对gpt分区的访问是支持的,所以出现了访问分区的bug还是要解决的 |
Powered by Discuz! X3.3
© 2001-2017 Comsenz Inc.