无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3832|回复: 28
打印 上一主题 下一主题

[求助] grub2不能识别USB-CDROM吗?

[复制链接]
1#
发表于 2023-1-30 13:41:44 | 显示全部楼层
因为你加载了本不应该加载的模块
ohci uhci ahci ehci 以及 usbms 等设备本应由固件自行驱动,你加载了grub2的驱动,就导致这些设备不能访问了。

点评

生成.efi的时候ohci uhci ahci ehci删掉就好了吗? 其他的不用动?  详情 回复 发表于 2023-1-30 17:32
不加载能够识别吗?  详情 回复 发表于 2023-1-30 15:08
回复

使用道具 举报

2#
发表于 2023-1-30 15:34:45 | 显示全部楼层
求道者 发表于 2023-1-30 15:08
不加载能够识别吗?

你用grub-mkimage生成bootloader的时候加进去的模块,启动的时候会自动加载。所以不能加这些模块。

点评

行,然后就是,那个修正链式加载的补丁没有用,而且此故障住出现在光盘文件系统上。  详情 回复 发表于 2023-1-30 15:36
回复

使用道具 举报

3#
发表于 2023-1-30 15:38:43 | 显示全部楼层
求道者 发表于 2023-1-30 15:36
行,然后就是,那个修正链式加载的补丁没有用,而且此故障住出现在光盘文件系统上。

怎么个“没有用”法?
那个补丁本来就和光盘没关系。
你是没办法在光盘上启动bootmgfw.efi的。

点评

老故障。  详情 回复 发表于 2023-1-30 15:55
回复

使用道具 举报

4#
发表于 2023-1-30 15:57:00 | 显示全部楼层

root是啥

点评

回家我再测测。  详情 回复 发表于 2023-1-30 15:57
回复

使用道具 举报

5#
发表于 2023-1-30 15:58:30 | 显示全部楼层
本帖最后由 wintoflash 于 2023-1-30 16:01 编辑

打了补丁之后源码里面根本就没有这个报错的语句了。。。
-  if (! dp)
+  if (dp != NULL)
     {
-      grub_error (GRUB_ERR_BAD_DEVICE, "not a valid root device");
-      goto fail;
-    }

点评

行我到时候检查一下源码。  详情 回复 发表于 2023-1-30 16:46
回复

使用道具 举报

6#
发表于 2023-1-30 17:40:14 | 显示全部楼层
求道者 发表于 2023-1-30 17:32
生成.efi的时候ohci uhci ahci ehci删掉就好了吗?
其他的不用动?

删。

点评

[attachimg]518945[/attachimg] 这就是要对BOOTMGR.EFI进行处理的那部分吗? 是光盘文件系统大小写敏感的原因?  详情 回复 发表于 2023-1-30 18:40
回复

使用道具 举报

7#
发表于 2023-1-30 18:58:18 | 显示全部楼层
求道者 发表于 2023-1-30 18:40
这就是要对BOOTMGR.EFI进行处理的那部分吗?
是光盘文件系统大小写敏感的原因?

这就是我前面说过的,bootmgfw.efi内部bug。
bootmgfw.efi处理光盘上文件的路径有问题。
启动efi文件时,bootloader会向efi文件传递一个uefi设备路径,以使得该efi文件获知自己所在的位置。
比如假设bootmgfw.efi位于某cdrom iso9660文件系统上,
正确的uefi设备路径应该为 USB1/CDROM0/boot/bootmgfw.efi (仅为示例)
但是,bootmgfw.efi 所期待的路径却是 USB1/CDROM0/ESP/boot/bootmgfw.efi (仅为示例)
虽然bootmgfw.efi不在ESP里面,但是却要求传递的路径里面包含ESP。
(上文中的ESP指的是ISO的El Torito FAT 软盘镜像 efiboot.img)

bootmgfw.efi还有一个bug,就是只认第一个光盘(CDROM0),有多个光盘的话就拉稀了。

点评

听起来手动设置一下文件夹大小写也可以把。  详情 回复 发表于 2023-1-30 19:10
回复

使用道具 举报

8#
发表于 2023-1-30 19:26:18 | 显示全部楼层
本帖最后由 wintoflash 于 2023-1-30 19:30 编辑
求道者 发表于 2023-1-30 19:10
听起来手动设置一下文件夹大小写也可以把。

生成的这个.efi有点大,如果只希望在U盘上的udf iso9660 f ...

你没看懂。
------
video_bochs video_cirrus serial hfsplus msdospart parttool lsefimmap lsefisystab lsmmap lspci lsacpi lssal 都删了。

不需要读lvm,删 lvm 和 diskfilter
不需要ext4,删 ext2
不需要exfat/ntfs,删exfat/ntfs

点评

[attachimg]518971[/attachimg] 一个一直都有的小问题。 内嵌菜单里我没有用insmod。 外置菜单清空了。 看起来有点像grub自己使用insmod的时候,insmod没有加载。  详情 回复 发表于 2023-1-30 23:20
还包括ESP啊。  详情 回复 发表于 2023-1-30 19:28
回复

使用道具 举报

9#
发表于 2023-1-31 08:14:58 | 显示全部楼层
本帖最后由 wintoflash 于 2023-1-31 08:19 编辑
求道者 发表于 2023-1-30 23:20
后面两个报错不用管了。
一个一直都有的小问题。
内嵌菜单里我没有用insmod。

这个问题你自己想办法。insmod是在kernel里面的。估计你自己菜单写得有问题。
ehci是usb2.0驱动。grub2里面的ehci/ohci/uhci/ahci驱动都不怎么靠谱。你用官方grub2启动windows,这些驱动没意义。

点评

这是内嵌菜单。  详情 回复 发表于 2023-1-31 12:04
我内嵌菜单没用insmod指令,菜单已经清空了。 他还是报这个错误。 很多人也说这个usb2驱动根本没法用。 一用就不加载设备。  详情 回复 发表于 2023-1-31 09:15
回复

使用道具 举报

10#
发表于 2023-1-31 10:31:34 | 显示全部楼层
求道者 发表于 2023-1-31 09:15
我内嵌菜单没用insmod指令,外置菜单已经清空了。
他还是报这个错误。
主要是寻思如果grub2的usb2支持如果到位。
那么grub2替换grub4dos需要做的额外努力也会更少。
老机子的BIOS USB经常跑在1.1,超级慢。

没map,这些都是白扯,只能启linux,启不了windows。
然后NTBOOT有移植到主线的mod吗?

没有。我写的ntboot就是wimboot套了个壳,根据wim/vhd路径自动修改bcd。

点评

也没,你在USB1.1下用wimboot加载PE也非常慢,usb --init就快多了。  详情 回复 发表于 2023-1-31 10:36
回复

使用道具 举报

11#
发表于 2023-1-31 12:11:23 | 显示全部楼层
  1. configfile ($prefix)/grub.cfg
复制代码

这个显然不对吧。$prefix/grub.cfg

点评

我换掉试试。  详情 回复 发表于 2023-1-31 13:23
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-4 02:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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