无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: 江南一根葱
打印 上一主题 下一主题

[发布] [史上最伟大网管]全球首发!EFI下网络安装微软原版系统测试版(20200113)

    [复制链接]
1#
发表于 2020-1-16 16:50:46 | 显示全部楼层
xfsredir 不提供命令行参数
LZ比较了这个和httpdisk了吗?哪个对大文件的速度快些

点评

用批处理修改ini的方式可以达到参数效果  详情 回复 发表于 2020-1-16 18:59
回复

使用道具 举报

2#
发表于 2020-1-16 19:36:40 | 显示全部楼层
请教一个问题,在grub2菜单脚本中,如何判断当前是网络启动还是本地启动?W老大叫我来问你。
已知$root已经是tftp,ip address,取前面4个字符的字符操作g2中有不有?

点评

我比较粗暴 if [ "$net_default_server" != "" ]; then 网启 else 不是网启 fi; 或者 if [ "$bootdev" = "tftp" ]; then 网启 else 不是网启 fi;  详情 回复 发表于 2020-1-16 19:40
回复

使用道具 举报

3#
发表于 2020-1-16 19:47:38 | 显示全部楼层
江南一根葱 发表于 2020-1-16 19:40
我比较粗暴
if [ "$net_default_server" != "" ]; then
网启

哦,用这两个参数,测试可行
回复

使用道具 举报

4#
发表于 2020-1-16 23:07:14 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-16 23:10 编辑

一根葱老大。我这人有点强迫症,一直在弄那个BIOS PXE下GRUB2的网启菜单,如果继续沿用其他方式的启动菜单用来启动PE就不行了,如
menuentry "启动 WIN7 PE" --class windows --class os {
  ntldr /BOOT/H3_MGRW7.BIN (注:这个是bootmgr改的,改了bcd名称,下同)
}
menuentry "启动 WIN8 PE" --class windows --class os {
  ntldr /BOOT/H3_MGRW8.BIN
}
。。。。
这个启动时就讲找不到相应的BCD文件。这个有不有什么好方案,让WIM格式的winpe也可以在grub2下的bios pxe环境网启成功?

点评

网启可以用ipxe的wimboot,和ipxe用法是一样的,比如有个文件名为wimboot的gz压缩包,里面含有bootmgr,bootmgr.exe,bcd,boot.sdi这些文件 可以写成 loopback wimboot /wimboot; linux16 (wimboot)/wimboot;  详情 回复 发表于 2020-1-17 09:34
回复

使用道具 举报

5#
发表于 2020-1-17 14:59:43 | 显示全部楼层
江南一根葱 发表于 2020-1-17 09:34
网启可以用ipxe的wimboot,和ipxe用法是一样的,比如有个文件名为wimboot的gz压缩包,里面含有bootmgr,b ...

这个地址又是哪个发布的?

点评

摸改版的grub2啊,efi下支持map和ntboot的那个 bios下也摸改过的,支持proxydhcp  详情 回复 发表于 2020-1-17 15:44
回复

使用道具 举报

6#
发表于 2020-1-17 15:45:51 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-17 15:53 编辑
江南一根葱 发表于 2020-1-17 09:34
网启可以用ipxe的wimboot,和ipxe用法是一样的,比如有个文件名为wimboot的gz压缩包,里面含有bootmgr,b ...

主要代码如下:
  1. function wimbootpe {
  2. linux16 ($root)/BOOT/wimboot;
  3. initrd16 newc:bootmgr:($root)/BOOT/$1 \
  4.          newc:$2:($root)/BOOT/$2 \
  5.          newc:boot.sdi:($root)/BOOT/boot.sdi \
  6.          newc:$3:($root)/BOOT/$3;
  7. }

  8.         if [ "$bootdev" = "tftp" ]; then
  9.                 set root=http,$net_pxe_next_server
  10.                 menuentry "启动 WIN7 PE" --class windows --class os {
  11.                   wimbootpe H3_MGRW7.BIN BW7 H3_7PE.WIM
  12.                 }
  13.                 menuentry "启动 WIN8 PE" --class windows --class os {
  14.                   wimbootpe H3_MGRW8.BIN BW8 H3_8PE.WIM
  15.                 }
  16. ........
复制代码
先判断,如果是网启,就把root变成http,在服务器这边看到下载速度提高了很多,但无论要不要变成HTTP,都出错了,变成HTTP后出现错误窗口更快,因为一下子就下完了;


目前用到的g2ldr.0是用wintoflash发布的版本定制的,定制时加了pxe/pxechain/tftp/http等模块

点评

另外就是 你用wintoflash的摸改版就不要用set root=http,$net_pxe_next_server这句,、 摸改版现在默认是支持proxydhcp的,也就是net_default_server值是proxydhcp地址 原先不支持proxydhcp的grub2,$net_pxe_nex  详情 回复 发表于 2020-1-17 16:04
你只需要准备一个bcd文件 紧跟在newc:后面的不要改它 如newc:bootmgr名字不要动 比如newc:boot.wim 你只需要把bcd指向newc:后面的boot.wim就可以了  详情 回复 发表于 2020-1-17 15:58
回复

使用道具 举报

7#
发表于 2020-1-17 16:07:09 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-17 16:09 编辑
江南一根葱 发表于 2020-1-17 15:58
你只需要准备一个bcd文件
紧跟在newc:后面的不要改它 如newc:bootmgr名字不要动 再比如newc:boot.wim
...

好像不完全是这样的吧。因为这样用,在ipxe中没有任何问题,即保证要有bootmgr,BCD名称和WIM的名称可以任意(即bootmgr可以改BCD名称,BCD中当然就可以指定任何PE了),如下ipxe菜单没有问题
  1. :w7pe
  2.   kernel http://${next-server}/BOOT/wimboot                                #http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
  3.   initrd http://${next-server}/BOOT/H3_MGRW7.BIN bootmgr
  4.   initrd http://${next-server}/BOOT/BW7        BW7
  5.   initrd http://${next-server}/BOOT/boot.sdi boot.sdi
  6.   initrd http://${next-server}/BOOT/H3_7PE.WIM H3_7PE.WIM
  7.   boot || goto failed
  8.   goto start

  9. :w8pe
  10.   kernel http://${next-server}/BOOT/wimboot
  11.   initrd http://${next-server}/BOOT/H3_MGRW8.BIN bootmgr
  12.   initrd http://${next-server}/BOOT/BW8        BW8
  13.   initrd http://${next-server}/BOOT/boot.sdi boot.sdi
  14.   initrd http://${next-server}/BOOT/H3_8PE.WIM H3_8PE.WIM
  15.   boot || goto failed
  16.   goto start
复制代码



点评

你这个应该是为了各种环境通用啥的才改的吧,我倒没这么用过,要不先试试整套不没改bootmgr的再排除下问题  详情 回复 发表于 2020-1-17 16:12
回复

使用道具 举报

8#
发表于 2020-1-17 17:24:37 | 显示全部楼层
一样的问题,试了下不用函数的
  menuentry "启动 WIN8.1 PE" --class windows --class os {
   linux16 ($root)/BOOT/wimboot
   initrd16 ($root)/BOOT/H3_MGR81.BIN bootmgr
   initrd16 ($root)/BOOT/B81 B81
   initrd16 ($root)/BOOT/boot.sdi boot.sdi
   initrd16 ($root)/BOOT/H3_81PE.WIM H3_81PE.WIM
  }


看到错误提示如下:


回复

使用道具 举报

9#
发表于 2020-1-17 20:04:20 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-17 20:13 编辑

按你的写法
   menuentry "启动 WIN8.1 PE 64" --class windows --class os {
  linux16 ($root)/BOOT/wimboot;
  initrd16 newc:bootmgr:($root)/BOOT/H3_MGR16.BIN \
         newc:B10:($root)/BOOT/B10 \
         newc:boot.sdi:($root)/BOOT/boot.sdi \
         newc:H3_8164.WIM:($root)/BOOT/ H3_8164.WIM;
}

错误提示是这样的:


反正都有问题

Windows 10-2020-01-17-20-02-12.png (8.19 KB, 下载次数: 287)

Windows 10-2020-01-17-20-02-12.png
回复

使用道具 举报

10#
发表于 2020-1-17 21:51:02 | 显示全部楼层
算了,不折腾了,g2的bios PXE网启就是个大坑,菜单中直接转iPXE了。
回复

使用道具 举报

11#
发表于 2020-1-19 15:21:13 | 显示全部楼层
本帖最后由 hhh333 于 2020-1-19 15:24 编辑
江南一根葱 发表于 2020-1-17 20:25
那就不太清楚了,你这个用法我还是头一次见

报告一下,一直在用win8pe测试,今天用W81、10试了一下,竟然成功了。又把win8的换成win10的bootmgr,好像也成功了。但又换用最新的bootmgr也失败了。看来这个winboot挑bootmgr。现在用以前我改BCD名称的那个是可以,回头我想重新来做一个又反复不成功。不知当初是怎么做的。用你发的那个包里面的bootmgr也启动不了w8PE。

另外,wimboot好像2.06版后一直没有更新,是17年的,从这个来看,是不是要用较早bootmgr才行。我现在用的win10-10240中的似乎没问题。

回复

使用道具 举报

12#
发表于 2020-1-19 19:34:26 | 显示全部楼层
江南一根葱 发表于 2020-1-19 15:33
自己用wimboot我都是g4d下写菜单用的,一直也没问题,网启是ipxe   grub2是备用
grub2网启一般efi下用
...

BIOS时期的产物,每套bootmgr-BCD对应一个WIM,g4d一直没有问题,近期用g2就有问题,当然都是指BIOS环境
回复

使用道具 举报

13#
发表于 2020-1-19 20:34:03 | 显示全部楼层
wintoflash 发表于 2020-1-19 19:52
g4d下你也用的wimboot?
bios下grub4dos和grub2启wimboot的原理不是一样吗。。。
还有,wimboot最新版是 ...

1、wimboot我是在这里下的:http://git.ipxe.org/releases/wimboot/wimboot-latest.zip.
2、g4d中chenall工具中有用wimboot方式

有些菜单为什么要这么用,现在也想不起来了。真是汗颜。
回复

使用道具 举报

14#
发表于 2020-1-29 13:54:16 | 显示全部楼层
近期窝在家里,在对grub2不断充电,有几个问题请教一下:
1、wimboot用法
经过你的指导,bios下成功了,但efi下总出bad file错误,不知什么原因
2、转其他启动器
主要是xorboot和rEFInd,也不成功,不知道写法有不有问题

以下是我的菜单,$prefix设定到/efi/grub
  1. #### For Bios+EFI64/32 edit by H3 ####
  2. #set default=0
  3. #set fallback=0
  4. set gfxmode=1024x768,auto
  5. set gfxterm_font=unicode
  6. set lang=zh_CN
  7. set locale_dir=$prefix/locale
  8. set pager=1
  9. set timeout=30
  10. set enable_progress_indicator=0

  11. #激活图形模式的输出终端,以允许使用中文和背景图
  12. terminal_output gfxterm
  13. #设置背景图片或颜色
  14. background_image $prefix/themes/winly/wallpaper.png
  15. if [ $? != 0 ]; then
  16.         background_color "#003345"
  17. fi
  18. #加载字体文件($prefix/fonts/unicode.pf2)
  19. loadfont unicode
  20. #加载主题
  21. #set theme=$prefix/themes/winly/theme.txt
  22. #set theme=$prefix/themes/lighthousegrub/theme.txt
  23. #export theme

  24. function wimbootpe {
  25. if [ "$4" == "" ]; then
  26.         set fwim=$3
  27. else
  28.         set fwim=$4
  29. fi
  30. linux16 ($root)/BOOT/wimboot;
  31. initrd16 newc:bootmgr:($root)/BOOT/$1 \
  32.          newc:$2:($root)/BOOT/$2 \
  33.          newc:boot.sdi:($root)/BOOT/boot.sdi \
  34.          newc:$fwim:($root)/BOOT/$3;
  35. }

  36. function WimPeEfi {
  37.   wimboot @:bootmgfw.efi:/efi/grub/boot/$1 \
  38.           @:bcd:/efi/microsoft/boot/$2 \
  39.           @:boot.sdi:/BOOT/boot.sdi \
  40.           @:$3:/BOOT/$3
  41. #linux /BOOT/wimboot
  42. #initrd -n bootx64.efi /efi/boot/$1
  43. #initrd -n bcd /efi/microsoft/boot/$2
  44. #initrd /BOOT/boot.sdi
  45. #initrd /BOOT/$3
  46. }
  47. if [ "${grub_platform}" == "efi" ]; then
  48.   if [ "${grub_cpu}" == "x86_64" ]; then
  49.           # 此处可添加EFI64工具
  50.                 if [ "$root" == "cd0" ]; then
  51.                         set ldrwinpe=shellx64.efi
  52.                 else
  53.                         set ldrwinpe=msbootx64.efi
  54.                 fi
  55.           menuentry "Windows 8/81/10 X64_EFI" --class windows --class os {
  56.                   search --no-floppy --file --set=root /efi/boot/$ldrwinpe
  57.                   chainloader /efi/boot/$ldrwinpe
  58.           }
  59.           menuentry "Windows 8 X64_EFI by Wimboot" --class windows --class os {
  60.                   WimPeEfi msbootx64.efi b64 H3_864.WIM
  61.           }
  62.           menuentry "Windows 8.1 X64_EFI by Wimboot" --class windows --class os {
  63.                   WimPeEfi msbootx64.efi b16 H3_8164.WIM
  64.           }
  65.           menuentry "Windows 10 X64_EFI by Wimboot" --class windows --class os {
  66.                   WimPeEfi msbootx64.efi b06 H3_1064.WIM
  67.           }
  68.           menuentry "MemTest 7.4 EFI64" --class recovery --class os {
  69.                   search --no-floppy --file --set=root /efi/boot/MEMBOOTX64.EFI
  70.                   chainloader /efi/boot/MEMBOOTX64.EFI
  71.           }
  72.           menuentry "KonBoot 2.5 EFI64" --class gentoo --class os {
  73.                   search --no-floppy --file --set=root /efi/boot/KonBootx64.efi
  74.                   chainloader /efi/boot/KonBootx64.efi
  75.           }
  76.           menuentry "Grub2 RUN" --class submenu --class os {
  77.                   chainloader $prefix/run.efi
  78.           }
  79.           menuentry "Grub2 文件管理器" --class submenu --class os {
  80.                   chainloader $prefix/grubfmx64.efi
  81.           }
  82.           menuentry "转Xorboot启动" --class submenu --class os {
  83.                   search -n -f -s /efi/boot/xorbootx64.efi
  84.                   chainloader /efi/boot/xorbootx64.efi
  85.           }
  86.           menuentry "转rEFInd启动" --class submenu --class os {
  87.                   search -n -f -s /efi/boot/refbootx64.efi
  88.                   chainloader /efi/boot/refbootx64.efi
  89.           }
  90.   else
  91.           # 此处可添加EFI32工具
  92.                 if [ "$root" == "cd0" ]; then
  93.                         set ldrwinpe=shellia32.efi
  94.                 else
  95.                         set ldrwinpe=msbootia32.efi
  96.                 fi
  97.           menuentry "Windows 8/81/10 X32_EFI" --class windows --class os {
  98.                   search --no-floppy --file --set=root /efi/boot/$ldrwinpe
  99.                   chainloader /efi/boot/$ldrwinpe
  100.           }
  101.           menuentry "Windows 8 X32_EFI by Wimboot" --class windows --class os {
  102.                   WimPeEfi msbootia32.efi b832 H3_8PE.WIM
  103.           }
  104.           menuentry "Windows 8.1 X32_EFI by Wimboot" --class windows --class os {
  105.                   WimPeEfi msbootia32.efi b8132 H3_81PE.WIM
  106.           }
  107.           menuentry "Windows 10 X32_EFI by Wimboot" --class windows --class os {
  108.                   WimPeEfi msbootia32.efi b1032 H3_10PE.WIM
  109.           }
  110.           menuentry "MemTest 7.4 EFI32" --class recovery --class os {
  111.                   search --no-floppy --file --set=root /efi/boot/MEMBOOTIA32.EFI
  112.                   chainloader /efi/boot/MEMBOOTIA32.EFI
  113.           }
  114.           menuentry "KonBoot 2.5 EFI32" --class gentoo --class os {
  115.                   search --no-floppy --file --set=root /efi/boot/KonBootia32.efi
  116.                   chainloader /efi/boot/KonBootia32.efi
  117.           }
  118.           menuentry "Grub2 文件管理器" --class submenu --class os {
  119.                   chainloader $prefix/grubfmia32.efi
  120.           }
  121.           menuentry "转Xorboot启动" --class submenu --class os {
  122.                   chainloader /efi/boot/xorbootia32.efi
  123.           }
  124.           menuentry "转rEFInd启动" --class submenu --class os {
  125.                   chainloader /efi/boot/refbootia32.efi
  126.           }
  127.   fi
  128. else
  129.   # 此处可添加Bios工具
  130.         if [ "$bootdev" = "tftp" ]; then
  131.                 set root=http,$net_pxe_next_server
  132.                 menuentry "启动 WIN7 PE" --class windows --class os {
  133.                   wimbootpe H3_MGR10.BIN B10 H3_7PE.WIM H3_10PE.WIM
  134.                 }
  135.                 menuentry "启动 WIN8 PE" --class windows --class os {
  136.                   wimbootpe H3_MGR10.BIN B10 H3_8PE.WIM H3_10PE.WIM
  137.                 }
  138.                 menuentry "启动 WIN8 PE 64" --class windows --class os {
  139.                   wimbootpe H3_MGR10.BIN B10 H3_864.WIM H3_10PE.WIM
  140.                 }
  141.                 menuentry "启动 WIN8.1 PE" --class windows --class os {
  142.                   wimbootpe H3_MGR81.BIN B81 H3_81PE.WIM
  143.                 }
  144.           menuentry "启动 WIN8.1 PE 64" --class windows --class os {
  145.                   wimbootpe H3_MGR16.BIN B16 H3_8164.WIM
  146.           }
  147.           menuentry "启动 WIN10 PE" --class windows --class os {
  148.                   wimbootpe H3_MGR10.BIN B10 H3_10PE.WIM
  149.           }
  150.           menuentry "启动 WIN10 PE 64" --class windows --class os {
  151.                   wimbootpe H3_MGR06.BIN B06 H3_1064.WIM
  152.           }
  153.           menuentry "转iPXE菜单" --class submenu --class os {
  154.                         linux16 /BOOT/IPXE.KRN
  155.                         initrd16 /BOOT/H3_iPXEM.LST
  156.                         #ntldr /ipxe.0
  157.                 }
  158.         else
  159.                 menuentry "启动 WIN7 PE" --class windows --class os {
  160.                 #        insmod part_msdos
  161.                 #        insmod fat
  162.                         ntldr /BOOT/H3_MGRW7.BIN
  163.                 }
  164.                 menuentry "启动 WIN8 PE" --class windows --class os {
  165.                 #        insmod part_msdos
  166.                 #        insmod fat
  167.                         ntldr /BOOT/H3_MGRW8.BIN
  168.                 }
  169.                 menuentry "启动 WIN8 PE 64" --class windows --class os {
  170.                 #        insmod part_msdos
  171.                 #        insmod fat
  172.                         ntldr /BOOT/H3_MGR64.BIN
  173.                 }
  174.                 menuentry "启动 WIN8.1 PE" --class windows --class os {
  175.                         ntldr /BOOT/H3_MGR81.BIN
  176.                 }
  177.           menuentry "启动 WIN8.1 PE 64" --class windows --class os {
  178.                   ntldr /BOOT/H3_MGR16.BIN
  179.           }
  180.           menuentry "启动 WIN10 PE" --class windows --class os {
  181.                   ntldr /BOOT/H3_MGR10.BIN
  182.           }
  183.           menuentry "启动 WIN10 PE 64" --class windows --class os {
  184.                   ntldr /BOOT/H3_MGR06.BIN
  185.           }
  186.                 menuentry "启动 Win2003 PE" --class windows --class os {
  187.                         #set root='(hd0,msdos1)'
  188.                         ntldr /BOOT/H3_LDR03.BIN
  189.                 }
  190.           menuentry "启动 Win2003 PE 全内置" --class windows --class os {
  191.                   ntldr /BOOT/H3_LDRIN.BIN
  192.           }
  193.           menuentry "启动 Win2003 PE Native" --class windows --class os {
  194.                   ntldr /BOOT/H3_LDRNV.BIN
  195.           }
  196.           menuentry "启动 Win2003 PE 非RAM" --class windows --class os {
  197.                   ntldr /BOOT/H3_LDRRM.BIN
  198.           }
  199.         fi
  200.   menuentry "Grub2 文件管理器" --class submenu --class os {
  201.                 linux $prefix/loadfm  
  202.                 initrd $prefix/grubfm.iso
  203.         }
  204.   menuentry "启动 Slitaz Linux 系 统" --class slitaz --class os {
  205.           linux /BOOT/BZIMAGE rw root=/dev/null vga=normal autologin
  206.           initrd /BOOT/ROOTFS.GZ
  207.   }
  208.   # menuentry "启动 DOS分区克隆工具(驱动USB/SCSI/1394/CDROM并克隆)" --class osx {
  209.   #        linux16 /winly/memdisk img raw
  210.   #        initrd16 /BOOT/IMGS/GRGHOST.IMG
  211.   # }
  212.   # menuentry "启动 MaxDos7强化版(各种DOS下的磁盘、BIOS及网克工具)" --class osx --class os {
  213.   #        insmod part_msdos
  214.   #        insmod fat
  215.   #        linux16 /winly/memdisk img raw
  216.   #        initrd16 /BOOT/IMGS/MAXDOS.IMG
  217.   # }
  218.   menuentry "启动第二硬盘第一分区系统" --class windows --class os {
  219.   #        insmod part_msdos
  220.   #        insmod ntfs
  221.           set root='(hd1,msdos1)'
  222.           chainloader +1
  223.   }
  224.   menuentry "进入DOS工具集" --class osx --class os {
  225.           ntldr /BOOT/H3_GRDOS.BIN
  226.   }
  227.   menuentry "转Grub4DOS菜单" --class submenu --class os {
  228.           ntldr /grldr
  229.   }
  230. fi

  231. # 此处可添加共同工具
  232. menuentry "重启Reboot" --class reboot --class os {
  233.         reboot
  234. }
  235. menuentry "关机Shutdown" --class Shutdown --class os {
  236.         halt
  237. }
复制代码



回复

使用道具 举报

15#
发表于 2020-1-29 19:52:48 | 显示全部楼层
江南一根葱 发表于 2020-1-29 15:59
我都窝家里看了n部电影
efi下的wimboot网启的话试下用这种方式
https://github.com/zwj4031/netgrubfm/ ...

用官方的grub2.04不行,没有linuxefi命令,换2.05说官方的wimboot太老,下这个最新的通过。
这个wimboot不知道与官方发行的那个适配iPXE的42kb的兼不兼容
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-5 15:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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