grub2用于pe引导
需要它判断当前efi环境,并修改bcd菜单中的顺序,以实现自动运行相应的pe系统。 在启动bootx64.efi文件前,修改bcd64为bcd;启动bootia32.efi前,修改bcd32为bcd 在启动bootx64.efi文件前,修改bcd64为bcd;启动bootia32.efi前,修改bcd32为bcd 该怎么写呢? if [ "${grub_platform}" == "efi" ]; thenif [ "${grub_cpu}" == "x86_64" ]; then
menuentry "WinPE UEFI x64" {
......
}
fi
if [ "${grub_cpu}" == "i386" ]; then
menuentry "WinPE UEFI x64" {
......
}
fi
else
if [ "${grub_platform}" == "pc" ]; then
if [ "${grub_cpu}" == "i386" ]; then
menuentry "WinPE UEFI x64" {
......
}
fi
else
echo "unknown platform!"
fi
fi
BCD文件改名不知道可不可以,Linux命令是 cp bcd64 bcd 、cp bcd32 bcd或者
你可以两个pe放在不同文件夹,每个文件夹文件为:bcd、bootmgfw.efi、winpe.wim (因为bootmgfw.efi有就近原则,当前目录有bcd就读取当前目录,否则查找/EFI/microsoft/boot/bcd) 谢谢,抽空鼓捣测试下。 已经成功。拜谢! 窄口牛 发表于 2016-4-20 23:17
已经成功。拜谢!
你使用cp 改名字 bcd了吗?还是分开放的x86、x64的pe? 不是很明白啊,LZ是想做什么呢??? 分开放了 boy6585948 发表于 2016-4-21 09:43
不是很明白啊,LZ是想做什么呢???
一个cfg走天下,让grub2自己选择显示菜单,mbr启动就显示BIOS菜单,efi32就显示efix86菜单,efi64就显示efix86_64菜单,但实质上是在一个cfg文件里写着。 boy6585948 发表于 2016-4-21 09:43
不是很明白啊,LZ是想做什么呢???
一个cfg走天下,让grub2自己选择显示菜单,mbr启动就显示BIOS菜单,efi32就显示efix86菜单,efi64就显示efix86_64菜单,但实质上是在一个cfg文件里写着。 六十四和三十二可以筛选显示,阻止不了legacy显示,还有好办法吗? legacy下会把efi32和64的都显示出来。 原来是缺少命令引起的。达到了目的 窄口牛 发表于 2016-4-24 00:21
原来是缺少命令引起的。达到了目的
缺少命令?缺少什么命令? 窄口牛 发表于 2016-4-23 21:20
legacy下会把efi32和64的都显示出来。
什么意思? 窄口牛 发表于 2016-4-23 21:20
legacy下会把efi32和64的都显示出来。
bios环境下,64位cpu显示64位的菜单,32位cpu则显示32位的菜单,你能做到吗? 不能,只能legacy和efi32和efi64三分。legacy64和legacy32不会分 我也没明白原因,反正现在正常了。三分。 窄口牛 发表于 2016-4-24 06:09
不能,只能legacy和efi32和efi64三分。legacy64和legacy32不会分
efi32和efi64分不了的。
if [ "${grub_cpu}" == "i386" ] 和if [ "${grub_cpu}" == "x86_64" ] 这个是判断cpu是32为还是64位的,而不是判断efi固件是32位还是64位的 哦,酱紫啊,明白了。 本帖最后由 窄口牛 于 2016-4-24 14:55 编辑
原来,qemu模拟还是两种CPU状态呢。
页:
[1]