将Debian11或Raspberry Pi配置为PXE Server

起因:树莓派一直作为办公室的远程登陆跳板,功能太单一,看着SD卡剩余的12G空间,总想着让它再承担点其他功能。正好Windows11_22H2发布,电脑需要更新,所以尝试着将其配置为PXE网络安装服务器。结果发现网上的方法大多基于CentOS操作系统,而在Debian系和Openwrt上已经不适用了。

1.在debian11和Raspberry Pi系统上安装必要的软件

apt update
apt install syslinux pxelinux dnsmasq

注意:和Centos8等系统不同,在debian11 中要专门安装pxelinux才能生成pxelinux.0文件。如果是从其他系统安装后的syslinux中拷贝过来,将会出现Failed to load ldlinux.c32 ! 的错误。

2.建立tftp根目录,并拷贝启动文件

mkdir /home/tftpboot
cp \
  /usr/lib/syslinux/modules/bios/{ldlinux,vesamenu,libcom32,libutil}.c32 \
  /usr/lib/PXELINUX/pxelinux.0 \
  /home/tftpboot/

3.准备安装资源

也就是将linux系统、Windows系统的安装镜像中的内容,完全复制到指定的文件夹中

mkdir /home/tftpboot/boot/debian11
mkdir /home/tftpboot/boot/windows
#下面是准备Debian11.5的安装文件
mount -o loop -t iso9660 /root/Download/debian-11.5.0-amd64-netinst.iso /media
rsync -avzP /media/ /home/tftproot/boot/debian11
#下面是准备WinPE镜像,先启动WinPE,再用PE在命令行下安装Windows操作系统
cp /usr/lib/syslinux/memdisk /home/tftpboot/boot/windows/
cp /root/Download/winpe.iso /home/tftpboot/boot/windows/

4.编辑操作系统安装选择菜单

mkdir /home/tftpboot/pxelinux.cfg
vim /home/tftpboot/pxelinux.cfg/default
# 内容如下:
menu title  PXE BOOT MENU on Debian Server !
default     vesamenu.c32

    label local
        menu label Boot From Local Drive
        localboot 0xffff

    menu begin Install Linux Systems
    menu title Install Linux Systems

        menu begin Debian11
        menu title Debian11

            label install
                menu label ^Install Debian 11.5
                kernel ::boot/debian11/install.amd/vmlinuz
                append vga=788 initrd=::boot/debian11/install.amd/initrd.gz --- quiet

            menu end

    menu end

    menu begin Install Windows Systems
    menu title Install Windows Systems

        menu begin Windows11
        menu title Windows11

                label install
                menu label ^Install Windwos11_22H2
                kernel memdisk
                initrd=::boot/windows/win10pe.iso
                append iso raw
            menu end

    menu end

注意:在linux系统中,kernel和append这两行的参数,可以查看安装镜像中的 isolinux/menu.cfg这个文档来进行修改。不同的Linux发行版本不一样。特别是vmlinuz和initrd.gz这两个文件的路径要正确。

5.配置dnsmasq

dhcp-range= 192.168.1.21,192.168.1.25,24h
dhcp-option=3,192.168.1.1
server=223.5.5.5
enable-tftp
tftp-root=/home/tftpboot
pxe-service=x86PC,"PXELINUX (BIOS)",pxelinux  #注意,pxelinux不带后缀 .0  !!
log-queries
log-facility=/var/log/dnsmasq.log

6. 重启dnsmasq服务,关闭主路由器的dhcp服务,打开网络安装电脑的从网络启动选项

systemctl restart dnsmasq

以下是三级安装选项菜单 

 

 

猜你喜欢

转载自blog.csdn.net/lggirls/article/details/127735794