无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 14176|回复: 50
打印 上一主题 下一主题

[发布] 20190808更新:16MB RyanTC Linux RamOS PXE Server獨立版,M$ Win手工更換引導檔

    [复制链接]
跳转到指定楼层
1#
发表于 2019-8-2 12:02:39 | 显示全部楼层 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hkkitlee 于 2019-10-20 11:42 编辑

更新參考:
編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS



教學已寫過兩編了,本編是成品
編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS
不足16MB的移動Linux系統建pxe伺服器。可由u盤,ipxe啟動

這是個操作系統!這是個操作系統!
說兩次是希望各人下載前看清楚!不太明白這是什麼請參考上面兩篇分享。

這版也是RamOS:除非使用者主動掛載電腦硬碟並對其操作,正常所有儲存操作是在內存發生的;所以重啟後會馬上還原。並因爲此特性不太懂Linux的朋友可以「一邊看教學帖,一邊進去一探究竟」,不怕誤操作危及自身機器。只要重啟就好了。

我的版本不足16MB的移動Linux系統建pxe伺服器。可由u盤,ipxe啟動中是需要連線回我的伺服作啟動。
由於我並不定時開機,所以對於各人使用/學習也不太方便。所以公開下載這個成品「獨立版」。
為了方便入門使用,將增加由「$M 網絡硬盤」更換「PXE引導檔」功能。

寫入影像請參考之前編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS

從主機下載:https://hkkitlee.ddns.net:9000/ryantc.zip

聲明:此版本可作獨立使用。TC啟動時「也是會連回我的主機嘗試更新」(請參考我不足16MB的移動Linux系統建pxe伺服器。可由u盤,ipxe啟動的更新bash),如有需要請自行修改。


评分

参与人数 2无忧币 +10 收起 理由
freesoft00 + 5
lhb9900 + 5 赞一个!

查看全部评分

2#
 楼主| 发表于 2019-8-2 12:02:46 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-8-4 23:15 编辑

增加*自己*的引導檔/文件前需知:

先看看我為了方便增加引導檔選項的dnsmasq.conf設定:

pxe-service=X86PC, "kkpxe for Legacy BIOS", undionly.kkpxe
pxe-service=X86PC, "kpxe for Legacy BIOS", undionly.kpxe
pxe-service=X86PC, "pxe for Legacy BIOS", undionly.pxe
pxe-service=X86PC, "Test for Legacy BIOS", test.bios
#2
pxe-service=IA64_EFI, "Boot IA64_EFI", uefi/ipxe64.efi
pxe-service=IA64_EFI, "Test IA64_EFI", uefi/test64.efi
#6
pxe-service=IA32_EFI, "Boot IA32_EFI", uefi/ipxe32.efi
pxe-service=IA32_EFI, "Test IA32_EFI", uefi/test32.efi
#7
pxe-service=X86-64_EFI, "Boot X86-64_EFI", uefi/ipxe64.efi
pxe-service=X86-64_EFI, "Test X86-64_EFI", uefi/test64.efi
#8
pxe-service=Xscale_EFI, "Boot BC_EFI", uefi/ipxe64.efi
pxe-service=Xscale_EFI, "Test BC_EFI", uefi/test64.efi
#9
pxe-service=BC_EFI, "Boot BC_EFI", uefi/ipxe64.efi
pxe-service=BC_EFI, "Test BC_EFI", uefi/test64.efi
EOF


看不明沒關係,總之我就是預留了以下三個檔名給各位自行引導用
test.bios #給傳統bios機器用
test32.efi #給32bit的EFI機器用
test64.efi #給64bit的EFI機器用

當你們有自已的引導文件,可以根據架構arch先改成以上名稱。
溫馨提示:Linux是大小寫有分別的,這與M$ Windows是不同!

而其他檔名就是會連回我的機器,並下載最新版的RyanBoot所預留的檔名。


經網絡磁碟更換/增加引導文件:

預設網絡名稱:WORKGROUP
預設網路磁碟機的用戶名是:root ;密碼:root

在M$ Win的命令行輸入:net use z: \\ryantc\pxe /user:root root
就是把你的Z盤映射至TC中的Samba PXE中;在「我的電腦」內可看見z:「網絡磁碟」
將bios的啟動文件改好名稱(test.bios)直接放入z:\。即z:\test.bios
將uefi的啟動文件改好名稱(test32.efi/test64.efi)放入z:\uefi\。即z:\uefi\test32.efi


客戶機選擇*自己*的引導文件:
20190804:客戶機啟動時。有10秒時間按F8選擇你自己的引導文件(Test XXXX)作啟動。
Press F8 for NBP (Network Boot Program) menu.



後記:
當我的伺服有啟動時,預留給我用的引導檔會在TC啟動時自行下載。
當我的伺服沒有啟動,你就會看見「網絡磁盤」是空的(只有uefi文件夾)。把你自己的引導改名放入也是可用,是沒問題的。
緊記:當你們的機器關機,所有東西會馬上刪除,不儲存在電腦上,包括所有的引導文件。
如有需要,請自行備份。

回复

使用道具 举报

3#
 楼主| 发表于 2019-8-2 12:43:01 | 显示全部楼层
寫文章不是要一秒內寫完吧。不能慢慢編輯嗎?

先看看我寫過的才下定論也未遲

難道閣下是「閃電俠」?

点评

楼上开玩笑呢。  详情 回复 发表于 2019-8-2 12:46
回复

使用道具 举报

4#
 楼主| 发表于 2019-8-2 13:04:32 | 显示全部楼层
freesoft00 发表于 2019-8-2 12:46
楼上开玩笑呢。
帖子长先在记事本上编辑好,在粘贴到论坛发帖,有时候网络有问题,一点击没有发上去, ...

我幾編文也是用手機邊上班邊偷空寫。

所以才沒法用記事本之類幫忙記錄。
評論我寫的不好、需要改進是完全無問題。

別人的帖我管不了,只希望我的帖是給有心的朋友「有個可以學習/實習」的空間。

点评

多谢hkkitlee大师的分享。。  发表于 2019-8-3 11:00
回复

使用道具 举报

5#
 楼主| 发表于 2019-8-3 10:53:55 | 显示全部楼层
寫入影像請參考之前編譯/設定ipxe usb UEFI Secure boot/Bios 遠程安裝 / 救援 Linux/Winpe10 +ValdikSS

影像檔。備份好u 盤,寫入並usb啟動

点评

xcy
OK  详情 回复 发表于 2019-8-4 00:58
回复

使用道具 举报

6#
 楼主| 发表于 2019-8-3 16:07:18 | 显示全部楼层
♂竇豆♂ 发表于 2019-8-3 14:20
有WIN server 版本的么

win版也沒16MB那麼小

這已是M$ Win用家可更改版
回复

使用道具 举报

7#
 楼主| 发表于 2019-8-4 01:16:08 | 显示全部楼层
guzhentao 发表于 2019-8-4 00:28
已经写入U盘了,引导不了

可否詳細說明你怎麼啟動不了?

你有看讀一樓,二樓嗎?
有自己放置啟動檔嗎?

我測試了很久是可以的
回复

使用道具 举报

8#
 楼主| 发表于 2019-8-4 01:16:50 | 显示全部楼层
lhb9900 发表于 2019-8-4 01:06
楼主来自香港吗,总是用繁体字

回复

使用道具 举报

9#
 楼主| 发表于 2019-8-4 10:47:51 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-8-4 10:52 编辑
lhb9900 发表于 2019-8-4 10:42
IPXE

initrd  ${xieyi}://${next-server}/test.iso   当test.iso超大时(深度Linux deepin.iso 2.26GB ...


${xieyi} 走的是什麼協議?
還有就是什麼啟動方式?

不如你完整的放上來看一下

点评

http console --picture http://${next-server}/Boot/grub/back.png && set boot-server http://${next-server} :EFIstartISO initrd ${boot-server}/ISO/my.iso #这个文件2.26G chain ${  详情 回复 发表于 2019-8-4 10:53
回复

使用道具 举报

10#
 楼主| 发表于 2019-8-4 12:26:50 | 显示全部楼层
Linux 在ipxe啟動,應該是選取「核心」vmlinuz,「內存盤」initrd.gz。需要時才加入核心啟動參數或額外的檔案,如Live的filesystem.squashfs。

上面的檔名在各發行版有些微不同,但這幾個就是{關鍵字}。

取自ipxe.org的例子:
  #!ipxe
  
  set base http://mirror.centos.org/centos/7/os/x86_64
  
  prompt -k 0x197e -t 2000 Press F12 to install CentOS... || exit
  kernel ${base}/images/pxeboot/vmlinuz initrd=initrd.img repo=${base}
  initrd ${base}/images/pxeboot/initrd.img
  boot

点评

互联网安装慢呀,这样的方法并不通用于其它LINUX  详情 回复 发表于 2019-8-4 13:41
回复

使用道具 举报

11#
 楼主| 发表于 2019-8-4 13:12:12 | 显示全部楼层
江南一根葱 发表于 2019-8-4 12:41
要是能用php脚本控制,类似 https://netboot.xyz/这个就好了。。

看source code不像哦

像是用變量導入所需參數
回复

使用道具 举报

12#
 楼主| 发表于 2019-8-4 14:05:13 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-8-4 14:10 编辑
lhb9900 发表于 2019-8-4 13:41
互联网安装慢呀,这样的方法并不通用于其它LINUX,不同的LINUX要用不同的脚本


看來有點誤解了

1啟動方法跟互聯網/內網的「速度」是沒有直接關係的。

2這個方法,我已經在不同的Linux(Centos/Debian/Fedora/Kali/Tinycore/Ubuntu)中
在uefi/bios中測試過,是可以啟動的。些小改變是需要的

3ipxe中整個光盤引導的命令:sanboot,詳細請參閱官網

isoboot.efi在ipxe上chainload啟動有沒有限制?應該需要檢查isoboot.efi和ipxe的文件。因為我未測試過,所以沒有定論。

点评

menuentry "[L]用Linux方式启动ISO" --hotkey="L" --class iso{ echo (正在查找ISO内的Linux启动文件,请等待。。即将菜单末尾列出启动文件) set k="1" GetHotkey regexp -s 1:devstr -s 2:path '\((.*  详情 回复 发表于 2019-8-4 14:15
menuentry "[L]用Linux方式启动ISO" --hotkey="L" --class iso{ echo (正在查找ISO内的Linux启动文件,请等待。。即将菜单末尾列出启动文件) set k="1" GetHotkey regexp -s 1:devstr -s 2:path '\((.*  详情 回复 发表于 2019-8-4 14:10
menuentry "[L]用Linux方式启动ISO" --hotkey="L" --class iso{ echo (正在查找ISO内的Linux启动文件,请等待。。即将菜单末尾列出启动文件) set k="1" GetHotkey regexp -s 1:devstr -s 2:path '\((.*  详情 回复 发表于 2019-8-4 14:10
回复

使用道具 举报

13#
 楼主| 发表于 2019-8-4 14:23:21 | 显示全部楼层
lhb9900 发表于 2019-8-4 14:12
这是较完整LINUX启动脚本,看看就头疼,一直在寻找LINUX整体ISO的方法

這是否grub2的grub.cfg啟動腳本?

点评

是的  详情 回复 发表于 2019-8-4 14:27
回复

使用道具 举报

14#
 楼主| 发表于 2019-8-4 14:43:12 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-8-4 14:45 编辑
lhb9900 发表于 2019-8-4 14:27
是的,你可以慢慢移植


我不會移植的啦

1我的u盤以小巧為主。一般系統最小也得幾百MB!是一定不放u盤內
2我u盤是要可線上更新。
3Grub2從編譯到腳本可真是牛刀。也因為做此u盤才*再*慢慢學習。
4好像沒https支援

論功能說,grub2跟操作系統差不了多小。
回复

使用道具 举报

15#
 楼主| 发表于 2019-8-4 15:12:43 | 显示全部楼层
lhb9900 发表于 2019-8-4 14:27
是的,你可以慢慢移植

其實你可以用這個u盤:根據「本帖2#樓的教學」將你不同架構的引導文件「命名」「放入」在TC的「網絡磁碟」中,就可以使用你自己的引導給客戶機使用。

這個「u 盤」提供的是pxe環境,引導檔這類「軟件」是沒有限制的!!隨你喜歡的
回复

使用道具 举报

16#
 楼主| 发表于 2019-8-5 21:39:16 | 显示全部楼层
江南一根葱 发表于 2019-8-5 20:33
grub2前几天折腾过的,有点惨,不支持https,http启动倒是很方便的,就是。。。

我因為做這U盤,又跳進grub2這苦海

点评

grub2做一般菜单还是挺简单的, 就是不支持https,启不了github上的文件,ipxe已经可以了。。。  详情 回复 发表于 2019-8-5 21:50
回复

使用道具 举报

17#
 楼主| 发表于 2019-8-6 00:25:15 | 显示全部楼层
江南一根葱 发表于 2019-8-5 21:50
grub2做一般菜单还是挺简单的,
就是不支持https,启不了github上的文件,ipxe已经可以了。。。

我在Centos7:

grub2-install --target=x86_64-efi --efi-directory=efi/ --boot-directory=efi/EFI --removable --recheck
grub2-install --target=i386-pc --recheck --boot-directory=efi/EFI /dev/loop8

同一盤安裝兩個啟動,就是grub.cfg會放在不同的資料夾;不是一個cfg共用的..........
煩人
回复

使用道具 举报

18#
 楼主| 发表于 2019-8-6 00:27:10 | 显示全部楼层
江南一根葱 发表于 2019-8-5 21:57
bios下的ipxe脚本算是最终形态了,不去折腾了,接下去折腾ipxe.efi脚本

ipxe script寫得"完整"是bios/uefi通用的,ipxe.efi可以不用折騰

点评

÷д  详情 回复 发表于 2019-8-6 07:51
回复

使用道具 举报

19#
 楼主| 发表于 2019-10-20 11:45:14 | 显示全部楼层
kenvpn 发表于 2019-10-19 01:12
备用档已经挂了,主力档也打不开了

不好意思
因嫌百度更新麻煩已刪除又忘記更新
請從主機下載
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-15 12:48

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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