|  | 
| 本帖最后由 wangyibin 于 2024-11-24 20:12 编辑 
 不是我的专长 给你搜索了一下 你看有没有帮助
 问题1:如何让RUN命令在一个公共目录下运行
 在GRUB中,你可以使用环境变量来达到类似Windows环境变量的效果。GRUB使用的是set命令来设置变量。以下是你可以尝试的方法:
 
 设置一个环境变量指向公共目录:
 
 修改你的RUN命令:复制代码set run_dir=/path/to/public/directory
 这里,run_dir是你的公共目录,run_path是你的ISO文件路径,run_cmd则是构建的完整命令行。复制代码find --set-root /ISO/MyISO.ISO
set run_path=$root/ISO/MyISO.ISO
set run_cmd="$run_dir/RUN $run_path"
$run_cmd
 在不同的分区:
 如果RUN模块在不同的分区,你可能需要先加载这个分区,然后设置路径。例如:
 
 复制代码# 假设你的公共目录在(hd0,msdos1)
set root=(hd0,msdos1)
set run_dir=/MOD
find --set-root /ISO/MyISO.ISO
set run_path=$root/ISO/MyISO.ISO
set run_cmd="$run_dir/RUN $run_path"
$run_cmd
问题2:在不同分区设置变量
 设置变量:
 
 这里,export命令将变量myrun设置为环境变量,使其在后续命令中可用。复制代码find --set-root /ISO/MyISO.ISO
export myrun=$root/ISO/MyISO.ISO
 使用变量运行命令:
 
 注意,GRUB不直接支持%variable%格式的变量引用,你需要使用$variable的形式来引用变量。复制代码set root=(hd0,msdos1)
set run_dir=/MOD
set run_cmd="$run_dir/RUN $myrun"
$run_cmd
 注意事项:
 分区和设备的识别:确保你使用正确的分区和设备标识符(如(hd0,msdos1)),这些标识符在GRUB中是动态的,可能需要根据实际情况调整。
 变量作用域:GRUB的变量在脚本中是全局的,但如果你在不同的脚本或环境中使用这些变量,确保它们被正确设置和导出。
 路径问题:在GRUB中,路径需要特别注意,因为它使用的是GRUB的文件系统,而不是操作系统的文件系统。
 
 
 
 | 
 评分
查看全部评分
 |