无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 131|回复: 3
打印 上一主题 下一主题

[求助] 请yaya看看,g4d usb驱动未能将U盘盘号0x00映射到0x81

[复制链接]
跳转到指定楼层
1#
发表于 昨天 21:13 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wuwuzz 于 2024-11-25 21:16 编辑


1、很久以前yaya说过"加载g4d的usb驱动,驱动会将盘符A映射到C",这个功能很有用,正好能解决神舟
A470/K470笔记本BIOS的bug[即:BIOS始终把U盘当移动盘(软盘)处理,跳过MBR,导致UD、Ventoy失败],
之前测试SMI U盘时0x00能成功映射到0x81。直到今天,无意中换其他SMI U盘、Alcor6989 U盘测试,
usb --init之后,U盘盘号均未能像以前一样,被映射为0x8?,而是保持为0x00,见下图。测试机:
神舟A470/K470笔记本,G4D为最新0.4.6a 2024-02-26。



2、目前的临时措施,是对U盘做手术,量产分割为2个Lun,usb --init之后,会出现0x00、0x81两个磁盘
设备,然后再调整root为0x81所在设备(hd1,0),有些笨拙。


======================================================================

问:不知yaya能否对此做改进,消除0x00,强制设定盘号为0x8?

2#
发表于 昨天 21:35 | 只看该作者
我插言几句,不知是否有用。

usb --init 是执行 yaya 自己的代码。无论生成的是软盘 00h,还是硬盘 80h、81h,都不必害怕、担忧。

因为此时虚拟盘的 BIOS int13 代码是 yaya 自己写的,肯定会遵守 CHS、LBA 调用规范。无论 usb --init 生成的虚拟盘是软盘还是硬盘,都没问题。

点评

不行额,您没看清题目啊。 神舟buggy BIOS下,0x00会导致MBR被跳过,UD、Ventoy等格式盘特色会被废掉,引导失败。 (http://bbs.wuyou.net/forum.php?mod=viewthread&tid=437567)。 只有以usb --init为中  详情 回复 发表于 4 小时前
回复

使用道具 举报

3#
 楼主| 发表于 4 小时前 | 只看该作者
本帖最后由 wuwuzz 于 2024-11-26 02:59 编辑
不点 发表于 2024-11-25 21:35
我插言几句,不知是否有用。

usb --init 是执行 yaya 自己的代码。无论生成的是软盘 00h,还是硬盘 80h ...

不行额,您没看清题目啊。

神舟buggy BIOS下,0x00会导致MBR被跳过,UD、Ventoy等格式盘特色会被废掉,引导失败。
(http://bbs.wuyou.net/forum.php?mod=viewthread&tid=437567)。

只有以usb --init为中转,人为调整映射为0x8?,恢复固定盘属性,才能对付BIOS bug,
正常读MBR,挽救UD、Ventoy格式盘。

点评

我再试试,看看能否有帮助。 usb --init 的工作任务,(在用 int13 读 USB 盘数据时)不就是取代(接管)主板 BIOS 吗?否则,运行 usb --init 有啥用? usb --init 运行后,无论创建的是什么盘(软盘 00h,硬  详情 回复 发表于 19 分钟前
回复

使用道具 举报

4#
发表于 19 分钟前 | 只看该作者
wuwuzz 发表于 2024-11-26 02:57
不行额,您没看清题目啊。

神舟buggy BIOS下,0x00会导致MBR被跳过,UD、Ventoy等格式盘特色会被废掉 ...

我再试试,看看能否有帮助。

usb --init 的工作任务,(在用 int13 读 USB 盘数据时)不就是取代(接管)主板 BIOS 吗?否则,运行 usb --init 有啥用?

usb --init 运行后,无论创建的是什么盘(软盘 00h,硬盘 8?h),都能够正常使用了。不存在 MBR 被跳过的问题。因为 yaya 的 usb 驱动代码会从 USB 的首扇区开始建立虚拟盘( 00 或 8?h)。

假如 usb --init 之后,新创建的 00 或 8?h 盘不是从 USB 设备的首扇区开始访问 USB 设备,那么,这属于 yaya 代码的 bug。这样的话,您想通过 usb --init 来解决问题,就是不可能的了。这需要 yaya 先解决 bug,然后才能实现。

在 grub4dos 下,软盘和硬盘的处理方式是一样的。软盘可以带有 MBR 和分区表,这种情况,可以使用 (fd0,0)、(fd0,1)、(fd0,2)、(fd0,3)、(fd0,4) 等等来访问软盘上的那些分区(里面的文件)。同理,如果硬盘没有 MBR 和分区表,那么,硬盘上的“卷”直接就是 (hd0)【就像软盘那样】,而不是 (hd0,0)、(hd0,1)、(hd0,2) 之类的。

我猜,有可能是这个 00 软盘,把您给吓到了。其实您只要不害怕它就行了。

有鉴于您已经进入 grub4dos 环境,因此,您这里的问题,都是小 case,不是真正的大问题,不是“过不去的坎儿”。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 07:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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