中国科学技术大学校园网 PXE 服务 FAQ

您所在的位置:网站首页 如何关闭pxe 中国科学技术大学校园网 PXE 服务 FAQ

中国科学技术大学校园网 PXE 服务 FAQ

2023-12-17 21:07| 来源: 网络整理| 查看: 265

一般用户 什么是 PXE

PXE(Pre-boot Execution Environment)是由 Intel 设计的协议,它可以使计算机通过网络启动。协议分为 client 和 server 两端,PXE client 在网卡的 ROM 中,当计算机引导时,BIOS 把 PXE client 调入内存执行,并显示出命令菜单,经用户选择后,PXE client 将放置在远端的操作系统通过网络下载到本地运行。 — 摘自 IBM 中国

In the mid-90’s, Compaq, Dell, HP, Intel, and Microsoft jointly released a system design guide for building Net PC systems. The guide describes a method of booting the operating system from a network server. This method eventually became known as the Preboot Execution Environment (PXE). Several manufacturers have created implementations of the PXE specification, and include a PXE compliant BootROM on their network cards. Most computer motherboards with embedded network interfaces include PXE in the BIOS.

PXE is designed to load a small (32kb or less) image called a Network Bootstrap Program (NBP). The NBP is then responsible for loading the operating system image. When using PXE to boot an LTSP workstation, the choices for an NBP are PXELINUX and Etherboot. — 摘自 LTSP

PXE.USTC 有什么用处?

用途举例:

安装新系统 – 安装 Linux/Windows,但是电脑没有软驱/光驱,有没有 USB 启动功能; 修复老系统 – 电脑因为病毒/引导程序损坏等原因,无法启动了; 学习 Linux – 试用 GNU/Linux,跳过安装/配置门槛; Cluster – 快速部署和简单管理; 教学实验 – 在公共机房中创建 UNIX/C/C++/Java/Matlab 等的教学实验平台。 PXE.USTC 提供了哪些系统/工具? linux 一个 Debian GNU/Linux 系统,主要用于学习目的,目前只提供命令行界面 knoppix 一个基于 Debian 的 LiveCD,主要用于桌面 如果您的网卡不被支持,可以试试 allnic,其中包含了所有网卡驱动,副作用是 initrd 加载会慢一些 debian/redhat/mandrake Debian/Fedora/Mandrake 网络安装程序 rip Recovery Is Possible, 基于 Linux 的小型急救系统(http://www.tux.org/pub/people/kent-robotti/looplinux/rip/) pxes 一个微型的 Linux 终端系统(http://pxes.sourceforge.net/) stresslinux 用于对硬件系统进行高负荷性能及稳定性测试(http://www.stresslinux.org/) mcafee/fprot/antivir/avast 几个病毒检测程序,个人版,同时包含在 dosnet 的 N:盘上病毒库每月更新 freedos FreeDOS, 兼容 MSDOS 的自由 DOS。不要试图在 FreeDOS 中安装 Windows dos 一个 8MB 的虚拟软盘,提供了很多工具 dosnet 一个支持 TCP/IP 网络的 FreeDOS 虚拟软盘,它的 MSLAN 网络驱动器 N: 上的程序是 dos 的超集。如果它启动时无法自动加载网卡驱动,可以试试手动选择网卡列表中最后的 UNDIS/UNDIS3C 两种 PXE 网卡驱动

其中的很多系统工具有很大的危险性,在使用之前请仔细阅读它们的文档并小心操作。使用这些工具而造成的任何损害,均由使用者本人负全部责任。

各类系统工具的主要来源是:

Ultimate Boot CD,这里存有部分本地文档。 Ultimate Boot CD contains close to 100 tools that are extremely useful when setting up or maintaining a PC.

另外以下站点还有很多不错的软件资源:

UTILITIES FOR 16 BIT DOS DOS 之家软件站

dosnet 是由以下工具整合而成:

Bart’s Network Boot Disk A highly professional network boot disk for connecting to a network share on a Windows 9x/ME/NT4/2000/XP or Linux Samba machine. Modular design - based on modboot . This means you can customize the bootdisk yourself by adding only the modules you need. Universal TCP/IP Network Bootdisk A DOS bootdisk that provides TCP/IP networking support. Intel PXE PDK 2.0 享受 PXE.USTC 服务需要什么软硬件环境?

您的电脑最好内置有 PXE Boot Agent,并且已经激活;没有现成支持的话,有几种解决办法。 您所在的网段最好有能提供正确的 PXE 信息的 DHCP 服务器,以及可以通过 TFTP 数据包的网关;没有的话可以请管理员加以设置,或自己动手把网络启动系统加入 GRUB/LILO 菜单。 如果您所在实验室用地址转换/伪装技术建立了自己的子网,则需要配置。

如何激活我电脑中的 PXE Boot Agent?

目前有不少主板内部已经集成了 PXE 启动代码,一般的判别准则是:集成了网卡芯片的主板通常都会在 BIOS 中包含 PXE Boot Agent。 很多主板内置了 PXE Boot Agent 但是没有激活它,激活标志通常是:在电脑启动自检后在屏幕上会出现 PXE 字样。 为了激活 PXE Boot Agent,需要修改一到两处 BIOS 设置。具体的方法各个主板不尽相同,一般需要检查如下两项:

把 Onboard LAN 和 Onboard LAN Boot ROM (或类似的选项)设为 Enabled。 把 LAN (或类似的设备)设成第一启动设备 (如果你的电脑在启动时显示 “Press XX to boot from LAN” 字样,则可省略这一步)

升技 NF7 系列主板的设置:

Integrated Peripherals->OnChip PCI Device-> LAN Controller [Enabled] - LAN Boot ROM [Enabled] Advanced BIOS Features-> First Boot Device [LAN]

微星 NEO 2 主板设置:

Integrated Peripherals-> Onboard LAN [Enabled] Load onboard LAN BIOS [Enabled] Boot Device Prioty: LAN

有些主板还包含更多的设置选项。比如 Intel Boot Agent 的 激活 及 设定; Realtek Boot Agent 的设定。

高级用户 我的电脑没有内置 PXE Boot Agent,我该怎么做?

可以自己制作包含 PXE Boot Agent 的启动软盘/EEPROM,也可以把它加入引导程序的启动菜单。

如何制作 PXE 启动软盘? 打开 ROM-o-matic.net 网站 单击 Etherboot 5.3.12 或以上的版本 在 “1. Choose NIC/ROM type:” 中选择你的网卡类型 单击网页第四项中的 “Get ROM” 按钮下载它帮你动态生成的启动文件 插入一个空白软盘,运行网页第六项中提示的命令。(在 Windows 下的话就用 rawwrite 程序写软盘。) 如何制作 PXE EEPROM? 打开 ROM-o-matic.net 网站 单击 Etherboot 5.3.12 或以上的版本 在 “1. Choose NIC/ROM type:” 中选择你的网卡类型 在 “2. Choose ROM output format:” 中选择 “Binary ROM Image(.zrom)” 单击网页第四项中的 “Get ROM” 按钮下载它帮你动态生成的启动文件 带上此文件前去步瑞祺二楼,那里有卖 EEPROM 的公司,让他们帮你把文件烧刻进 EEPROM。 把做好的 EEPROM 插入网卡。

在做 EEPROM 之前请注意:

先做一张 PXE 启动软盘,确认运行无误。 确保网卡的 PCI ID 与第三步中所选的类型相匹配,否则 BIOS 不会调用它(虽然它的软盘版本可以正确运行)。 有的网卡用的是 28 pin EEPROM, 有的是 32 pin EEPROM。 如何把 PXE Boot Agent 加入 GRUB/LILO 的启动菜单?

以我的系统为例:

打开 ROM-o-matic.net 网站 单击 Etherboot 5.3.12 或较新的版本 在 “1. Choose NIC/ROM type:” 中选择你的网卡类型 在 “2. Choose ROM output format:” 中选择 “LILO/GRUB/SYSLINUX loadable kernel format (.zlilo)” 单击网页第四项中的 “Get ROM” 按钮下载它帮你动态生成的启动文件 将此文件放入 /boot 目录,并加入 GRUB 配置如下: # cat>>/boot/grub/menu.lst quit # cat>>/boot/grub/menu.lst>/boot/grub/menu.lst /etc/modules # echo ip_conntrack_tftp >> /etc/modules

DHCP 服务: 为 PXELinux/Etherboot 提供必要的信息 以安装有 dhcp3-server 的 debian 系统为例:

# cd /etc/dhcp3 # wget http://pxe.ustc.edu.cn/dhcpd.pxe.conf # echo 'include "/etc/dhcp3/dhcpd.pxe.conf";' >> dhcpd.conf # /etc/init.d/dhcp3-server restart

如果只有较老版本的 ISC DHCP Server,或者其他 DHCP 服务程序,则只需加入以下两项配置信息,一般情况下都不会有问题:

next-server pxe.ustc.edu.cn; filename "pxelinux.0"; 可以进一步建立自己的 TFTP 服务器,所需的文件可以从我们这里取得 # aptitude install tftpd-hpa # mount pxe.ustc.edu.cn:/tftpboot /tftpboot # cp /tftpboot/tftpd-hpa /etc/default 开发者 PXE 的加载过程?

这里是 LTSP 的 Booting with pxelinux.0;

受限和密码保护的 PXE 菜单系统是如何实现的?

缺省的菜单系统是用 PXELinux 实现的,受限的菜单可以用定制的 PXELinux 菜单程序实现,而 MD5 加密的口令保护目前只有 pxegrub 能够支持。

准备好 MD5 加密的口令

# grub-md5-crypt Password: Retype password: $1$NcP8o0$DrDhZlUX36Rt6Yzl2RavM/

准备好一个 menu.lst

# cat /tftpboot/restricted/menu.lst password --md5 $1$NcP8o0$DrDhZlUX36Rt6Yzl2RavM/ dhcp root (nd) color light-gray/blue black/light-gray title *=*=*=*=*=*=*=*=*=* Welcome to PXE.USTC *=*=*=*=*=*=*=*=*=* title linux kernel /tftpboot/linux/bzImage root=/dev/nfs nfsroot=202.38.73.198:/croot,rsize=8192,wsize=8192,tcp,flags=nolock,intr,v3 ip=dhcp title knoppix kernel /tftpboot/knoppix/vmlinuz nfsdir=202.38.73.198:/croot nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 quiet secure BOOT_IMAGE=knoppix initrd /tftpboot/knoppix/miniroot.gz title dos kernel /tftpboot/images/memdisk floppy c=8 s=32 h=64 initrd=/tftpboot/images/dos.igz lock

编译

# ./configure --disable-auto-linux-mem-opt --enable-preset-menu=/tftpboot/restricted/menu.lst --enable-diskless --enable-via-rhine # make # cp netboot/pxegrub /tftpboot/restricted/pxegrub.0

遗憾的是 pxegrub 已经有些年没更新了,不支持包括 nForce 在内的一些新网卡。 另外还有更严重的稳定性问题,估计是至少某些网卡会存在这种问题。

XXX 很不错,能不能把它也加入 PXE.USTC ?

只要版权没有问题,肯定是可以的。不过,请你务必提供直接可以网络启动的新系统,因为我们时间有限,将着重于维护现有的系统。 所提供的系统或者是一个可启动的软盘映像文件,或者是 kernel, initrd, 以及 pxelinux.cfg 配置文件。必要的话还可以给出 NFS-ROOT 系统。

如何把一张 Linux/BSD 的 Live CD 做成可网络启动?

可以参考 knoppix Live CD 中的 /usr/sbin/knoppix-terminal-server 脚本,以及它所创建出来的 initrd。 大体上需要对原有系统的 initrd 做如下两个修改:

创建一个更大的 initrd,并将原 initrd 中的全部内容,以及各种网卡驱动内核模块、NFS 网络驱动模块、静态链接的 ifconfig/pump 等网络配置程序拷贝进去; 修改其中 /linuxrc (或类似文件), 把其中 mount cdrom 的命令改写为 mount nfs 的命令,并在这之前加入加载驱动模块,配置网络的命令。

对于 BSD 系统,其中的内核模块不妨交由 loader 来加载。

如何把一个安装在服务器硬盘上的 Linux 系统做成可网络启动?

可以仍然使用用 initrd:

LTSP 项目提供了相关的支持工具; Etherboot 的 contrib/initrd 目录下包含的 mkinitrd-net 工具也可参考使用; Debian 还提供了工具包 initrd-netboot-tools。

或者可以直接使用 NFS-ROOT 方案。基本思路是:

服务端: 在服务器上运行 NFS Server,把此系统所在目录共享; 在此系统中放一个 tmpfs 的处理脚本,动态的在内存文件系统中加载 /etc, /var, /root, /home 目录。 可参考 (NFS)pxe.ustc.edu.cn:/croot/etc/rcS.d/S03nfsboot.sh 脚本。 客户端:

定制编译一个包含所有必要的网卡驱动,以及如下选项:

# Networking options # Under "Device Drivers ---> Networking support ---> Networking options" # Kernel level IP autoconfiguration CONFIG_IP_PNP=y # DHCP support CONFIG_IP_PNP_DHCP=y # File systems # Under "File systems --> Pseudo filesystems" # Virtual memory file system support CONFIG_TMPFS=y # # /dev file system support # CONFIG_DEVFS_FS=y # # Automatically mount devfs at boot time # CONFIG_DEVFS_MOUNT=y # Network File Systems # Under "File systems --> Network File Systems" # NFS file system support CONFIG_NFS_FS=y # Provide NFSv3 client support CONFIG_NFS_V3=y # Root file system on NFS CONFIG_ROOT_NFS=y

启动此内核时使用参数:

root=/dev/nfs nfsroot=202.38.73.198:/croot,rsize=8192,wsize=8192,tcp ip=dhcp 相关链接

Etherboot

Homepage http://www.etherboot.org/ Wiki http://wiki.etherboot.org/ Diskless Linux http://frank.harvard.edu/~coldwell/diskless/ PXE Documentation Version 1.0(缺少链接)

HOWTO setup a PXE 2.x server under Linux http://clic.mandrakesoft.com/documentation/pxe/

基于 NFS*ROOT 的 Gentoo Linux 的 PXE 安装方法 Diskless Nodes with Gentoo http://www.gentoo.org/doc/en/diskless-howto.xml FreeBSD Diskless Clients http://the-labs.com/FreeBSD/Diskless/ Network Booting i386 Unix Variants http://www.munts.com/diskless/netboot.html Booting FreeBSD via PXE http://www.tnpi.biz/computing/freebsd/pxe-netboot.shtml Remote Network Boot via PXE Index of /tweaks/dhcp3 如何远程安装 Linux Diskless Linux Etherboot Wiki - Main.HomePage PXE Documentation Version 1.0 Ultimate Boot CD - Overview Bootable CD Utilities by reanimatolog - Образы загрузочных дискет и жестких дисков All-drivers Etherboot floppy & how to install etherboot to a hard disk ROM-o-matic.net :: ThinStation - a light, full-featured thin client OS :: Index of /debian/dists/unstable/main/installer-i386/current/images/netboot [YAGI - Deep Space DaN] Pollix LiveCD Bart’s Network Boot Disk Universal TCP/IP Network Bootdisk for M$ Networks DOS and W31 utilities for MSDOS, DRDOS, FreeDOS, PCDOS, OpenDOS, and PTSDOS 16 bit DOS versions. Install GNU/Linux without any CD, floppy, USB-key, nor any other removable media Boosting the power of a DOS image GRUB4DOS and WINGRUB Project Homepage UBCD for Windows The Labs: FreeBSD Diskless Gentoo Linux Documentation – Diskless Nodes with Gentoo Network Booting Unix Variants The Network People, Inc. - FreeBSD 5 PXE boot recipe MorphixWiki! - Qemu Index of /qemu/utilities/QEMU-HD-Mounter DistroWatch.com: clusterKNOPPIX [Wolves] using GNU Screen to join two terminals? Linuxeden 的 GRUB 专区 : 首页 ParallelKnoppix: Bootable CD to Create a Linux Cluster in 15 Minutes PXE 網路開機實作*


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3