用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

相关文章

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

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

SpringBoot项目启动报错"找不到或无法加载主类"的解决方法

《SpringBoot项目启动报错找不到或无法加载主类的解决方法》在使用IntelliJIDEA开发基于SpringBoot框架的Java程序时,可能会出现找不到或无法加载主类com.example.... 目录一、问题描述二、排查过程三、解决方案一、问题描述在使用 IntelliJ IDEA 开发基于

SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法

《SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法》本文主要介绍了SpringBoot项目启动错误:找不到或无法加载主类的几种解决方法,具有一定的参考价值,感兴趣的可以了解一下... 目录方法1:更改IDE配置方法2:在Eclipse中清理项目方法3:使用Maven命令行在开发Sprin

Nginx启动失败:端口80被占用问题的解决方案

《Nginx启动失败:端口80被占用问题的解决方案》在Linux服务器上部署Nginx时,可能会遇到Nginx启动失败的情况,尤其是错误提示bind()to0.0.0.0:80failed,这种问题通... 目录引言问题描述问题分析解决方案1. 检查占用端口 80 的进程使用 netstat 命令使用 ss

Android里面的Service种类以及启动方式

《Android里面的Service种类以及启动方式》Android中的Service分为前台服务和后台服务,前台服务需要亮身份牌并显示通知,后台服务则有启动方式选择,包括startService和b... 目录一句话总结:一、Service 的两种类型:1. 前台服务(必须亮身份牌)2. 后台服务(偷偷干

Windows设置nginx启动端口的方法

《Windows设置nginx启动端口的方法》在服务器配置与开发过程中,nginx作为一款高效的HTTP和反向代理服务器,被广泛应用,而在Windows系统中,合理设置nginx的启动端口,是确保其正... 目录一、为什么要设置 nginx 启动端口二、设置步骤三、常见问题及解决一、为什么要设置 nginx

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat