无忧启动论坛

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

[分享] 新手利器 一键制作超强启动U盘

    [复制链接]
241#
 楼主| 发表于 2022-1-15 23:24:37 | 只看该作者
2010XwX 发表于 2022-1-15 22:19
K大,我有个事请教一下。
U盘A启动(UEFI启动),菜单需要调用U盘B的文件,但找不到,语句怎么写?
我的U ...

if [ -f "/efi/boot/ventoyx64.efi" ] ; then  
     menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " {
        search -s -f /efi/boot/ventoyx64.efi
        chainloader /efi/boot/ventoyx64.efi
}
  fi

点评

K大,按你的语句,仍然不行,找不到,如下图,三分区U盘UEFI启动菜单,没有显示【3】[attachimg]494208[/attachimg]  详情 回复 发表于 2022-1-16 06:05
回复

使用道具 举报

242#
发表于 2022-1-16 06:05:45 | 只看该作者
ksafei 发表于 2022-1-15 23:24
if [ -f "/efi/boot/ventoyx64.efi" ] ; then  
     menuentry "【3】启动 Ventoy 文件管理器(UEFI模 ...

K大,按你的语句,仍然不行,找不到,如下图,三分区U盘UEFI启动菜单,没有显示【3】

点评

语句没问题,要用实机测试,虚拟机显示不了另一U盘,另外如楼上所说检查下文件是否存在  详情 回复 发表于 2022-1-16 11:46
回复

使用道具 举报

243#
发表于 2022-1-16 06:15:45 | 只看该作者
但如果选择【4】或【5】,通过 grub2fm 或 run ,可以找到第二U盘的 /efi/boot/ventoyx64.efi 的执行文件,启动该U盘上的 ventoy。
现在第一U盘BIOS启动菜单可以成功加载第二U盘的 ventoy,就是UEFI启动不行,找不到。
回复

使用道具 举报

244#
发表于 2022-1-16 06:23:48 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 06:32 编辑

以下是C大的三分区USBOS,UEFI启动,我改成菜单式,语句如下:

set check_signatures=no
set prefix=(${root})/efi/boot
set default=1
set gfxmode=1024x768,auto
loadfont /efi/boot/Fonts/unicode.pf2
set locale_dir=/efi/boot/Locale
set lang=zh_CN
set pager=1
set timeout=30
set fallback=1
insmod png
terminal_output gfxterm
background_image /efi/boot/locale/bg/bg.png
set menu_color_normal=white/black
set menu_color_highlight=light-cyan/black
menuentry "【1】启动 USBOS_Win8.1PEx64/Win10PEx64 " {
        search --set -f /EFI/boot/BOOTX64_PE.efi
        chainloader /EFI/boot/BOOTX64_PE.efi
}
menuentry "【2】启动 硬盘里的Windows" --class windows --class os {
    if [ 'pc' == $grub_platform ] ; then
        if search --file --set --no-floppy /bootmgr ; then
            chainloader +1
        elif search --file --set --no-floppy /ntldr ; then
            chainloader +1
        else
            echo '没有找到已安装的Windows操作系统。'
            sleep --verbose 5
        fi
    fi
    if [ 'efi' == $grub_platform ] ; then
        if search --file --set --no-floppy /EFI/Microsoft/Boot/bootmgfw.efi ; then
            chainloader /EFI/Microsoft/Boot/bootmgfw.efi
        else
            echo '没有找到已安装的Windows操作系统。'
            sleep --verbose 5
        fi
    fi
}

if [ -f "/efi/boot/ventoyx64.efi" ] ; then  
     menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " {
        search -s -f /efi/boot/ventoyx64.efi
        chainloader /efi/boot/ventoyx64.efi
}
  fi

menuentry "【4】启动 Grub2 文件管理器 " {
        search --set -f /efi/grubfm.efi
        chainloader /efi/grubfm.efi
}
menuentry "【5】运行 AutoMenu_RUN " {
        search --set -f /efi/run.efi
        chainloader /efi/run.efi
}

if  search --file  /efi/refind/refind_x64.efi; then
menuentry "【6】运行 rEFInd 多系统启动管理器 " {
        search --set -f /efi/refind/refind_x64.efi
        chainloader /efi/refind/refind_x64.efi
}
fi

if  search --file /efi/konboot.efi; then   
menuentry "【7】启动 绕过Win&Mac 开机密码 " {
    search --set -f /efi/konboot.efi
    chainloader /efi/konboot.efi
}
fi

menuentry "【8】重启计算机"  --class gentoo --class os{
reboot
}
menuentry "【9】关闭计算机"  --class ubuntu --class os{
halt
}

其中【3】执行不了,它的文件不在本地盘上。请指教,谢谢K大!语句也是参考了别的大佬的。

点评

原版Ventoy的/efi/boot/目录是没有ventoyx64.efi文件。肯定无法显示启动。 解决办法,把原版Ventoy的/efi/boot/目录的bootx64.efi复制一个,改个名为ventoyx64.efi  详情 回复 发表于 2022-1-16 11:07
回复

使用道具 举报

245#
发表于 2022-1-16 06:47:21 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 06:54 编辑

第一U盘BIOS启动菜单,能找到第二U盘 ventoy 启动文件,并成功加载 ventoy。语句如下:

title [09] 运行自定义映像
graphicsmode -1 640
font /BOOT/GRUB/MENU.HEX
command /BOOT/GRUB/SISO RUN --automenu-all

title [10] 运行 Grub2 文件管理器      
map --mem /grub/grubfm.iso (0xff)
map --hook
chainloader (0xff)
#boot

title [11] 运行 Ventoy 菜单
find --set-root /boot/core.img
kernel /boot/core.img

由于两者语句有差别,我搞不懂,为什么BIOS启动的能正确找到非本地U盘上的启动文件,而UEFI启动的语句找不到,请K大指正!
回复

使用道具 举报

246#
发表于 2022-1-16 08:29:13 | 只看该作者
感谢楼主的更新
回复

使用道具 举报

247#
发表于 2022-1-16 11:07:04 | 只看该作者
2010XwX 发表于 2022-1-16 06:23
以下是C大的三分区USBOS,UEFI启动,我改成菜单式,语句如下:

set check_signatures=no

原版Ventoy的/efi/boot/目录是没有ventoyx64.efi文件。肯定无法显示启动。
解决办法,把原版Ventoy的/efi/boot/目录的bootx64.efi复制一个,改个名为ventoyx64.efi

点评

是的,我就是原版改名的,主要好识别。它放在原版可见区,你的自定义ventoy 菜单组件的 efi/boot/ 里面,另一个 ventoy 启动文件 core.img 放在组件 boot/ 里面。现在第三方U盘BIOS启动,可找到 第一方原版 ventoy U  详情 回复 发表于 2022-1-16 12:38
回复

使用道具 举报

248#
发表于 2022-1-16 11:45:19 | 只看该作者
感谢分享,强迫症患者终于用上了多启动入口的工具。
回复

使用道具 举报

249#
 楼主| 发表于 2022-1-16 11:46:36 | 只看该作者
2010XwX 发表于 2022-1-16 06:05
K大,按你的语句,仍然不行,找不到,如下图,三分区U盘UEFI启动菜单,没有显示【3】

语句没问题,要用实机测试,虚拟机显示不了另一U盘,另外如楼上所说检查下文件是否存在

点评

K大,我就是实机测试的,虚拟机是为了截图方便。 一个迂回的方法就是不在UEFI启动菜单出现,可以利用 grub2fm 和 run 找到第二U盘上的 ventoyx64.efi,启动加载ventoy。 另一个解决办法就是把UEFI启动平台 grub2  详情 回复 发表于 2022-1-16 12:13
回复

使用道具 举报

250#
发表于 2022-1-16 12:13:28 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 12:18 编辑
ksafei 发表于 2022-1-16 11:46
语句没问题,要用实机测试,虚拟机显示不了另一U盘,另外如楼上所说检查下文件是否存在

K大,我就是实机测试的,虚拟机是为了截图方便。
一个迂回的方法就是不在UEFI启动菜单出现,可以利用 grub2fm 和 run 找到第二U盘上的 ventoyx64.efi,启动加载ventoy。
另一个解决办法就是把UEFI启动平台 grub2 改成 grub,相应的配置菜单由 grub.cfg 换成 menu.lst,就如你的
grubfm_multiarch.iso里面的UEFI启动菜单文件 menu.lst:

title Ventoy Boot \n Ventoy EFI boot loader
find --ignore-floppies --ignore-cd --set-root /EFI/boot/BOOTX64.efi
chainloader /EFI/boot/BOOTX64.efi

这样应该是可以的,因为它们的语句不一样。如何在 grub2 环境下,寻找任何分区的一个文件,还请老法师多指教。
我找到一个类似语句,但也不行,你看一下,里面有些代码还不了解:

#启动efi件:
menuentry "启动EFI SHELL" {
echo "正在启动EFI SHELL,请等待...."
search --file /rdtobot/efi_file/boot/bootx64.efi --set=root
chainloader ($root)/rdtobot/efi_file/boot/bootx64.efi
}

点评

这几个语句作用是一样的,发你那个刚实机测试引导正常  详情 回复 发表于 2022-1-16 12:28
回复

使用道具 举报

251#
 楼主| 发表于 2022-1-16 12:28:10 | 只看该作者
2010XwX 发表于 2022-1-16 12:13
K大,我就是实机测试的,虚拟机是为了截图方便。
一个迂回的方法就是不在UEFI启动菜单出现,可以利用 gr ...

这几个语句作用是一样的,发你那个刚实机测试引导正常

点评

好,谢谢!我再试试看。  详情 回复 发表于 2022-1-16 12:43
回复

使用道具 举报

252#
发表于 2022-1-16 12:38:48 | 只看该作者
2011cwj6958 发表于 2022-1-16 11:07
原版Ventoy的/efi/boot/目录是没有ventoyx64.efi文件。肯定无法显示启动。
解决办法,把原版Ventoy的/ef ...

是的,我就是原版改名的,主要好识别。它放在原版可见区,你的自定义ventoy 菜单组件的 efi/boot/ 里面,另一个 ventoy 启动文件 core.img 放在组件 boot/ 里面。现在第三方U盘BIOS启动,可找到 第一方原版 ventoy U盘里面的 core.img,运行 ventoy 。但UEFI启动不行,找不到第一方U盘里面的 ventoyx64.efi,还请大神多指教。
你的 ventoy 自定义菜单呱呱叫,开拓了应用,向你学了不少东西,包括 rEFInd 。再次感谢!
回复

使用道具 举报

253#
发表于 2022-1-16 12:43:25 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 12:49 编辑
ksafei 发表于 2022-1-16 12:28
这几个语句作用是一样的,发你那个刚实机测试引导正常

好,谢谢!我再试试看。另外你再给我确认一下,是这样语句吗:

if [ -f "/efi/boot/ventoyx64.efi" ] ; then  
     menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " {
        search -s -f /efi/boot/ventoyx64.efi
        chainloader /efi/boot/ventoyx64.efi
}
  fi

我的 ventoyx64.efi 放在原版U盘可见区 ventoy 自定义组件 /efi/boot/ 里面。

点评

用这个菜单 if search --file /efi/boot/ventoyx64.efi; then menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " { search -s -f /efi/boot/ventoyx64.efi chainload  详情 回复 发表于 2022-1-16 13:47
回复

使用道具 举报

254#
 楼主| 发表于 2022-1-16 13:02:20 | 只看该作者
我的 ventoyx64.efi 放在原版U盘可见区 ventoy 自定义组件 /efi/boot/ 里面。


你这明显的路径就不对啦,变成了/ventoy/efi/boot/ventoyx64.efi

点评

K大,ventoy 是U盘的盘符名,在此盘里,自定义组件共三个文件夹,ventoy/,efi/,boot/。 ventoyx64.efi 就放在 ventoy 盘符里 /efi/boot/ 下。我遵循你的意见语句如下: if [ -f "/ventoy/efi/boot/ventoyx64.e  详情 回复 发表于 2022-1-16 13:27
回复

使用道具 举报

255#
发表于 2022-1-16 13:27:44 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 13:37 编辑
ksafei 发表于 2022-1-16 13:02
你这明显的路径就不对啦,变成了/ventoy/efi/boot/ventoyx64.efi

K大,ventoy 是U盘的盘符名,在此盘里,自定义组件共三个文件夹,ventoy/,efi/,boot/。
ventoyx64.efi 就放在 ventoy 盘符里 /efi/boot/ 下。我遵循你的意见语句如下:

if [ -f "/ventoy/efi/boot/ventoyx64.efi" ] ; then  
     menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " {
        search -s -f /ventoy/efi/boot/ventoyx64.efi
        chainloader /ventoy/efi/boot/ventoyx64.efi
}
  fi

测试仍然找不到 ventoyx64.efi,台式机和笔记本都如此。我也不清楚那个环节出问题了。
BIOS启动菜单里路径是

title [11] 运行 Ventoy 菜单
find --set-root /boot/core.img
kernel /boot/core.img能顺利找到启动 ventoy。core.img 放在 ventoy 盘符 boot/ 里面。
下图,USB DISK 是三分区启动U盘,Ventoy 是原版1.064 ventoy。






点评

建议把数据区的efi/boot/文件夹删除,置于EFI区 /efi/boot/ventoyx64.efi再测试吧 其实插2个U盘本可以选择其一启动非要再转引导下也没什么必要  详情 回复 发表于 2022-1-16 13:37
回复

使用道具 举报

256#
 楼主| 发表于 2022-1-16 13:37:57 | 只看该作者
2010XwX 发表于 2022-1-16 13:27
K大,ventoy 是U盘的盘符名,在此盘里,自定义组件共三个文件夹,ventoy/,efi/,boot/。
ventoyx64.efi ...

建议把数据区的efi/boot/文件夹删除,置于EFI区  /efi/boot/ventoyx64.efi再测试吧
其实插2个U盘本可以选择其一启动非要再转引导下也没什么必要

点评

是这样的,主要考虑要使用 ventoy 只能用它自己制备的二分区U盘启动加载,用传统的UD三分区启动计算机,想要使用 ventoy ,只能另辟路子。你的改版超强U盘,自定义菜单光盘等都是选项。  详情 回复 发表于 2022-1-16 14:20
回复

使用道具 举报

257#
发表于 2022-1-16 13:47:44 | 只看该作者
2010XwX 发表于 2022-1-16 12:43
好,谢谢!我再试试看。另外你再给我确认一下,是这样语句吗:

if [ -f "/efi/boot/ventoyx64.efi" ]  ...


用这个菜单


if  search --file /efi/boot/ventoyx64.efi; then  
      menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " {
         search -s -f /efi/boot/ventoyx64.efi
         chainloader /efi/boot/ventoyx64.efi
}
   fi

点评

这个菜单和你的 ventoy 自定义菜单中 ventoy_grub.cfg,是一样的,唯一区别是一个在本地U盘运行,一个在另外U盘运行,本地的能成功,外面的找不到本地U盘的文件。但BUOS启动,两者都可以。  详情 回复 发表于 2022-1-16 18:33
我第一次就是用这个菜单语句运行的,刚刚再试一遍,依旧。 我不清楚这个 search 是仅搜寻本地分区文件,还是任何分区都找。在BIOS启动菜单里,用的是 find --set-root /boot/core.img,顺利找到并加载。而 search  详情 回复 发表于 2022-1-16 14:14
回复

使用道具 举报

258#
发表于 2022-1-16 14:14:00 | 只看该作者

我第一次就是用这个菜单语句运行的,刚刚再试一遍,依旧。
我不清楚这个 search 是仅搜寻本地分区文件,还是任何分区都找。在BIOS启动菜单里,用的是 find --set-root /boot/core.img,顺利找到并加载。而 search 语句因找不到,菜单也不显示。
回复

使用道具 举报

259#
发表于 2022-1-16 14:20:49 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 14:29 编辑
ksafei 发表于 2022-1-16 13:37
建议把数据区的efi/boot/文件夹删除,置于EFI区  /efi/boot/ventoyx64.efi再测试吧
其实插2个U盘本可以 ...

是这样的,主要考虑要使用 ventoy 只能用它自己制备的二分区U盘启动加载,用传统的UD三分区启动计算机,想要使用 ventoy ,只能另辟路子。你的改版超强U盘,自定义菜单光盘等都是选项。数据区的这个文件夹, ventoy 自定义菜单一些启动文件在里面,原版的 EFI区我尽量不动,以免今后升级出现问题。
我在找找哪个环节有问题。谢谢你的指导!

点评

测试要先易后难,先标准后复杂这样才能逐步排除问题所在。从上面的截图可看出其他search菜单正常,所以可排除search命令(我这测试可以搜寻其他分区),还有菜单前部的冗余命令行有没有影响,都需逐步测试。 另外,  详情 回复 发表于 2022-1-16 14:43
回复

使用道具 举报

260#
 楼主| 发表于 2022-1-16 14:43:49 | 只看该作者
2010XwX 发表于 2022-1-16 14:20
是这样的,主要考虑要使用 ventoy 只能用它自己制备的二分区U盘启动加载,用传统的UD三分区启动计算机, ...

测试要先易后难,先标准后复杂这样才能逐步排除问题所在。从上面的截图可看出其他search菜单正常,所以可排除search命令(我这测试可以搜寻其他分区),还有菜单前部的冗余命令行有没有影响,都需逐步测试。
另外,可以先实机启动在grub2启动菜单  按C键  进入命令行模式,输入 ls  查看能否识别到第2个U盘

点评

好的,我慢慢寻找原因。 9选项菜单,除【3】里的文件 ventoyx64.efi 是其它分区的,余下都是本分区的,都运行正常。 谢谢多次指导!  详情 回复 发表于 2022-1-16 15:02
回复

使用道具 举报

261#
发表于 2022-1-16 15:02:22 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 15:04 编辑
ksafei 发表于 2022-1-16 14:43
测试要先易后难,先标准后复杂这样才能逐步排除问题所在。从上面的截图可看出其他search菜单正常,所以可 ...

好的,我慢慢寻找原因。
9选项菜单,除【3】里的文件 ventoyx64.efi 是其它分区的,余下都是本分区的,都运行正常。
谢谢多次指导!
以下是BIOS启动时,正常运行的截图:

USBOS_BIOS_ventoy_F6合.jpg (242.63 KB, 下载次数: 104)

USBOS_BIOS_ventoy_F6合.jpg
回复

使用道具 举报

262#
发表于 2022-1-16 15:28:04 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 15:31 编辑

K大,ls 测试,能找到所有硬盘。两个机械硬盘(h0),(h1),两个U盘(h2),(h3)。UEFI菜单我是搬来的,基本参照《优启时代系统维护盘》2021臻藏版(B)。背景换成你的黑咖啡,慢慢品尝。我是吃百家饭,做自己事,再次谢谢各位大佬!
回复

使用道具 举报

263#
发表于 2022-1-16 16:16:54 | 只看该作者
K大,以上我是边学边干,弄不成积累点经验也是收获。我的各个启动U盘基本都是UD三分区,无论BIOS,或UEFI启动,都有 grub2fm 和 automenu_run 管理器,真需要用UD三分区启动使用 ventoy,可以借助上面两个文件管理器运行。
回复

使用道具 举报

264#
发表于 2022-1-16 17:45:13 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 17:47 编辑

K大,我想,是否我的 grub2 版本不对,你把你加载成功的那个 grub2 (bootx64.efi)发一个给我,我校验一下再试试。

点评

grub2中加载mod的多少会影响个别功能,看你下午的几个测试没见什么异常。gurb2是生成的不需校验码比对  详情 回复 发表于 2022-1-16 19:11
回复

使用道具 举报

265#
发表于 2022-1-16 18:33:25 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 18:44 编辑

这个菜单和你的 ventoy 自定义菜单中 ventoy_grub.cfg,是一样的,唯一区别是一个在本地U盘运行,一个在另外U盘运行,本地的能成功,外面的找不到本地U盘的文件。但BIOS启动,两者都可以。是否是 grub2 版本不配?请高手多指点,谢谢!

点评

测试了,确实与grub2 版本有关 用这个试试 menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " { search -s -f /efi/boot/ventoyx64.efi chainloader /efi/boot/ventoyx64.efi  详情 回复 发表于 2022-1-16 18:43
回复

使用道具 举报

266#
发表于 2022-1-16 18:43:21 | 只看该作者
2010XwX 发表于 2022-1-16 18:33
这个菜单和你的 ventoy 自定义菜单中 ventoy_grub.cfg,是一样的,唯一区别是一个在本地U盘运行,一个在 ...

测试了,确实与grub2 版本有关
用这个试试
menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " {
          search -s -f /efi/boot/ventoyx64.efi
          chainloader /efi/boot/ventoyx64.efi

点评

这个试过了,可以显示菜单,运行出错,然后回到原菜单。好像如下: S。 S。 ??继续  详情 回复 发表于 2022-1-16 18:59
回复

使用道具 举报

267#
发表于 2022-1-16 18:59:41 | 只看该作者
本帖最后由 2010XwX 于 2022-1-16 19:02 编辑
2011cwj6958 发表于 2022-1-16 18:43
测试了,确实与grub2 版本有关
用这个试试
menuentry "【3】启动 Ventoy 文件管理器(UEFI模式)】 " ...

这个试过了,可以显示菜单,运行出错,然后回到原菜单。好像如下:
S。
S。
??继续
我的版本是 《优启时代系统维护盘》2021臻藏版(B)。里面的

点评

自己定制的grub2经测试 https://cloud.189.cn/t/Af2yAve2QbQ3  详情 回复 发表于 2022-1-16 19:26
回复

使用道具 举报

268#
发表于 2022-1-16 19:03:18 | 只看该作者
K大 链接已失效,新版能私发分享吗?谢谢!

点评

链接正常呀。 下载地址:https://cloud.189.cn/web/share?code=ZvMzQnY7J7Bj(访问码:4zzz)  详情 回复 发表于 2022-1-16 19:13
回复

使用道具 举报

269#
 楼主| 发表于 2022-1-16 19:11:33 | 只看该作者
2010XwX 发表于 2022-1-16 17:45
K大,我想,是否我的 grub2 版本不对,你把你加载成功的那个 grub2 (bootx64.efi)发一个给我,我校验一下 ...

grub2中加载mod的多少会影响个别功能,看你下午的几个测试没见什么异常。
gurb2是生成的不需校验码比对 grubx64.7z (621.24 KB, 下载次数: 11)


点评

K大,收到谢谢!你的体积是我的2倍。但运行不加载同一目录的配置文件 grub.cfg,没有显示菜单,直接进 grub> 。 我的 bootx64.efi 和 grub.cfg 放在EFI分区 /efi/boot/ 文件夹里,看是否匹配?  详情 回复 发表于 2022-1-16 19:27
回复

使用道具 举报

270#
 楼主| 发表于 2022-1-16 19:13:19 | 只看该作者
kzr588 发表于 2022-1-16 19:03
K大 链接已失效,新版能私发分享吗?谢谢!

链接正常呀。
下载地址:https://cloud.189.cn/web/share?code=ZvMzQnY7J7Bj(访问码:4zzz)
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-30 15:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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