用PXE引导嘿群,烦死做启动U盘了

2023-10-15 06:20
文章标签 启动 引导 pxe 烦死 嘿群

本文主要是介绍用PXE引导嘿群,烦死做启动U盘了,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

为什么80%的码农都做不了架构师?>>>   hot3.png

准备材料

  1. syslinux-6.03(不一定6.03,,只是这个是最新版而已。。。)
  2. 支持dnsmasq的路由器
  3. NAS主板支持PXE引导

满足以上可以继续看了,不满足就算了,,,点个赞就走了吧。。。。

第一次配置

/mnt/sda1/这个是我U盘插在路由器上的挂载点。如果你的目录结构和我不一致,自行更换吧。

我的目录结构大概是这样的 目录结构

文件准备

解压密码:tossp.com syslinux和引导文件下载

syslinux配置

把上面的解压或者你自己准备的syslinux文件放到/mnt/sda1/boot, 引导界面直接用的archlinux live CD的界面,不喜欢就自己换。

路由器配置

在dnsmasq中加入以下指令

enable-tftp
tftp-root=/mnt/sda1/boot/syslinux
dhcp-boot=gpxelinux.0
#下面是一些高级写法,这里不需要
#pxe-prompt="Press F8 for menu.",5
#pxe-service=x86PC, "Ipxe Boot On Legacy BIOS", lpxelinux
#pxe-service=x86PC, "Boot from local disk"
#pxe-service=IA32_EFI, "Ipxe Boot On X86 Uefi", syslinux.ia32.efi
#pxe-service=X86-64_EFI, "Ipxe Boot On X64 Uefi", syslinux.x64.efi

以上三行指令分别是开启tftp服务,设置tftp根目录,设置引导文件

NAS配置

在BIOS中开启网络引导并设置为第一引导,完了。。。 启动过程大概是这样的,加载zImage.5.2-5967的时间稍微长一点 启动过程

进阶配置

第一次配置完成后通过网络引导NAS,在路由器的日志中能看到差不多以下记录

Jul 20 20:47:39 dnsmasq-tftp[3895]: sent /mnt/sda1/boot/syslinux/gpxelinux.0 to 192.168.1.191
Jul 20 20:47:39 dnsmasq-tftp[3895]: sent /mnt/sda1/boot/syslinux/ldlinux.c32 to 192.168.1.191
Jul 20 20:47:39 dnsmasq-tftp[3895]: file /mnt/sda1/boot/syslinux/pxelinux.cfg/f3dd171c-8a20-492c-9ec7-99548384ca84 not found
Jul 20 20:47:39 dnsmasq-tftp[3895]: file /mnt/sda1/boot/syslinux/pxelinux.cfg/01-08-00-27-6d-e3-bd not found
Jul 20 20:47:39 dnsmasq-tftp[3895]: file /mnt/sda1/boot/syslinux/pxelinux.cfg/C0A801BF not found
Jul 20 20:47:39 dnsmasq-tftp[3895]: file /mnt/sda1/boot/syslinux/pxelinux.cfg/C0A801B not found
Jul 20 20:47:39 dnsmasq-tftp[3895]: file /mnt/sda1/boot/syslinux/pxelinux.cfg/C0A801 not found
Jul 20 20:47:39 dnsmasq-tftp[3895]: file /mnt/sda1/boot/syslinux/pxelinux.cfg/C0A80 not found
Jul 20 20:47:39 dnsmasq-tftp[3895]: sent /mnt/sda1/boot/syslinux/pxelinux.cfg/C0A8 to 192.168.1.191
Jul 20 20:47:39 dnsmasq-tftp[3895]: sent /mnt/sda1/boot/syslinux/vesamenu.c32 to 192.168.1.191
Jul 20 20:47:39 dnsmasq-tftp[3895]: sent /mnt/sda1/boot/syslinux/libcom32.c32 to 192.168.1.191

找到这个01-08-00-27-6d-e3-bd not found,里面的08-00-27-6d-e3-bd就是你的NAS网卡的MAC地址 新建/mnt/sda1/boot/syslinux/pxelinux.cfg/01-08-00-27-6d-e3-bd这个文件,写入

UI vesamenu.c32
PROMPT 0MENU BACKGROUND splash.png
MENU WIDTH 78
MENU MARGIN 4
MENU ROWS 5
MENU VSHIFT 10
MENU TIMEOUTROW 13
MENU TABMSGROW 11
MENU CMDLINEROW 11
MENU HELPMSGROW 16
MENU HELPMSGENDROW 29# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menuMENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 stdDEFAULT xpenology
MENU TITLE XPEnoboot Boot Menu (TossP.com)
TIMEOUT 10LABEL xpenologyMENU LABEL XPEnology DSM 5.2-5967KERNEL system/xpenology/zImage.5.2-5967APPEND root=/dev/md0 ihd_num=0 netif_num=4 syno_hw_version=DS3615xs sn=B3J4N01003 vid=0x0EA0 pid=0x2168 loglevel=0 vga=0x305LABEL installMENU LABEL XPEnology DSM 5.2-5967 Install/UpgradeKERNEL system/xpenology/zImage.5.2-5967APPEND root=/dev/md0 ihd_num=0 netif_num=4 syno_hw_version=DS3615xs sn=B3J4N01003 vid=0x0EA0 pid=0x2168 loglevel=0 vga=0x305

如果要洗白,那就再改改APPEND后面的参数,这个就不在这里讨论了

大概这样吧,,,哎真不适合写这种东西,,写得好啰嗦。。。。

转载于:https://my.oschina.net/tossp/blog/715288

这篇关于用PXE引导嘿群,烦死做启动U盘了的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/215918

相关文章

nginx启动命令和默认配置文件的使用

《nginx启动命令和默认配置文件的使用》:本文主要介绍nginx启动命令和默认配置文件的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录常见命令nginx.conf配置文件location匹配规则图片服务器总结常见命令# 默认配置文件启动./nginx

Nexus安装和启动的实现教程

《Nexus安装和启动的实现教程》:本文主要介绍Nexus安装和启动的实现教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Nexus下载二、Nexus安装和启动三、关闭Nexus总结一、Nexus下载官方下载链接:DownloadWindows系统根

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

Oracle修改端口号之后无法启动的解决方案

《Oracle修改端口号之后无法启动的解决方案》Oracle数据库更改端口后出现监听器无法启动的问题确实较为常见,但并非必然发生,这一问题通常源于​​配置错误或环境冲突​​,而非端口修改本身,以下是系... 目录一、问题根源分析​​​二、保姆级解决方案​​​​步骤1:修正监听器配置文件 (listener.

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

MySQL启动报错:InnoDB表空间丢失问题及解决方法

《MySQL启动报错:InnoDB表空间丢失问题及解决方法》在启动MySQL时,遇到了InnoDB:Tablespace5975wasnotfound,该错误表明MySQL在启动过程中无法找到指定的s... 目录mysql 启动报错:InnoDB 表空间丢失问题及解决方法错误分析解决方案1. 启用 inno

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失

解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException: org.junit.Test问题

《解决tomcat启动时报Junit相关错误java.lang.ClassNotFoundException:org.junit.Test问题》:本文主要介绍解决tomcat启动时报Junit相... 目录tomcat启动时报Junit相关错误Java.lang.ClassNotFoundException

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S