Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

将分区格式化为exfat格式后, 0.46a版本的g4d无法引导 #427

Open
xhzkp opened this issue Sep 17, 2023 · 1 comment
Open

将分区格式化为exfat格式后, 0.46a版本的g4d无法引导 #427

xhzkp opened this issue Sep 17, 2023 · 1 comment

Comments

@xhzkp
Copy link

xhzkp commented Sep 17, 2023

我下载使用的g4d版本0.46a链接如下:
http://grub4dos.chenall.net/downloads/grub4dos-0.4.6a-2023-08-18/

我操作的步骤和遇到的情况如下:

我将下面链接中的PE, 先使用ultraiso软件将ISO文件写入优盘,使用的参数是: U+V2 和 高端隐藏
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=437157

然后用 GRLDR内置菜单编辑器V5.0.2软件 修改 0.46a版本的 grldr , 修改的内置菜单如下
default 0
timeout 0
debug off

title PE
find --set-root /BOOTMGR
chainloader /BOOTMGR

然后用软件diskgenius, 把上面修改好的 grldr 拷到了 PE分区(FAT16格式)的根目录下

接着用软件bootice, 把0.46a版本的 grldr.mbr 恢复到优盘的 MBR

然后在我的两台电脑上测试优盘的引导情况, 此时, BIOS和UEFI双启一切正常, 但是有个问题, 就是优盘的UEFI引导项有两个, 这应该是因为ultraiso写入优盘后, PE分区是FAT16格式的, 而数据区是FAT32格式的, 所以, 我就用系统自带的右键格式化 将数据区格式化为exFat格式, 然后重新测试优盘引导, 然而此时出了新情况, g4d无法BIOS引导了, 报错如下图所示
grldr 文件应该就在 HD0,3 分区中, 但是图片中显示该分区没有找到 grldr 文件
5

为了验证是不是因为分区格式变化而导致的问题, 我又重新将数据分区格式化为了Fat32, 再次测试, 又恢复了正常的BIOS引导, 由此可见exfat分区格式的确导致了问题的产生, 貌似是MBR无法再搜索到FAT16下的 grldr 文件了

下面分别是正常和失败时优盘分区表详细信息, 对比后发现:仅有一个字母的变化, 这也正好验证了分区格式的变化: 0C是FAT32而07是exFat
-------------------------------------------------------------------------------------------BIOS正常引导时的分区表详细信息如下:
磁盘:1
磁盘信息 磁盘号 大小(字节) 柱面数 磁头数 扇数 扇区 媒体 签名 总线
1 30943995904 3762 255 63 512 11 000A0D74 7 MBR R
字符说明 激活 本分区起始 分区 本分区结束 本分区 本分区
激活为0x80 磁头_扇区_柱面 类型 磁头_扇区_柱面 起始扇区号 扇区总数
主分区1: 0x00 0x04 0x05 0x00 0x0C 0xFE 0xFF 0xFF 0x00 0x01 0x00 0x00 0x00 0x2D 0x8E 0x03
主分区2: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
主分区3: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
主分区4: 0x80 0x03 0x03 0x81 0x1E 0xFE 0xFF 0xFF 0x00 0x2E 0x8E 0x03 0xF4 0x05 0x0C 0x00
标志 : 0x55 0xAA
全部分区: 1 -2 -3 =4
分区 类型 激活(1) 起始(字节) 长度(字节) 隐藏扇区 结尾(字节) 物理# 盘符
1 0x0C 0 131072 30540431360 256 30540562432 1 G:
-2 0x00 0 0 0 0 0 2
-3 0x00 0 0 0 0 0 3
0 0x1E 1 30540562432 403433472 59649536 30943995904 4

-------------------------------------------------------------------------------------------BIOS引导失败时的分区表详细信息如下:
磁盘:1
磁盘信息 磁盘号 大小(字节) 柱面数 磁头数 扇数 扇区 媒体 签名 总线
1 30943995904 3762 255 63 512 11 000A0D74 7 MBR R
字符说明 激活 本分区起始 分区 本分区结束 本分区 本分区
激活为0x80 磁头_扇区_柱面 类型 磁头_扇区_柱面 起始扇区号 扇区总数
主分区1: 0x00 0x04 0x05 0x00 0x07 0xFE 0xFF 0xFF 0x00 0x01 0x00 0x00 0x00 0x2D 0x8E 0x03
主分区2: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
主分区3: 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
主分区4: 0x80 0x03 0x03 0x81 0x1E 0xFE 0xFF 0xFF 0x00 0x2E 0x8E 0x03 0xF4 0x05 0x0C 0x00
标志 : 0x55 0xAA
全部分区: 1 -2 -3 =4
分区 类型 激活(1) 起始(字节) 长度(字节) 隐藏扇区 结尾(字节) 物理# 盘符
1 0x07 0 131072 30540431360 256 30540562432 1 G:
-2 0x00 0 0 0 0 0 2
-3 0x00 0 0 0 0 0 3
0 0x1E 1 30540562432 403433472 59649536 30943995904 4

@xhzkp
Copy link
Author

xhzkp commented Sep 17, 2023

因为使用微PE制作的两分区PE优盘, 能将优盘的数据分区格式化任意格式(FAT32/exFat/NTFS), 还能保证BIOS和UEFI双启完美启动, 所以我提取了微PE的MBR, 发现其使用的G4D版本为0.4.5c(在BOOTICE中的显示), 然后恢复到楼上提到的无法BIOS引导的优盘, 问题就解决了, 看来确实是新版的BUG, 微PE的相关文件如下供参考, 注意它的MBR中更改了要搜索的文件grldr的名字为WEIPE
微PE老版g4d.zip

yaya2007 added a commit that referenced this issue Sep 22, 2023
. 修正grldr.mbr。 issues #427
. 增加变量menu_tab_ext,避免重入主菜单时重复加载背景图及字库。
  例如:calc *0x8312&2 > nul || splashimage /boot/grub/lt.jpg
        calc *0x8312&4 > nul || font /boot/grub/unifont.hex.gz
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant