NoName Team 電腦資訊討論區

 找回密碼
 我要註冊
搜索
查看: 3386|回復: 2

[討論] XPE on PXE

[複製鏈接]
發表於 2017-8-22 03:39:00 | 顯示全部樓層 |閱讀模式
本帖最後由 pinko 於 2017-8-22 04:01 編輯

來說說最近測試PXE的幾個心得
1.     開機引導
  a.     pxelinux.0
    基本pxe
  b.    gpxelinux.0gpxelinuxk.0
    可載入sanboot,只支援tfpt讀取速度超慢
  c.      ipxe.kpxe undionly.kpxe
    支援http載檔,讀取速度快,但批次指令好像要自行編譯內建或ctrl-b進入命令列
  d.     IPXE.KRN
    可用kernel叫用後置命令參數 或 initrd 加入批次檔
    有sanhook 可掛網路碟
  e.    grldr , ipxegrldr
    方便,中文選單,切換ipxe後就可進入ipxegrldr模式,可直接叫用ipxe 指令且支援http載檔
    直接掛ipxegrldr會自動掛載最新grldr,但(pd)會不見(原因不明)





2.     引導切換
  
     /->
  
pxe
ipxe
IPXE
grldr
pxe

pxechn /ipxe.kpxe
pxechn /IPXE.KRN
pxechn /grldr
ipxe
chain /pxelinux.0
chain /grldr
IPXE
chain /pxelinux.0
chain /grldr
grldr
chainloader --raw /gpxelinux.0
chainloader --raw /ipxe.kpxe
kernel /IPXE.KRN
測試後還是覺得用grldr開機引導最順,叫用IPXE也很方便,最重要的還是有中文選單啊




3.    Gurb on ipxe
  a.    menu.lst
title 載入ipxe帶個硬碟回來grldr
pxe keep
kernel /IPXE.KRN
initrd        /ipxegrub.ipxe
  b.    ipxegrub.ipxe
#!ipxe
dhcp
set keep-san 1
sanhookiscsi:192.168.135.4::::iqn:ds.50
chain /grldr





4.    XPE on PXE
  a.    基本上利用ipxe完全載入記憶體內就可以完整操作,用(pd) tftp真的太慢了
  b.    menu.lst
title ipxe_memdisk_NoName-Xpe
pxe keep
kernel /IPXE.KRN
initrd /NonameXpe.ipxe
  c.    NonameXpe.ipxe
#!ipxe
dhcp
imgargs memdisk iso raw
boot




5.    PEX on PXE
  a.    掛顆iscsi硬碟放外掛工具,直接解開
      利用wimboot載入boot.wim開機
      改pecmd直接call掛用外掛工具
  b.    menu.lst
title ipxe_PE81x86iscsi
pxe keep
kernel /IPXE.KRN
initrd        /bootPE81x86iscsi.ipxe
  c.     bootPE81x86iscsi.ipxe
#!ipxe
dhcp
sanhook --drive 0x80iscsi:192.168.135.4::::iqn:ds.pe
set keep-san 1
initrd http://192.168.135.4/bcd        BCD
initrd http://192.168.135.4/boot.sdi        boot.sdi
initrd http://192.168.135.4/bootmgr        bootmgr
initrd http://192.168.135.4/bootmgr.exe        bootmgr.exe
initrd http://192.168.135.4/boot81x86.wim        boot.wim
boot
  d.    我也有試過全內置,但測試下來好像4g ram都不夠用




6.    WinPE on PXE
  在iscsi碟做一顆pe開機碟
  但只能掛在系統用vm開,pxe開的話應該是沒iscsi驅動就斷了




7.    Win10 on PXE
  在iscsi碟中完整安裝win10且掛上iscsi驅動
  可惜實機都會斷線不再連disk不見
  但在vm中會重連後正常開機,不知vm在iscsi上有動什麼手脚



以上,希望能和大家分享討論
 樓主| 發表於 2017-8-28 20:53:00 | 顯示全部樓層
本帖最後由 pinko 於 2017-8-28 21:00 編輯

沒想到遇到一台舊電腦
開機引導 pxelinux.0 -> ipxe.krn 就重啟
config 裏.... 沒有網卡net0
git ipxe 下來編譯undionly.lkrn 和 ipxe.lkrn 也沒用
但 undionly.kpxe 卻可以用 , 有點奇怪
於是make EMBED script
dhcp
chain --autofree grldr
直接進入ipxegrldr模式
但沒想到 kernel /ipxe.lkrn 後net0又不見了
只好放棄ipxe.lkrn叫用批次模式
才發現ipxegrldr的混搭己經進乎完美

1.     ipxe shell 進入ipxe命令列模式 debug超方便
但使用前要先terminal console 不然看不到 , 應該是ipxe沒有開啟非終端顯示模式吧

2.     map http 很直覺
menu.lst
title NoName-Xpe.iso
map --mem http://192.168.135.4/NoName.iso(hd32)
map --hook
root (hd32)
configfile /menu.lst
boot

3.     kernel  和 initrd http 也行
menu.lst
title ipxe_PE64L
terminal console
kernel http://192.168.135.4/wimboot
initrd @bcd=http://192.168.135.4/bcd @bootmgr=http://192.168.135.4/bootmgr  @boot.sdi=http://192.168.135.4/boot.sdi @bootmgr.exe=http://192.168.135.4/bootmgr.exe  @boot.wim=http://192.168.135.4/PE64L.wim
boot

4.     還是可叫用批次,不用掛kernel
menu.lst
titleipxe_PE32L
terminal console
ipxechain --autofree PE32L.ipxe

PE32L.ipxe
#!ipxe
#dhcp
sanhook--drive 0x80 iscsi:192.168.135.4::::iqn:ds.pe
setkeep-san 1
imgfree  grldr
kernel   wimboot
initrd  bootmgr        bootmgr
initrd  bcd        BCD
initrd  boot.sdi    boot.sdi
initrd  bootmgr.exe        bootmgr.exe
initrd  PE32L.wim        boot.wim
boot

5.  或是單行單行外叫執行
menu.list
titleipxe_PE生成器測試
terminal  console
ipxesanhook --drive 0xff iscsi:192.168.135.4::::iqn:ds.pe
ipxeset keep-san 1
ipxeimgfree  grldr
ipxekernel  wimboot
ipxeinitrd bootmgr        bootmgr
ipxeinitrd bcd         BCD
ipxeinitrd boot.sdi    boot.sdi
ipxeinitrd  bootmgr.exe                bootmgr.exe
ipxeinitrd WinPE.wim                boot.wim
ipxeboot

**這2方法要注意一下幾點
a.     ipxe的讀檔根目錄為http://${next-server}/   而不是pxe的tftp目錄 ,grldr預設的(pd)
b.     ipxe使用memdisk或wimboot或其它載入器時要注意imgstat裏不要有不應出現的東西
不然記憶體配置出錯就會開不起來
(script).ipxe 可以用 --autofree 除去 但 grldr 就只能用imgfree刪除
不知道有沒有人有更好的方法

目前可惜的是好像還沒支援map iscsi:...  (hd0) , 但sanhook就很好用了其實,(雖然只能掛一顆)
iscsi 上的 win10 還是會開機中硬碟失敗
不像 iscsi 上的 ubuntu  , 超好用

最後我在想是不是用個boot.wim啟動後 將系統還給 iscsi 的 C碟 , 是否有可行性 ? win版chroot ?
(好像沒什麼意義啦)

 樓主| 發表於 2017-8-29 09:48:50 | 顯示全部樓層
在安裝CCBoot Client 後
就可以用 gpxelinux.0 直接 sanboot iscsi...win10 成功了
ipxe 也沒問題
看看能不能把CCBoot放到XPE裏(記得有前人作過),和PEX裏
XPE on PXE 就算完成了
您需要登錄後才可以回帖 登錄 | 我要註冊

本版積分規則

小黑屋|手機版|NoName Team 電腦資訊討論區 |網站地圖

GMT+8, 2025-9-18 20:05 , Processed in 0.092754 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表