无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 47607|回复: 103

[原创] dnsmasq设置bios和uefi双启动多引导菜单(完美)

  [复制链接]
发表于 2019-10-10 18:49:27 | 显示全部楼层
http://bbs.wuyou.net/forum.php?m ... &fromuid=678562
我摸索的不用tag,感覺就是有多種寫法頗混亂

pxe-service=X86PC, "Install Legacy BIOS", undionly.kpxe
pxe-service=IA32_EFI, "Boot BC_EFI", uefi/ipxe.efi
pxe-service=BC_EFI, "Boot BC_EFI", uefi/ipxe.efi
pxe-service=X86-64_EFI, "Boot X86-64", uefi/ipxe.efi

回复

使用道具 举报

发表于 2019-10-11 19:06:34 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-10-11 19:22 编辑

其實寫法我不只一個,我貼中加了#號的就是在ddwrt路由器用的,當搬到x86 Centos7就啟動不了。

話說為何那般肯定我寫法啟動不了呢?
兩台x86-efi,兩台bios及kvm bios/efi已經實測啟動過了
始終不同架構的實體機不多,不過理論上回報arch是一樣的

x86-64用的是dnsmasq-2.76-9.el7.x86_64
ddwrt用Dnsmasq version 2.78  Copyright (c) 2000-2017 Simon Kelley
回复

使用道具 举报

发表于 2019-10-12 12:42:22 | 显示全部楼层
友联电脑 发表于 2019-10-12 10:15
假如在没有关闭安全启动时,网络初始化时,可以手动选择一下,调用哪个去引导。是这么个情况

安全啟動沒關係

F8只是切入手動選擇啟動程式,也可以設timeout作「預選擇」自動化啟動

点评

嗯嗯,给失败时多一种选择得,省的去调整默认值,了解,了解。  详情 回复 发表于 2019-10-12 13:47
回复

使用道具 举报

发表于 2019-10-13 12:13:19 | 显示全部楼层
cckp 发表于 2019-10-12 17:34
很有用。感觉大多数时候用不上 白白增加几秒钟

另一個角度看,不同loader有其不同長處:
grub2沒https
Ipxe下幾個載入方法(pxe,kpxe,kkpxe)也有分別
回复

使用道具 举报

发表于 2019-12-12 14:57:45 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-12-12 14:59 编辑
a1379388505 发表于 2019-12-12 14:32
求助openwrt的dnsmasq配置在/etc/config/dhcp中,我改写了一下不生效
把内容写到config dnsmasq段以下

建議在openwrt 的 terminal 輸入 :netstat -tunlp
先看看port有沒有正確啟動,如udp67,69,4011

有的話就可以縮小範圍在下半部的啟動語句部份。

我經驗是ddwrt與linux的config寫法是不同的,互換沒有作用的。(就是亂)
建議你查看一下版本(dnsmasq -v),再找版本語句說明就是。

還有些wrt版的原dnsmasq閹掉了tftp,即沒有編譯進dnsmasq;那時候就要升級一下你的dnsmasq了
回复

使用道具 举报

发表于 2019-12-12 17:09:21 | 显示全部楼层
江南一根葱 发表于 2019-12-12 16:43
文件名不知道要不要加.0

這個你印象很深刻!
回复

使用道具 举报

发表于 2019-12-12 17:15:44 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-12-12 17:26 编辑
a1379388505 发表于 2019-12-12 16:37
求助 我需要将9楼的内容转化成openwrt用的
我需要转化写法儿,但是      
option dhcp_match 'set:x86 ...

http://bbs.wuyou.net/forum.php?m ... 8975&fromuid=678562

二樓有我wrt的寫法,打了#號的一堆啟動語句就是,可以參考一下。

另外你arch可再加入2和8,理論上就可以支援所有x86(不論32/64,bios/uefi)
回复

使用道具 举报

发表于 2019-12-12 17:46:53 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-12-12 17:51 编辑
a1379388505 发表于 2019-12-12 17:31
我的openwrt的dnsmasq配置在/etc/config/dhcp中的config dnsmasq字段下面,
而且语法有很大不同

https://openwrt.org/docs/guide-user/services/tftp.pxe-server

3. Enable TFTP and NFS Service
Configure dnsmasq service to enable read-only tftp-service
option serveraddress '192.168.1.1'這個官網出的參考,紅色是我見你好像沒有的
回复

使用道具 举报

发表于 2019-12-12 17:59:11 | 显示全部楼层
本帖最后由 hkkitlee 于 2019-12-12 18:01 编辑
a1379388505 发表于 2019-12-12 17:31
我的openwrt的dnsmasq配置在/etc/config/dhcp中的config dnsmasq字段下面,
而且语法有很大不同

另一個網,現成的bios/uefi 兼容


https://forum.openwrt.org/t/pxe-legacy-efi-co-existence/23856/config
config match
        option networkid 'set:bios'
        option match '60,PXEClient:Arch:00000'
config match
        option networkid 'set:efi64'
        option match '60,PXEClient:Arch:00009'
config match
        option networkid 'set:efi64'
        option match '60,PXEClient:Arch:00007'
config boot
        option filename         'tag:bios,bios/pxelinux.0'
        option serveraddress    '192.168.1.1'
        option servername       'router'
config boot
        option filename         'tag:efi64,efi64/syslinux.efi'
        option serveraddress    '192.168.1.1'
        option servername       'router'


回复

使用道具 举报

发表于 2019-12-12 21:21:36 | 显示全部楼层
a1379388505 发表于 2019-12-12 18:47
还有最后一个问题 不知道能不能
config boot
        option filename 'tag:bios,undionly.kpxe,ipxeme ...

一次兩個文件是不行的!

具體操作方案有兩個:
A是將ipxe的script一同編譯成一個文件。
B是將ipxe的回應碼:175加進dnsmasq,引導客戶端下載script

兩個方法各有千秋。我用A的

因B有個兩個缺點:
1是慢,因為需要兩次dhcp等待回應。
2之前的版本我試過是因為第二次dhcp會導致某部份ipxe裏的「變量」變空了,如{next-server};如你之後的script引用此類「變量」有機會會做成錯誤!
回复

使用道具 举报

发表于 2019-12-12 22:51:45 | 显示全部楼层
a1379388505 发表于 2019-12-12 21:33
非常感谢!我现在已经折腾完美了
哈哈哈哈
接下来研究另一个难题:

我需要让无盘启动的网卡禁止访问外网?
內網訪問外網很正常的。

你是想禁止pxe服務出了外網?還是另有特殊情況需要特別設定?
回复

使用道具 举报

发表于 2019-12-12 23:36:26 | 显示全部楼层
a1379388505 发表于 2019-12-12 23:19
电脑装有两个网卡,网卡A连接到openwrt路由器上并且负责无盘启动系统
网卡B直接连接外网不经过路由器。
...

那就是說你的網關就是裝有雙卡的電腦。
那你整個網絡的dhcp server是誰負責?網關還是openwrt?
回复

使用道具 举报

发表于 2019-12-13 10:49:11 | 显示全部楼层
a1379388505 发表于 2019-12-12 23:47
openwrt
我有找到openwrt禁止网卡mac联网的命令 但是经过测试只能用于非无盘启动的电脑,无盘启动的电 ...

那dhcp不設網關;卡a轉為固定應該就可以啦

评分

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

查看全部评分

回复

使用道具 举报

发表于 2019-12-14 16:36:17 | 显示全部楼层
a1379388505 发表于 2019-12-14 15:15
无盘启动的难题就在这里,不用说唯一网关了,我就是把网卡禁用,会立即蓝屏然后电脑重启,然后网卡是被禁 ...

那只是用什麼protocol 掛載目標系統根目錄的問題吧

评分

参与人数 1无忧币 +5 收起 理由
a1379388505 + 5 神马都是浮云

查看全部评分

回复

使用道具 举报

发表于 2019-12-14 21:10:51 | 显示全部楼层
a1379388505 发表于 2019-12-14 17:56
不对 哭死了
都禁到这样了,只是网址打不开了,iP还是可以打开网页!

那你的openwrt有firewall,就可以用來「禁斷網絡」。

我之前說的protocol 指的是藍屏,不是斷網
回复

使用道具 举报

发表于 2019-12-15 15:07:26 | 显示全部楼层
a1379388505 发表于 2019-12-15 14:31
openwrt的firewall禁不住他 各种禁止都不行 可能跟底层pxe启动有关,最后按照你说的不分配网关和dns解决 ...

能用就好
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2025-10-16 19:15

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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