无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: wlsk888

[求助] 为什么U盘引导ubuntu live ISO 出错?

  [复制链接]
发表于 2022-11-13 06:09:33 | 显示全部楼层
liuzhaoyzz 发表于 2022-11-12 18:45
Index of /ubuntu-releases/18.04.6/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror https://mi ...

这个图片:blksize=800,也就是 2KB,也就是光盘的 blksize。既然是光盘,为何还要检查其分区表是否合法?应该跳过检查才对啊?
回复

使用道具 举报

发表于 2022-11-13 08:04:48 | 显示全部楼层
这个现象,说明不稳定

原来在DOS下编译16位代码,有设置堆栈的问题。后来在32位保护模式,好像只设置代码段和数据段。现在在gcc下编译,找不到在哪里设置堆栈。在GRUB2看到一段有关堆栈的代码,但是没有看明白。

点评

你能否把 grub2 for efi 的堆栈相关代码贴出来,我看看。岁数大了,没有体力能查看庞大的 grub2 代码了。 它有可能设置得不合理。因为 ventoy 的图形模式,就很不稳定。我觉得,堆栈设置,是个可变因素,是个疑点  详情 回复 发表于 2022-11-13 11:32
肯定有堆栈的。只要是 x86 intel amd 的 cpu,肯定有堆栈。32 位和 64 位,都离不开堆栈。尤其是 32 位、64位,此时消耗的堆栈,反而更多,c 语言函数里面的数组声明,就占用堆栈。比如 char buf [ 512 ]; 就占用 51  详情 回复 发表于 2022-11-13 10:56
回复

使用道具 举报

发表于 2022-11-13 08:14:19 | 显示全部楼层
今天使用 2021-10-21 版本测试,成功启动。与 liuzhaoyzz 超级版主的结果一致。
今天使用 2021-11-05 版本测试,成功启动。与 liuzhaoyzz 超级版主的结果不一致。可能如不点大师所言,不稳定?
2022-10-27版本好难下载。一个链接封了,404找不到。一个链接点击没有反映,架梯子后勉强断断续续费时费力地摘下来。现在上传到这里备用。

BOOTX64.rar

140.95 KB, 下载次数: 3, 下载积分: 无忧币 -2

点评

http://dl.grub4dos.chenall.net/grub4dos-for_UEFI-2022-10-27.7z 2022-10-27版本下载地址,直接把旧版本的日期改下就可以直接下载了,不要梯子。就是changelog看不到。  详情 回复 发表于 2022-11-13 08:30
我之前都是在vmware虚拟机中测试的,因为需要频繁重启电脑,有时候会死机比较伤硬盘,chkdsk /f c:有时候修复不了磁盘错误。 grub4dos-for_UEFI-2021-11-05 版本,实体机测试,显示不了菜单,直接黑屏了,没法进  详情 回复 发表于 2022-11-13 08:28
回复

使用道具 举报

发表于 2022-11-13 08:28:43 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2022-11-13 08:58 编辑
2011yaya2007777 发表于 2022-11-13 08:14
今天使用 2021-10-21 版本测试,成功启动。与 liuzhaoyzz 超级版主的结果一致。
今天使用 2021-11-05 版本 ...

我之前都是在vmware虚拟机中测试的,因为需要频繁重启电脑,有时候会死机比较伤硬盘,chkdsk /f c:有时候修复不了磁盘错误。

grub4dos-for_UEFI-2021-11-05 版本,实体机测试,显示不了菜单,直接黑屏了,没法进一步测试。
虚拟机测试一直卡在这里,debug 3好像没显示出东西。

GPT-TEST-2022-11-13-00-22-44.png
===============================================================================
grub4dos-for_UEFI-2022-10-27版本,实体机出现错误提示,等待了一会儿,居然启动了ubuntu-18.04.6-desktop-amd64.iso。
QQ图片20221113085810.jpg

但是虚拟机测试,一直卡在这里:


GPT-TEST-2022-11-13-00-25-23.png

实体机和虚拟机表现不同,但是很多情况下需要在虚拟机进行测试,不然频繁强制重启比较伤硬盘。


点评

这个貌似很容易解决。加个判断:如果是光盘(blksize=0x800),就不检查分区表。当然了,如果不是死在此处,那就不好说了。也许是检查时没死机,以后某一时刻才死机。  详情 回复 发表于 2022-11-13 12:29
回复

使用道具 举报

发表于 2022-11-13 08:30:50 | 显示全部楼层
2011yaya2007777 发表于 2022-11-13 08:14
今天使用 2021-10-21 版本测试,成功启动。与 liuzhaoyzz 超级版主的结果一致。
今天使用 2021-11-05 版本 ...

http://dl.grub4dos.chenall.net/grub4dos-for_UEFI-2022-10-27.7z
2022-10-27版本下载地址,直接把旧版本的日期改下就可以直接下载了,不要梯子。就是changelog看不到。
回复

使用道具 举报

发表于 2022-11-13 08:44:01 | 显示全部楼层
本帖最后由 2011yaya2007777 于 2022-11-13 09:18 编辑

尝试解决一下楼主启动失败的问题。
首先要统一测试环境:
1. 使用 liuzhaoyzz 超级版主提供的地址下载 ubuntu-18.04.6-desktop-amd64.iso。
2. 使用 liuzhaoyzz 超级版主提供的菜单启动。
title /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso
find --ignore-floppies --ignore-cd --set-root /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso
map /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso (hd32)
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd
boot
注意加粗的地方,是你存放 ubuntu-18.04.6-desktop-amd64.iso 的路径,要修改一致。比如你放到 /PE/ 下,就改成
/PE/ubuntu-18.04.6-desktop-amd64.iso    注意大小写一致。
3. 使用楼上我提供的 BOOTX64.EFI 测试。

如果启动失败,截图看看失败后的文字提示。


失败的原因大致有:
1.原始启动 ISO 镜像有问题。
2.启动菜单有问题。一是路径有误,二是传递的参数有误。好像不同版本参数不禁相同,不知从哪里获得正确参数,大部分是模仿别人的。这样就容易产生错误。比如少了参数,参数错误,或者默认参数与你的环境不一致,必需显式确定参数(不是隐含),等等。
3.启动工具的问题。
4. 内存问题。我估计启动 ubuntu-18.04.6-desktop-amd64.iso 时,他建立了一个虚拟内存,尺寸一定不小。内存是否有一个可以容纳他的连续片段?

期待楼主的成功!




回复

使用道具 举报

发表于 2022-11-13 09:04:17 | 显示全部楼层
wlsk888 发表于 2022-11-11 16:05
我打错了,确实是menu.lst,ubuntu.iso所在分区是exFat,采用UEFI启动,ISO里面是vmlinuz和initrd

我看了下你的这个截图,你的字体跟yaya推荐的/EFI/grub/unifont.hex.gz字体不一致。
BIOS下面的grub4dos与UEFI下面的grub4dos所使用的字体似乎不同,而且可能会影响启动成功率,我以前因为这个问题困扰了很久。

我把
/EFI/grub/unifont.hex.gz上传上来。yaya那个帖子也有的。

unifont.hex.gz

589.24 KB, 下载次数: 10, 下载积分: 无忧币 -2

回复

使用道具 举报

发表于 2022-11-13 09:16:39 | 显示全部楼层
grub4dos-for_UEFI-2022-10-27版本,实体机出现错误提示,等待了一会儿,居然启动了ubuntu-18.04.6-desktop-amd64.iso。

我是在实体机测试的,内存小,虚拟机无法测试。
在你说的等待处,我也等待了将近7,8秒,由于菜单里有暂停,必需按一次键!可能是光盘镜像建立虚拟机,并往里面复制文件。

点评

回车键我按了的,虚拟机等待了很久也不行,相比于2021-10-21版本,明显进去较慢。  详情 回复 发表于 2022-11-13 09:37
回复

使用道具 举报

发表于 2022-11-13 09:37:37 来自手机 | 显示全部楼层
2011yaya2007777 发表于 2022-11-13 09:16
我是在实体机测试的,内存小,虚拟机无法测试。
在你说的等待处,我也等待了将近7,8秒,由于菜单里有暂 ...

回车键我按了的,虚拟机等待了很久也不行,相比于2021-10-21版本,明显进去较慢。
回复

使用道具 举报

发表于 2022-11-13 10:06:44 来自手机 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2022-11-13 11:17 编辑
2011whp 发表于 2022-11-12 16:36
刚从  itellyou下载测试,可以启动

title ubuntu20

你看他在6楼的截图,就是提取出来启动测试的,不知道他是从哪里获取vmlinuz,initrd的,如果不匹配肯定是不行的,不建议提取出来,没有必要,如果不匹配可能会带来额外的问题。

ubuntu-18.04.6-desktop-amd64.iso里面:
vmlinuz,9.01MB,楼主的是8.7MB。
initrd,43.6MB,楼主的是42.0MB。
不知道楼主所说的ubuntu18用的是哪个版本?


点评

从光盘里 复制 出来的,(参考光盘内 boot 下的 grub.cfg 和 lookback.cfg) 六楼 那个 不稳定, 也提示 找不到光盘,但 等 一会(不按回车),启动的。  详情 回复 发表于 2022-11-13 18:18
回复

使用道具 举报

发表于 2022-11-13 10:56:49 | 显示全部楼层
本帖最后由 不点 于 2022-11-13 11:13 编辑
2011yaya2007777 发表于 2022-11-13 08:04
原来在DOS下编译16位代码,有设置堆栈的问题。后来在32位保护模式,好像只设置代码段和数据段。现在在gcc ...

肯定有堆栈的。只要是 x86 intel amd 的 cpu,肯定有堆栈。32 位和 64 位,都离不开堆栈。尤其是 32 位、64位,此时消耗的堆栈,反而更多,c 语言函数里面的数组声明,就占用堆栈。比如 char buf [ 512 ]; 就占用 512 字节的堆栈。所以,最好不要在函数体里面声明很大的数组,而应该在函数体外面用 static char buf [ 512 ]; 的形式来声明一个大数组。

如果实在找不到设置堆栈的地方,那么,堆栈就是在实模式下设置好了。只需要确认,堆栈设置的位置是否合理便可。grub4dos for bios 里面的堆栈设置,应该是合理的,不用担心 bios 的 int 调用会发生堆栈溢出问题。但需要注意:刚才说的保护模式的 C 语言函数,不可占用过多堆栈。把那些不安全的地方,修改成安全的(就是函数外部的 static 数组)。


忽然想到,你现在是 EFI 模式。它有没有实模式,我也不知道。我是说,它开机进入实模式还是保护模式,我不知道。但无论如何,它是有堆栈的。你可以用一个程序片段,把主板 EFI 的堆栈探测出来。如果你觉得它设置的地方不对,你可以调整到一个你认为更安全的地方。如果它设置得没问题,你只需要像刚才所说,把 c 语言函数体里面的大数组声明,提取出来,放到函数体之外,并用 static 来声明即可,目的是尽量不占用堆栈。

点评

UEFI下g4e/grub2作为OSloader,一直工作在保护模式下。886楼: http://wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=422652&pid=4201424&fromuid=298214  详情 回复 发表于 2022-11-13 11:30
回复

使用道具 举报

发表于 2022-11-13 11:11:02 来自手机 | 显示全部楼层
这个是遇到过。刚开始调试uefi时,函数出错误,把函数体内部的数组移动到外部,就通过了。

点评

那就好。另外,如果你借用了 grub2 的部分代码,要注意,其中有可能存在着内嵌函数的情况。内嵌函数就是添乱,不要让函数体里面套着另一个函数体。 如果这些问题都没有,但仍然失败,那就要看,是不是代码体积太  详情 回复 发表于 2022-11-13 12:17
回复

使用道具 举报

发表于 2022-11-13 11:30:24 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2022-11-13 11:33 编辑
不点 发表于 2022-11-13 10:56
肯定有堆栈的。只要是 x86 intel amd 的 cpu,肯定有堆栈。32 位和 64 位,都离不开堆栈。尤其是 32 位、 ...

UEFI下g4e/grub2作为OSloader,一直工作在保护模式下。886楼:
http://wuyou.net/forum.php?mod=r ... 1424&fromuid=298214


实模式下g4d map --mem占用的内存也不会被释放,我那个回答有点错误。
        

点评

好的,工作在保护模式,也行。现在关心的是堆栈空间太小,引起堆栈溢出。我不知道,grub4dos for efi 是否基于 grub2。如果不是的,那么,堆栈又是如何设置的?如果根本没设置,那就是继承 EFI 默认设置。然而,yaya  详情 回复 发表于 2022-11-13 11:48
回复

使用道具 举报

发表于 2022-11-13 11:32:54 | 显示全部楼层
本帖最后由 不点 于 2022-11-13 11:44 编辑
2011yaya2007777 发表于 2022-11-13 08:04
原来在DOS下编译16位代码,有设置堆栈的问题。后来在32位保护模式,好像只设置代码段和数据段。现在在gcc ...

你能否把 grub2 for efi 的堆栈相关代码贴出来,我看看。岁数大了,没有体力能查看庞大的 grub2 代码了。

它有可能设置得不合理。因为 ventoy 的图形模式,就很不稳定。我觉得,堆栈设置,是个可变因素,是个疑点。当然,grub2 里面的 bug,决不会只有少数几处。它在 legacy 时代,就有许多 bug,扔在那里没人管。所以,我认为 grub2 很难达到实用的程度,如果后来仍旧没人严肃处理其中的 bug 的话。yaya 你是开发者,我只跟你这么说,让你心中有数。其他人看到了的话,只当做没看到好了。


补充:我不了解 EFI 的内存布局。我只熟悉传统 bios 的内存布局。请 yaya 顺便把 efi 的内存布局简要介绍一下。

回复

使用道具 举报

发表于 2022-11-13 11:48:50 | 显示全部楼层
liuzhaoyzz 发表于 2022-11-13 11:30
UEFI下g4e/grub2作为OSloader,一直工作在保护模式下。886楼:
http://wuyou.net/forum.php?mod=r ... 1 ...

好的,工作在保护模式,也行。现在关心的是堆栈空间太小,引起堆栈溢出。我不知道,grub4dos for efi 是否基于 grub2。如果不是的,那么,堆栈又是如何设置的?如果根本没设置,那就是继承 EFI 默认设置。然而,yaya 说了,grub2 efi 里面,有对堆栈进行设置的代码。也就是说,堆栈确实应该重新设置到一个更安全的位置。
回复

使用道具 举报

发表于 2022-11-13 12:05:23 | 显示全部楼层
关于堆栈设置,可以以后再慢慢处理。现在我们还不知道堆栈应该怎么设置,那就是,采用 EFI 默认的设置。

目前我们应该立即行动的,就是前面说的,不让 c 语言函数体里面含有大数组。

另外一个值得提及的事情是:grub legacy 里面,有函数体里面套着另一个函数体(内嵌函数)的现象。这是极其糟糕的。在 grub4dos for bios 中我已经把这类毛病全部修正了。内嵌函数,也是占用堆栈。

所以,yaya 要注意,把函数体里面的大数组以及内嵌函数(如果存在的话),全都提取出来,放到函数体外面。这会大大提高稳定性。至少不会让稳定性变差。
回复

使用道具 举报

发表于 2022-11-13 12:17:09 | 显示全部楼层
2011yaya2007777 发表于 2022-11-13 11:11
这个是遇到过。刚开始调试uefi时,函数出错误,把函数体内部的数组移动到外部,就通过了。

那就好。另外,如果你借用了 grub2 的部分代码,要注意,其中有可能存在着内嵌函数的情况。内嵌函数就是添乱,不要让函数体里面套着另一个函数体。

如果这些问题都没有,但仍然失败,那就要看,是不是代码体积太大,覆盖了数据空间?或者堆栈太小,不够(各种主板下的) EFI 函数调用的使用。
回复

使用道具 举报

发表于 2022-11-13 12:29:16 | 显示全部楼层
liuzhaoyzz 发表于 2022-11-13 08:28
我之前都是在vmware虚拟机中测试的,因为需要频繁重启电脑,有时候会死机比较伤硬盘,chkdsk /f c:有时候 ...

这个貌似很容易解决。加个判断:如果是光盘(blksize=0x800),就不检查分区表。当然了,如果不是死在此处,那就不好说了。也许是检查时没死机,以后某一时刻才死机。
回复

使用道具 举报

发表于 2022-11-13 14:43:01 | 显示全部楼层
你能否把 grub2 for efi 的堆栈相关代码贴出来

这是2,3年之前的事了,现在换了电脑,找不到标注了“堆栈”的代码文本了。刚才又在GRUB2搜索了一下,没有搜到。不过,GRUB2安装自己的驱动程序,他应当设置堆栈。G4D仅使用固件(无论是BIOS还是UEFI)提供的函数,估计问题不大。

yaya 顺便把 efi 的内存布局简要介绍一下

实模式下,内存通常分为常规内存,上位内存,扩展内存。
保护模式下,内存通常是平面的,即0-最大。只不过用户只能使用留给他们的内存。
UEFI是在保护模式下,基本没什么大的区别。用户可用内存,一般是在0-9ffff(但是有的电脑占用0-7fff,有的占用50000前后的几Kb),1Mb之后的区域。

如果你借用了 grub2 的部分代码,要注意,其中有可能存在着内嵌函数的情况

是的,借用了部分函数。存在着内嵌函数的情况。以后抽时间整理一下。

点评

http://wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=432789&pid=4721165&fromuid=298214 我用22楼的办法,测试grub4dos-for_UEFI-2023-03-19,启动不了ubuntu18,虚拟机截图如下: [attachimg]523587[/a  详情 回复 发表于 2023-3-26 09:56
GRUB 2 UEFI 下不会设置堆栈。它只是可以设置堆栈保护 (stack guard),而且这个功能是可选的。 UEFI 下加载 PE 可执行文件的时候固件会帮你设置好堆栈,当然你想自己设置堆栈也是可以的,要满足如下需求: [atta  详情 回复 发表于 2022-11-13 16:19
回复

使用道具 举报

发表于 2022-11-13 16:19:11 | 显示全部楼层
本帖最后由 wintoflash 于 2022-11-13 16:21 编辑
2011yaya2007777 发表于 2022-11-13 14:43
这是2,3年之前的事了,现在换了电脑,找不到标注了“堆栈”的代码文本了。刚才又在GRUB2搜索了一下,没 ...
这是2,3年之前的事了,现在换了电脑,找不到标注了“堆栈”的代码文本了。刚才又在GRUB2搜索了一下,没有搜到。不过,GRUB2安装自己的驱动程序,他应当设置堆栈。G4D仅使用固件(无论是BIOS还是UEFI)提供的函数,估计问题不大。

GRUB 2 UEFI 下不会设置堆栈。它只是可以设置堆栈保护 (stack guard),而且这个功能是可选的。
UEFI 下加载 PE 可执行文件的时候固件会帮你设置好堆栈,当然你想自己设置堆栈也是可以的,要满足如下需求:
Snipaste_2022-11-13_16-13-55.png
(Windows Boot Manager 好像不太喜欢你自己设堆栈)
是的,借用了部分函数。存在着内嵌函数的情况。以后抽时间整理一下。

GRUB2 大概在两三年前优化代码,去掉了所有的内嵌函数。

点评

既然无需设置堆栈,那就不设置它了。内嵌函数去掉了,那很好。yaya 再确认下,看看以前获取的 grub2 函数,有没有必要更新到最新版。 如果堆栈没问题,code 和 data 也永远不发生交叉冲突,那么,剩下的故障,就  详情 回复 发表于 2022-11-13 16:43
回复

使用道具 举报

发表于 2022-11-13 16:43:11 | 显示全部楼层
wintoflash 发表于 2022-11-13 16:19
GRUB 2 UEFI 下不会设置堆栈。它只是可以设置堆栈保护 (stack guard),而且这个功能是可选的。
UEFI  ...

既然无需设置堆栈,那就不设置它了。内嵌函数去掉了,那很好。yaya 再确认下,看看以前获取的 grub2 函数,有没有必要更新到最新版。

如果堆栈没问题,code 和 data 也永远不发生交叉冲突,那么,剩下的故障,就只能怀疑 gcc 编译器了。

我知道转换编译器不容易。但是,你很难找到一个 “满意” 的 gcc 版本。
回复

使用道具 举报

发表于 2022-11-13 18:18:38 | 显示全部楼层
liuzhaoyzz 发表于 2022-11-13 10:06
你看他在6楼的截图,就是提取出来启动测试的,不知道他是从哪里获取vmlinuz,initrd的,如果不匹配肯定是 ...

从光盘里 复制 出来的,(参考光盘内 boot 下的 grub.cfg  和 lookback.cfg)


六楼 那个 不稳定, 也提示 找不到光盘,但 等 一会(不按回车),启动的。
回复

使用道具 举报

发表于 2022-11-13 19:14:33 | 显示全部楼层
用到的  三个文件都 复制出来了,全部在 fat32分区,启动了三次 这个很稳。
(g4e 2022-7-29,ubuntu20 是 itellou下载的)

title ubuntu20

kernel /vmlinuz file=/ubuntu.seed maybe-ubiquity iso-scan/filename=/ubuntu20.iso quiet splash ---
initrd /initrd
回复

使用道具 举报

发表于 2022-11-14 15:39:30 | 显示全部楼层
看了大佬们的研究,留个眼,一会试一下。
回复

使用道具 举报

发表于 2022-11-20 03:11:17 | 显示全部楼层
过来看看,学习一下
回复

使用道具 举报

发表于 2023-3-26 09:56:14 | 显示全部楼层
2011yaya2007777 发表于 2022-11-13 14:43
这是2,3年之前的事了,现在换了电脑,找不到标注了“堆栈”的代码文本了。刚才又在GRUB2搜索了一下,没 ...

http://wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=432789&pid=4721165&fromuid=298214
我用22楼的办法,测试grub4dos-for_UEFI-2023-03-19,启动不了ubuntu18,虚拟机截图如下:
QQ拼音截图20230326094415.png


同一个ubuntu.iso,用grub4dos-for_UEFI-2021-10-21测试,可以启动ubuntu18.04。


感觉还是哪里有问题。ubuntu是很大的发行版了,希望跟进下问题。感觉不太像是gcc编译环境的问题。


@2011yaya2007777
@wintoflash

点评

你先排除一下是map造成的崩溃还是启动linux导致的崩溃。  详情 回复 发表于 2023-3-26 10:33
回复

使用道具 举报

发表于 2023-3-26 10:33:07 | 显示全部楼层
本帖最后由 wintoflash 于 2023-3-26 10:50 编辑

你先排除一下是map造成的崩溃还是启动linux导致的崩溃。
我下载了 Ubuntu 22.04 LTS。
map 直接死机
  1. title Ubuntu 22.04 LTS
  2. find --set-root /ubuntu-22.04.2.iso
  3. map /ubuntu-22.04.2.iso (0xff)
  4. chainloader (0xff)
复制代码

点评

我测试grub4dos-for_UEFI-2023-03-19,也是map没有完成就挂了。菜单如下: title /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso debug 3 find --ignore-floppies --ignore-cd --set-root /linux1/ubuntu/ub  详情 回复 发表于 2023-3-26 10:57
回复

使用道具 举报

发表于 2023-3-26 10:57:12 | 显示全部楼层
本帖最后由 liuzhaoyzz 于 2023-3-26 10:58 编辑
wintoflash 发表于 2023-3-26 10:33
你先排除一下是map造成的崩溃还是启动linux导致的崩溃。
我下载了 Ubuntu 22.04 LTS。
map 直接死机

我测试grub4dos-for_UEFI-2023-03-19,也是map没有完成就挂了。
我比较害怕输命令,还是上pause说明吧:
菜单如下:
title /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso
debug 3
find --ignore-floppies --ignore-cd --set-root /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso
map /linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso (hd32)
pause map
map --hook
kernel (hd32)/casper/vmlinuz boot=casper iso-scan/filename=/linux1/ubuntu/ubuntu-18.04.6-desktop-amd64.iso noprompt noeject
initrd (hd32)/casper/initrd
pause kernel
截图如下:

QQ拼音截图20230326094415.png


但是用上面的菜单,BOOTX642021-10-21.EFI,就可以正常显示pause那两个提示,直接截图吧,回车后就可以启动。
GPT-TEST-2023-03-26-10-49-58.png

证明还是map有问题。



点评

yaya 整的那一套 map ,我不太能看懂里面的机制。20230311 及之后的版本我没动 map。  详情 回复 发表于 2023-3-26 11:03
回复

使用道具 举报

发表于 2023-3-26 11:03:13 | 显示全部楼层
liuzhaoyzz 发表于 2023-3-26 10:57
我测试grub4dos-for_UEFI-2023-03-19,也是map没有完成就挂了。
我比较害怕输命令,还是上pause说明吧: ...

yaya 整的那一套 map ,我不太能看懂里面的机制。20230311 及之后的版本我没动 map。

点评

你看我在22楼的回复, grub4dos-for_UEFI-2021-10-21可以启动ubuntu-18.04.6-desktop-amd64.iso,√ grub4dos-for_UEFI-2021-11-05启动失败×,看了下changelog, 2021-11-05 grub4dos-for_UEFI-2021-11-05.7z  详情 回复 发表于 2023-3-26 11:08
回复

使用道具 举报

发表于 2023-3-26 11:08:58 | 显示全部楼层
wintoflash 发表于 2023-3-26 11:03
yaya 整的那一套 map ,我不太能看懂里面的机制。20230311 及之后的版本我没动 map。

你看我在22楼的回复,
grub4dos-for_UEFI-2021-10-21可以启动ubuntu-18.04.6-desktop-amd64.iso,√
grub4dos-for_UEFI-2021-11-05启动失败×,看了下changelog,
2021-11-05 grub4dos-for_UEFI-2021-11-05.7z
更新信息(update log): 2021-11-05 43d22e2@yaya . 修复管道符‘|’后面紧接call(或者goto)标签时,必须补空格。issues #341 . 迁就有bug的ISO光盘镜像。
“迁就有bug的ISO光盘镜像。”好像有问题。
后面的版本我又试了,很多无法启动ubuntu-18.04.6-desktop-amd64.iso。

我的感觉是grub4dos-for_UEFI-2021-10-21之后的版本引入了问题,问题是yaya那边又没有办法重现问题,很奇怪。
我用的虚拟机是vmware12.5.5,64位的WIN10系统。

回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-16 18:20

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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