Ubuntu Server VM 中的 PXE 引导服务器安装步骤

Beg*_*ner 15 pxe virtualization software-installation system-installation

如何使用 PXE 引导服务器安装 Ubuntu 虚拟机?

我需要所有配置详细信息以及配置文件中要更改的内容。

use*_*.dz 31

PXE(预引导执行环境,发音为 pixie)?

参见维基百科:PXE

这个怎么运作?

这是我的理解!

PXE_Diagram_en.png

  1. 客户端机器已开机。BIOS 扫描设备。然后尝试从Boot Order/Sequence 中列出的所需设备加载引导加载程序。它从网卡 ROM 加载 PXE。
  2. PXE(客户端)广播 IP 请求。DHCP 服务器回复所需的信息:IP、Next Server IP(TFTP 服务器 IP)、pxelinux.0(PXE 引导加载程序文件名)等

    PXE_Boot_1.png

  3. PXE(客户端)pxelinux.0从 TFTP 服务器请求文件,将其加载到 RAM,然后将控制权传递给pxelinux.0.

    pxelinux.0从 TFTP 服务器获取启动配置文件,名称为:(
    如果它不存在,则尝试使用下一个)

    • 用户名
    • 苹果电脑
    • 大写十六进制知识产权
    • IP的一部分
    • 拖放到default文件

    PXE_Boot_2.png

  4. 用户选择或默认菜单项。pxelinux.0从 TFTP 服务器请求相应的内核和 RAMDisk 并将它们加载到 RAM。

    然后将引导参数和控制传递给加载的内核。

    PXE_Linux.png

  5. 内核根据其功能/属性从 TFTP 服务器或任何其他协议服务器加载其余部分。

    Parted_Magic_1.png Parted_Magic_2.png

服务器设置

设置 PXE 服务器的方法有很多,这是其中之一。

这些指令在真机上的Ubuntu 9.10Ubuntu 10.04上进行了测试。它们应该仍然有效,可能只有很少的变化。(在 VirtualBox 上针对 Ubuntu 14.04 进行了更新和测试,检查旧版本的编辑修订版)

我的目标是PartedMagic 4.5,它应该类似于 Ubuntu 或任何 Linux 发行版。

  1. 安装 DHCP 和 TFTP 软件包

        sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
    
    Run Code Online (Sandbox Code Playgroud)
  2. DHCP 设置

  3. TFTP 设置

  4. PXE 启动文件设置

    • 解压缩pmagic-pxe-4.5.zip。如果pxelinux.0不存在,请从sysliux-common安装在/usr/lib/syslinux/pxelinux.0Syslinux ProjectUbuntu Netboot Image 的软件包中获取它。

      将它们放在类似的结构中。

      /var/lib/tftpboot/
       |-- pxelinux.0
       |-- pxelinux.cfg/
       |   `-- default
       `-- pmagic/
           |-- bzimage
           `-- initramfs
      
      Run Code Online (Sandbox Code Playgroud)
    • 编辑/var/lib/tftpboot/pxelinux.cfg/default,如果需要,示例路径:pmagic/bzimage&pmagic/initramfs

      DEFAULT partmagic 
      
      LABEL partmagic 
          MENU LABEL PartMagic 4.5 
          KERNEL pmagic/bzimage 
          APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
      
      Run Code Online (Sandbox Code Playgroud)
    • 设置正确的权限

      sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
      sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
      
      Run Code Online (Sandbox Code Playgroud)

客户端设置

使用F9或更改 BIOS 引导顺序一次F12,以从 BIOS 配置进行永久设置DELF2F12。(取决于机器品牌)

移至顶部:[PXE | NIC | LAN | Ethernet | Network]

笔记

  • inetutils-inetd或者xinetd可以用 代替openbsd-inetd,有些inetd步骤不同。

  • TFTP 根目录可以从/etc/default/tftpd-hpa. 也记得更新?/etc/inetd.conf

  • 许多发行版支持通过多种协议加载 RAMDisk:SSH(SFTP)、SMB、NFS……示例 Ubuntu 支持 NFS。

  • 一些旧网卡不支持PXE,可以使用iPXE例如gPXE或Etherboot),无论是在软盘、USB驱动器、硬盘(/boot分区)上,甚至将其闪存到ROM(仅支持少数网卡)。GRUB2 具有支持使用 PXE 引导的模块。

    另请参阅维基百科:gPXEROM-O-matic

  • 来自cdimage.ubuntu.com/netboot/ 的Ubuntu Netboot Image 提供从网络安装 Ubuntu,它会要求从官方镜像或本地镜像下载所有必需的包(如果有的话)。

    大多数用户都在寻找通过 PXE 启动实时映像。这个问题只是为了设置一个 PXE 服务器。请参阅Ubuntu Wiki:安装 - LocalNet

    Ubuntu NetBoot - 官方存档镜像 Ubuntu NetBoot - 自定义/本地存档镜像

  • PXE 菜单可以自定义,最好的学习模板是Ubuntu NetBoot。请参阅Pxeboot 多个映像

    PXE_Linux_Menu.png

  • memdisk可用于通过 PXE 直接加载 ISO 或软盘映像。syslinux-common包有副本。客户端应该有足够的 RAM 来保存图像以及运行加载的操作系统的一部分。

    配置示例:

    /var/lib/tftpboot/
    |-- FDSTD.144
    |-- memdisk
    |-- pxelinux.0
    |-- slitaz-cooking.iso
    |-- pxelinux.cfg
    |   `-- default
    `-- pmagic/
        |-- bzimage
        `-- initramfs
    
    Run Code Online (Sandbox Code Playgroud)

    /pxelinux.cfg/default

    DEFAULT partmagic
    
    LABEL partmagic
        MENU LABEL PartMagic 4.5
        KERNEL pmagic/bzimage
        APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
    
    LABEL slitaz
        MENU LABEL ^Slitaz.iso
        TEXT HELP
    Testing boot from iso.
        ENDTEXT 
        KERNEL memdisk
        APPEND initrd=slitaz-cooking.iso
    
    LABEL freedos_std
        MENU LABEL ^FreeDOS STD
        TEXT HELP
    Testing boot from Floppy IMG.
        ENDTEXT 
        KERNEL memdisk
        APPEND initrd=FDSTD.144
    
    Run Code Online (Sandbox Code Playgroud)
  • PartedMagic 软件包在原始开发人员决定将其商业化后从官方网站上删除,一些版本可以通过 torrent 网络找到。我的答案是一份对我有用的第一个 PXE 设置的简历。Ubuntu Netboot Image应该使用相同的指令。