用pxe方式安装ubuntu系统

本文详细介绍如何在CentOS上搭建DHCP和TFTP服务器,实现Ubuntu系统的PXE网络安装。包括配置步骤、注意事项及客户端启动文件准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ubuntu发行版本默认支持网络安装,但其网络安装有些限制,基本上只支持http方式 的网络安装。

 

本文讲解通过pxe的方式安装ubuntu,pxe是网络启动的一种协议,能够让你的计算机在没有任何存储介质的情况下,通过网卡从远程的服务器上下载引导启动所需要的文件来启动系统。根据pxe的标准,想要从网络启动,首先需要你的网卡支持网络启动,此外还需要你在其他的服务器上配置dhcp、tftp服务器。

 

在centos上搭建dhcp服务器的步骤日下:

1.  安装dhcpd软件包:

#  yum install -y dhcp

2.  配置如下:

# cat /etc/dhcpd.conf

ddns-update-style none;
ignore client-updates;
allow booting;
allow bootp;

filename "/pxelinux.0";
subnet 192.168.5.0 netmask 255.255.255.0 {

        option routers                  192.168.5.1;
        option subnet-mask              255.255.255.0;

        option domain-name-servers      202.112.128.50;

        range dynamic-bootp 192.168.5.33 192.168.5.38;
        default-lease-time 21600;
        max-lease-time 43200;

    # PXE-specific configuration directives...
    next-server 192.168.5.247;
    filename "/pxelinux.0";
}
注意:将其中的next-server改为dhcp服务器所在的ip

 

在centos上搭建tftp服务器的步骤如下:

1. 安装软件

#  yum install -y tftp-server

2.  配置如下:

#  cat /etc/xinetd.d/tftp

service tftp
{
        disable = no
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot -c
        per_source              = 11
        cps                         = 100 2
        flags                   = IPv4
}
3.  启动tftp

#  mkdir /tftpboot

#  chmod 777 /tftpboot

#  chkconfig tftp on

#  /etc/init.d/xinetd start

注意:由于tftp依赖于xinetd,所以,先要确保已经安装xinetd。

 

现在tftp服务器和dhcp服务器已经架设好了,接下来需要为客户端的引导启动和系统安装提供文件。这步在不同的系统上不太一样,redhat系列的发行版本支持多种网络安装(nfs,ftp,http等),而ubuntu发行版本则基本上支持http。下面介绍ubuntu系列的网络安装步骤:

1.  下载ubuntu镜像文件

2.  将ubuntu镜像文件挂载到某个目录,将install目录下的netboot中的所有内容拷贝到/tftpboot

#  mount  -o loop xxx.iso /mnt

#  cp -r /mnt/install/netboot /tftpboot

3.  安装apache,搭建http服务器,并启动相应的服务

4.  在apache的默认路径下创建ubuntu文件夹,并将ubuntu镜像文件挂载到该目录

 

在服务器端完成这些配置之后,其他机器就应该能够从网络启动了,在选择镜像网站时选择手动输入即可.

### 如何通过PXE网络引导安装Ubuntu系统 #### 准备工作 为了成功利用PXE环境来安装Ubuntu,需先准备好必要的硬件和软件资源。这包括一台作为PXE服务器的机器以及至少另一台客户端计算机用于测试安装过程。确保所有参与此过程的设备连接到同一局域网内。 #### 配置DHCP服务 在开始之前,必须有一个可用的动态主机配置协议(DHCP)服务器向客户机提供IP地址和其他所需参数。对于本案例而言,在B服务器上运行着DHCP服务,并已设定好特定范围内的静态分配给目标安装节点使用的IP地址池[^3]。 #### 安装并配置TFTP服务器 传输文件协议(TFTP)是PXE的关键组件之一,它负责传送启动所需的镜像文件至客户端内存中执行。通常情况下,会选用开源版本如`atftpd`或`tftpd-hpa`来进行部署。完成安装之后,还需调整其目录结构以便能够访问由ISO提取出来的vmlinuz(内核映象)与initrd.img(初始RAM磁盘)[^1]。 #### 设置HTTP/FTP/NFS共享路径 为了让远程加载Linux发行版成为可能,则需要额外建立一个Web服务器(HTTP),匿名上传站点(FPT), 或者挂载点(NFS) 来托管整个操作系统的根文件系统(rootfs) 。此处提到的例子采用的是NFS方式分享位于C服务器上的Ubuntu ISO内容。 #### 编辑pxelinux.cfg/default文件 创建或编辑 `/var/lib/tftpboot/pxelinux.cfg/default` 文件以定义默认菜单项及其对应的kernel/initrd位置还有附加命令行选项。例如: ```bash default menu.c32 prompt 0 timeout 600 menu title ########## PXE Boot Menu ########## label install_ubuntu menu label ^Install Ubuntu Server kernel ubuntu-installer/amd64/linux append initrd=ubuntu-installer/amd64/initrd.gz vga=normal boot=casper netcfg/dhcp_timeout=60 url=http://<your_server>/path/to/preseed/ubuntu.seed -- ``` 上述脚本中的URL应指向预配置好的种子文件(preseed file),该文件可以简化无人值守自动化安装流程[^2]。 #### BIOS设置为从网络启动 最后一步是在希望被安装系统的每台PC上进入BIOS界面并将优先级最高的启动装置设成“Network”。一旦重启后就会自动尝试联系PXE服务器获取进一步指示直至顺利完成整个安装程序。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值