无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
楼主: dido0379
打印 上一主题 下一主题

[发布] UEFI下利用ixpe远程加载isoboot直接启动PE光盘镜像

    [复制链接]
31#
 楼主| 发表于 2019-7-28 12:47:53 | 只看该作者
本帖最后由 dido0379 于 2019-7-28 13:05 编辑
282198284 发表于 2019-7-21 22:41
能否改为支持img启动的,就是把img镜像模拟到内存盘中,启动img内存盘中的EFI\Boot\bootx64.efi


增加img启动可以的,但是内存盘生存期怎么才能延续到exitbootservice()之后需要解决,不解决这个问题也就只能启动wim打包的pe而已。就算将内存盘放到runtimeservicedata里面,进入系统也需要类似winblk或者firadisk之类的内存盘驱动才能访问,否则7b蓝屏是铁定的。ramos我不太了解,也不知道怎样才能给这些内存盘驱动传参数。

点评

要硬盘格式的才可以,您看一下能不能解决,就是要在这个内存硬盘上跑到7B蓝屏  详情 回复 发表于 2019-7-28 12:59
回复

使用道具 举报

32#
发表于 2019-7-28 12:59:47 | 只看该作者
dido0379 发表于 2019-7-28 12:47
增加img启动可以的,但是内存盘生存期怎么才能延续到exitbootservice()之后需要解决,不解决这个问题也 ...

  要硬盘格式的才可以,您看一下能不能解决,就是要在这个内存硬盘上跑到7B蓝屏

点评

也就是说将控制权交给img里面的bootx64.efi就完事?那7b怎么解决呢?  详情 回复 发表于 2019-7-28 13:18
回复

使用道具 举报

33#
 楼主| 发表于 2019-7-28 13:18:40 | 只看该作者
282198284 发表于 2019-7-28 12:59
要硬盘格式的才可以,您看一下能不能解决,就是要在这个内存硬盘上跑到7B蓝屏

也就是说将控制权交给img里面的bootx64.efi就完事?那7b怎么解决呢?

点评

7b后是P驱的事了  详情 回复 发表于 2019-7-28 13:27
回复

使用道具 举报

34#
发表于 2019-7-28 13:27:02 | 只看该作者
dido0379 发表于 2019-7-28 13:18
也就是说将控制权交给img里面的bootx64.efi就完事?那7b怎么解决呢?

7b后是P驱的事了
回复

使用道具 举报

35#
发表于 2019-8-4 01:54:31 | 只看该作者
本帖最后由 lhb9900 于 2019-8-4 01:55 编辑

请教 initrd         ${xieyi}://${next-server}/test.iso   当test.iso超大时(深度Linux deepin.iso 2.26GB)载入始终卡在0%

内存给了8G

点评

不太清楚  详情 回复 发表于 2019-8-4 21:05
回复

使用道具 举报

36#
发表于 2019-8-4 01:57:32 | 只看该作者
wintoflash大文件管理器可以集成这个工具了,很优秀
回复

使用道具 举报

37#
发表于 2019-8-4 13:58:21 | 只看该作者
不能支持centos.iso,centos.iso好像只持放在FAT32

点评

是的,isoboot只支持fat32。  详情 回复 发表于 2019-8-4 21:09
回复

使用道具 举报

38#
发表于 2019-8-4 14:03:10 | 只看该作者
pcfan120 发表于 2019-7-8 12:18
还有一个大师做的也不错,可以借鉴下互联网启动,我等小白没看很明白
http://wuyou.net/forum.php?mod=vie ...

这个港哥,我也没有看懂,好像意思一个中转服务器
回复

使用道具 举报

39#
 楼主| 发表于 2019-8-4 21:05:06 | 只看该作者
lhb9900 发表于 2019-8-4 01:54
请教 initrd         ${xieyi}://${next-server}/test.iso   当test.iso超大时(深度Linux deepin.iso 2.26 ...

不太清楚
回复

使用道具 举报

40#
 楼主| 发表于 2019-8-4 21:09:38 | 只看该作者
lhb9900 发表于 2019-8-4 13:58
不能支持centos.iso,centos.iso好像只持放在FAT32

是的,isoboot只支持fat32。

点评

建议 1、对boot*.efi启动文件路径作大小路径兼容 2、编译,一个x64、一个x86 创建内存盘4G以上(现在光盘很多都超2G)  详情 回复 发表于 2019-8-5 02:03
回复

使用道具 举报

41#
发表于 2019-8-5 02:03:45 | 只看该作者
dido0379 发表于 2019-8-4 21:09
是的,isoboot只支持fat32。

建议
1、对boot*.efi启动文件路径作大小路径兼容
2、编译,一个x64、一个x86  创建内存盘4G以上(现在光盘很多都超2G)

点评

这个工具只能用于启动PE光盘镜像  详情 回复 发表于 2019-8-5 08:44
回复

使用道具 举报

42#
 楼主| 发表于 2019-8-5 08:44:46 | 只看该作者
lhb9900 发表于 2019-8-5 02:03
建议
1、对boot*.efi启动文件路径作大小路径兼容
2、编译,一个x64、一个x86  创建内存盘4G以上(现在光 ...

这个工具只能用于启动PE光盘镜像

点评

我看你的源码,虚拟内存盘才给了2G  详情 回复 发表于 2019-8-5 09:01
回复

使用道具 举报

43#
发表于 2019-8-5 09:01:34 | 只看该作者
dido0379 发表于 2019-8-5 08:44
这个工具只能用于启动PE光盘镜像

我看你的源码,虚拟内存盘才给了2G

点评

感谢大佬指出,能帮个忙贴出错误位置吗,我知道有错误,就是找不到。  详情 回复 发表于 2019-8-6 10:13
回复

使用道具 举报

44#
 楼主| 发表于 2019-8-6 10:13:36 | 只看该作者
lhb9900 发表于 2019-8-5 09:01
我看你的源码,虚拟内存盘才给了2G

感谢大佬指出,能帮个忙贴出错误位置吗,我知道有错误,就是找不到。

点评

这个我也看不懂,应该是在这个里面 MyRamDisk.h  详情 回复 发表于 2019-8-6 10:21
回复

使用道具 举报

45#
发表于 2019-8-6 10:21:52 | 只看该作者
dido0379 发表于 2019-8-6 10:13
感谢大佬指出,能帮个忙贴出错误位置吗,我知道有错误,就是找不到。

这个我也看不懂,应该是在这个里面
MyRamDisk.h

点评

谢谢,我再检查一下,另外加了一些功能,将名字改成imgboot,可以支持硬盘镜像,不过还有些问题没有解决所以暂时没发出来。  详情 回复 发表于 2019-8-6 14:00
回复

使用道具 举报

46#
 楼主| 发表于 2019-8-6 14:00:49 | 只看该作者
lhb9900 发表于 2019-8-6 10:21
这个我也看不懂,应该是在这个里面
MyRamDisk.h


谢谢,我再检查一下,另外已经加了一些功能,将名字改成了imgboot,可以支持硬盘镜像,不过还有些问题没有解决所以暂时没发出来。

点评

请问你的编译环境是怎么搭建的,有什么简单的方法吗!我这边想搭建EFI编译环境,但发现VS2019安装要几十GB的空间  详情 回复 发表于 2019-8-6 14:08

评分

参与人数 1无忧币 +10 收起 理由
l10x + 10 赞一个!

查看全部评分

回复

使用道具 举报

47#
发表于 2019-8-6 14:08:48 | 只看该作者
dido0379 发表于 2019-8-6 14:00
谢谢,我再检查一下,另外已经加了一些功能,将名字改成了imgboot,可以支持硬盘镜像,不过还有些问题 ...

请问你的编译环境是怎么搭建的,有什么简单的方法吗!我这边想搭建EFI编译环境,但发现VS2019安装要几十GB的空间
回复

使用道具 举报

48#
发表于 2019-8-6 14:11:40 | 只看该作者
另外改好较新的,联系一下W大,他会移植你的imgboot到他的GRUB2文件管理
回复

使用道具 举报

49#
发表于 2019-8-6 14:15:59 | 只看该作者
本帖最后由 lhb9900 于 2019-8-6 14:43 编辑

regexp --set=isoboot_file '(/.*)'        "$grub_file"        
if [ 'efi' == $grub_platform ]; then
menuentry "用isobootx64.efi直接启动${isoboot_file}(CentOS和大于2G尚不支持)"  --hotkey="${i}" --class wim{
echo (正在后台加载文件,请等待。。)
chainloader ($root)/Boot/grub/isoboot.efi ${isoboot_file}
}
fi   

点评

另外发现有一个问题:(hd0,msdos1)/ISO/my.iso 若前面带区动号不能启动  详情 回复 发表于 2019-8-6 14:18
回复

使用道具 举报

50#
发表于 2019-8-6 14:18:40 | 只看该作者
本帖最后由 lhb9900 于 2019-8-6 14:21 编辑
lhb9900 发表于 2019-8-6 14:15
regexp --set=isoboot_file '(/.*)'        "$grub_file"        
          if [ 'efi' == $grub_platform ]; then
           menue ...


另外发现有一个问题:(hd0,msdos1)/ISO/my.iso 若前面带分区号不能启动

所以我用regexp --set=isoboot_file '(/.*)'        "$grub_file"   去掉了分区号成:/ISO/my.iso 才能启动
回复

使用道具 举报

51#
发表于 2019-8-21 22:53:55 | 只看该作者
这么好的贴子竟然没人管了,哎
回复

使用道具 举报

52#
发表于 2019-8-28 14:20:07 | 只看该作者
本帖最后由 西门庆歌 于 2019-8-28 14:22 编辑

楼主很强~~~

不过某些情况下,在ipxe菜单中写上sanboot引导iso也可以。。。无需解压出来wimboot
实际测试:技嘉主板B250客户端uefi pxe引导

点评

不需解压也能wimboot。。。。 楼主的东东是启本地iso的,本地用糝勃特就不行了  详情 回复 发表于 2019-8-28 17:47
回复

使用道具 举报

53#
发表于 2019-8-28 17:47:18 | 只看该作者
西门庆歌 发表于 2019-8-28 14:20
楼主很强~~~

不过某些情况下,在ipxe菜单中写上sanboot引导iso也可以。。。无需解压出来wimboot

不需解压也能wimboot。。。。
楼主的东东是启本地iso的,本地用糝勃特就不行了
回复

使用道具 举报

54#
发表于 2019-9-8 20:04:36 | 只看该作者
楼主最近在做什么,期待你的完美作品
回复

使用道具 举报

55#
发表于 2019-9-8 20:04:40 | 只看该作者
楼主最近在做什么,期待你的完美作品
回复

使用道具 举报

56#
 楼主| 发表于 2019-9-12 13:28:40 | 只看该作者
更新了一下附件,imgboot可以下载了。
回复

使用道具 举报

57#
发表于 2019-9-12 16:47:50 | 只看该作者
本帖最后由 lhb9900 于 2019-9-12 17:28 编辑

当没有imgboot.cfg文件    grub2   imgboot   不能启动ISO   isoboot 能启动ISO


解决方法

set imgboot_file=my.iso

          if [ 'efi' == $grub_platform -a "$grub_cpu" == "x86_64" ]; then
           menuentry "用imgboot64.efi直接启动${imgboot_file}"  --hotkey="${i}" --class iso{
                                   echo (正在后台加载文件,请等待。。)
          chainloader ($root)/Boot/grub/imgboot.efi -dev auto -file ${imgboot_file}
    }
    fi
   
    if [ 'efi' == $grub_platform -a "$grub_cpu" == "i386" ]; then
               menuentry "用imgboot32.efi直接启动${imgboot_file}"  --hotkey="${i}" --class iso{
                                   echo (正在后台加载文件,请等待。。)
          chainloader ($root)/Boot/grub/imgboot32.efi -dev auto -file ${imgboot_file}
    }
   fi
回复

使用道具 举报

58#
发表于 2019-9-12 18:09:32 | 只看该作者
本帖最后由 lhb9900 于 2019-9-12 18:13 编辑

我通过GRUB2列出别的分区的ISO
请问GRUB2带驱动号(hd0,msdos3)/my.iso的路径如何转换给imgboot.efi
比如列的文件作为变量

chainloader ($root)/Boot/grub/imgboot.efi -dev auto -file ${imgboot_file}
回复

使用道具 举报

59#
发表于 2019-9-12 18:14:15 | 只看该作者
CentOS尚不支持
回复

使用道具 举报

60#
 楼主| 发表于 2019-9-12 22:53:15 来自手机 | 只看该作者
linux光盘镜像用grub2直接可以启动,这个小工具主要是帮助启动pe光盘镜像。确实不支持grub2的分区号。感谢反馈。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-24 21:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表