前言

自从转linux以来,一直都是使用GRUB制作USB启动盘,启动linux的iso文件不成问题很快(因为内核都是先加载了的,不会涉及完整加载iso之后再启动)。但是使用grub加载winpe的iso的时候就遇到了困扰,之前我一直都是使用的GRUB调用grub4dos加载grub.exe 然后再加载iso。本来windows下老毛桃的解决方案是使用一个SISO的文件然后执行RUN方法加载iso文件可以秒开,但是移植到我的U盘上死活不行,提示不是有效方法。无赖之下就一直沿用了网络上别人提供的 map -mem方法先加载到内存,再运行。但是加载实在太慢了250M的文件要加载10分钟。最近无意中发现有大佬给出了一个比较好的解决方案,那就是使用memdisk加载iso,会快很多,本人实测250Miso文件30秒加载完成。下面把该方法分享给大家。

解决方案

  • 要先下载一个memdisk文件,该文件在​​syslinux,点击这里即可进入下载页面​​中,建议下载4.04版本(我下载了6.x版本发现里面没有memdisk文件),(在该压缩包中有一个memdisk文件夹,下面包含了一个交memdisk不带后缀名的文件,将该文件解压出来放到U盘的boot目录下即可)
  • 然后修改/boot/grub/grub.cfg文件
menuentry 'PEX64' {
set isofile=/iso/10PEx64.iso
search --no-floppy -f --set=root $isofile
set root='(hd0,msdos1)'
echo 'Loading Memdisk...'
#insmod memdisk
linux16 /boot/memdisk iso raw
echo 'Loading ISO...'
initrd16 $isofile
}

参考地址

​https://www.hqyman.cn/post/2133.html​​​​https://forum.ubuntu.org.cn/viewtopic.php?f=139&t=383004​