|
本帖最后由 yjd 于 2017-6-13 09:33 编辑
对,
通常U盘启动efi。uefi直接找efi/boot/bootx64.efi文件。不加判断应该不会错。除非有人在U盘里放一个/EFI/Microsoft/Boot/bootmgfw.efi
但是bios下搜bootmgr,U盘如果用原始微软的没修改过名字的就可能误判了。
- menuentry '启动硬盘系统' {
- if [ 'pc' == $grub_platform -a -d /Boot/de-DE ] ; then
- if [ search -f -s --no-floppy /bootmgr -o search -f -s --no-floppy /ntldr ]; then
- chainloader +1
- else
- echo '没有找到Windows'
- sleep --verbose 5
- fi
- fi
- if [ $grub_platform == 'efi' ] ; then
- if search -f -s --no-floppy /EFI/Microsoft/Boot/bootmgfw.efi ; then
- chainloader /EFI/Microsoft/Boot/bootmgfw.efi
- else
- echo '没找到bootmgfw.efi'
- sleep --verbose 5
- fi
- fi
- }
复制代码
- menuentry '启动硬盘系统' {
- if [ 'pc' == $grub_platform -a -d /Boot/de-DE ] ; then
- if search -f -s --no-floppy /bootmgr ; then
- chainloader +1
- elif search -f -s --no-floppy /ntldr ; then
- chainloader +1
- else
- echo '没有找到Windows'
- sleep --verbose 5
- fi
- fi
- if [ $grub_platform == 'efi' ] ; then
- if search -f -s --no-floppy /EFI/Microsoft/Boot/bootmgfw.efi ; then
- chainloader /EFI/Microsoft/Boot/bootmgfw.efi
- else
- echo '没找到bootmgfw.efi'
- sleep --verbose 5
- fi
- fi
- }
复制代码
这样不够严谨,应该够用。通常U盘用bootmgr启动,应该没人会丢其他国家的语言文件在U盘里。
或判断
- if [ 'pc' == $grub_platform -a -e /Boot/memtest.exe ] ; then
复制代码
|
|