|
|
menuentry "启动Kali (全盘搜索ISO)" {
# 标记是否找到ISO
set found=0
# 获取所有磁盘和分区
# 注:GRUB脚本能力有限,这里简化处理
for disk in hd0 hd1 hd2 hd3; do
for part in 1 2 3 4 5 6 7 8 9 10; do
# 检查分区是否存在
if [ -e ($disk,$part) ]; then
echo "正在搜索 ($disk,$part)..."
# 临时设置根目录到该分区
set tmproot=$root
set root=($disk,$part)
# 搜索ISO文件
for iso in /kali-linux-*-live-amd64.iso; do
if [ -f "$iso" ]; then
echo "在 ($disk,$part) 找到: $iso"
set isofile="$iso"
set found=1
break 2 # 跳出分区循环
fi
done
# 恢复原来的根目录
set root=$tmproot
fi
done
if [ $found -eq 1 ]; then
break # 跳出磁盘循环
fi
done
if [ $found -eq 0 ]; then
echo "错误: 未在任何分区找到Kali ISO文件"
echo "请按任意键返回菜单..."
read
exit
fi
# 使用找到的ISO
search --set=root -f "$isofile"
echo "使用ISO: $isofile"
loopback loop "$isofile"
set gfxpayload=keep
linux (loop)/live/vmlinuz-* boot=live components quiet splash noeject findiso="$isofile" locales=zh_CN.UTF-8
initrd (loop)/live/initrd.img-*
}
最终结果出炉,感谢各位前辈大神的指导 |
|