|
2#
楼主 |
发表于 2020-4-7 18:07:32
|
只看该作者
本帖最后由 hilsonma 于 2020-8-1 05:59 编辑
还有2个函数文件就不晒了,下载包里都有,主要是想给出一些引导的例子,引导语句主要在run.cfg 中 runx函数下。
如果觉得我的配置太复杂,可参见 简单的菜单配置
efi 的引导:
search -n -s -f /test.efi
chainloader /test.efi
cfg 的引导:
search -n -s -f /test.cfg
configfile /test.cfg
wim 的引导 (使用ntboot,比较快)
search -n -s -f /test.wim
ntboot -e $prefix/run/ms/bootmgfw.efi /test.wim
wim 的引导 (使用wimboot,可以进行一些复杂操作)
search -n -s wimroot -f /test.wim
wimboot @:bootmgfw.efi:$prefix/run/ms/bootmgfw.efi \
@:boot.wim:($wimroot)/test.wim
vhd 的引导
search -n -s -f /test.vhdx
ntboot -e $prefix/run/ms/bootmgfw.efi -s $prefix/run/ms/boot.sdi /test.vhdx
iso 的引导
search -n -s -f /test.iso
map /test.iso
porteus 的引导
search -n -s -f /porteus/vmlinuz
linux /porteus/vmlinuz norootcopy nomagic
initrd /porteus/initrd.xz
--------------------------------------------------
windows的引导
windows的引导,现在我是使用vhd部署,所以就是vhd的引导。
如果是常规部署,那就是使用efi的引导。
常规方法一:
search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
这个方法的优点是一般是安装生成的配套引导,不需再配置bcd
假如不存在或出错可以使用bcdboot重新生成
常规方法二:
search -n -s -f /Windows/Boot/EFI/bootmgfw.efi
chainloader /Windows/Boot/EFI/bootmgfw.efi
这个方法的缺点是要自己配置一个bcd放在同一文件夹或同分区的/EFI/Microsoft/Boot
优点是efi文件一定存在,bcd可以配置boot盘,配置一次,一直有效, 不会出错。
--------------------------------------------------
winpe的引导
winpe的引导,我是使用wim的引导,也可以将wim封装到iso使用iso的引导。
--------------------------------------------------
linux的引导
linux的引导,就是cfg的引导,把引导配置写在一个cfg文件,然后引导这个cfg就行了。就把引导linux的cfg当做是windows的bcd一样。
windows自身的主引导bootx64.efi实质是bootmgfw.efi
而linux自身的主引导bootx64.efi实质就是grub2的引导grubx64.efi (这一点我接触的linux少,只是猜测,不能完全肯定)。
--------------------------------------------------
统一的引导
总结上面各种引导,都是先确定要引导的文件,然后用search确定该文件所在分区,最后使用相应命令引导。
于是我自定义一个run命令,统一如下引导:
run /xxxx
前面porteus的引导,可以写到porteus.cfg里,然后 run /porteus.cfg,只要不是一句就搞定的引导,都可以使用cfg的引导,这样就简化成统一的 run /xxx.cfg
另参见wintoflash提供的PhoenixOS 和 UOS 的引导示例 |
|