首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Grub4Dos中使用函数?| Grub4Dos中是否存在现有函数?

如何在Grub4Dos中使用函数?| Grub4Dos中是否存在现有函数?
EN

Stack Overflow用户
提问于 2021-06-30 19:30:52
回答 1查看 37关注 0票数 0

我不希望我的代码被重复多次。Grub4Dos有解决这个问题的选项,比如函数?

EN

回答 1

Stack Overflow用户

发布于 2021-06-30 19:30:52

Grub4Dos没有通常意义上的函数(就像在Grub2中一样),但是您可以使用configfile命令作为函数。

示例:

menu.lst

代码语言:javascript
复制
set ldpartnew=(hd0,0)/boot/grub4dos/load_partnew.lst

title archlinux-2021.02.01-x86_64
set ISO=(hd0,1)/ISO/archlinux-2021.02.01-x86_64.iso
configfile %ldpartnew%

load_partnew.lst

代码语言:javascript
复制
partnew (hd0,3) 0 0 0
partnew (hd0,3) 0 0 0
partnew (hd0,3) 0 0 0
ls %ISO% && partnew (hd0,3) 0x00 %ISO%
map %ISO% (hd0,3)
map --hook
root (hd0,3)
chainloader (hd0,3)

Casper:

menu.lst

代码语言:javascript
复制
set ldcasper=(hd0,0)/boot/grub4dos/load_casper.lst

title ubuntu-20.04.2.0-desktop-amd64
set ISO=(hd0,1)/ISO/ubuntu-20.04.2.0-desktop-amd64.iso
# ISOwohd is path to ISO without (hdX,X)
set ISOwohd=/ISO/ubuntu-20.04.2.0-desktop-amd64.iso
# initrdX is file extension of initrd file
configfile %ldcasper%

load_casper.lst

代码语言:javascript
复制
map %ISO% (0xff)
echo -e \r\n
map --hook
root (0xff)

kernel (0xff)/casper/vmlinuz%vmlinuzX% file=/cdrom/preseed/ubuntu.seed boot=casper persistent iso-scan/filename=%ISOwohd% splash
initrd (0xff)/casper/initrd%initrdX%

已在grub4dos-0.4.6a-2021-01-27上测试。

我在使用这个方法的过程中遇到的问题:

  • 变量名过长会导致错误。
  • 由于无法以常规方式将参数传递给此类函数,因此必须声明类型为ISOISOwohdinitrdX.

的其他变量

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68193953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档