ubuntu 14.04 搭建pxe 服务器 可以pxe启动桌面版,cobbler只可以启动server

开启填坑之旅,综合所有文章搞一夜。。。。

1.准备一个ubuntu14 桌面版,虚拟机,pc都可以

2.准备可以上外网的环境(安装包)

3设置软件源为国内的,不知道可以百度下

4.sudo apt-get update

5.sudo apt-get upgrade

6.sudo apt-get install vim -y

7.设置静态ip(根据自己网络环境来)

    sudo vim /etc/network/interfaces

   添加

    加上#主网络接口

    auto eth0

    iface eth0 inet static

    address 192.168.99.8

    netmask 255.255.255.0

    gateway 192.168.99.1

    dns-nameservers 8.8.8.8

    执行 

sudo /etc/init.d/networking restart  失败就重启

8.安装 DHCP, TFTP 和 NFS:

DHCP,TFTP 和 NFS 是 PXE 服务器的重要组成部分。首先,需要更新你的系统并安装所有需要的软件包。

为此,运行以下命令:

sudoapt-get update

sudo apt-get install isc-dhcp-server inetutils-inetd tftpd-hpa syslinux nfs-kernel-server -y

9.配置 DHCP 服务:

DHCP 代表动态主机配置协议(Dynamic Host Configuration Protocol),它主要用于动态分配网络配置参数,如用于接口和服务的 IP 地址。在 PXE 环境中,DHCP 服务器允许客户端请求并自动获得一个 IP 地址来访问网络。

9.1、编辑 “/etc/default/dhcp3-server” 文件.

sudonano/etc/default/dhcp3-server

作如下修改:

INTERFACES="eth0"

保存 (Ctrl + o) 并退出 (Ctrl + x) 文件.

9.2、编辑 “/etc/dhcp3/dhcpd.conf” 文件:

sudonano/etc/dhcp/dhcpd.conf

作如下修改:

default-lease-time600;

max-lease-time7200;

subnet 192.168.1.0 netmask 255.255.255.0{

range 192.168.1.21192.168.1.240;

option subnet-mask 255.255.255.0;

option routers 192.168.1.20;

option broadcast-address 192.168.1.255;

filename "pxelinux.0";

next-server 192.168.1.20;

}

保存文件并退出。

9.3、启动 DHCP 服务.

sudo /etc/init.d/isc-dhcp-server start


配置 TFTP 服务器:

TFTP 是一种文件传输协议,类似于 FTP,但它不用进行用户认证也不能列出目录。TFTP 服务器总是监听网络上的 PXE 客户端的请求。当它检测到网络中有 PXE 客户端请求 PXE 服务时,它将提供包含引导菜单的网络数据包。

1、配置 TFTP 时,需要编辑 “/etc/inetd.conf” 文件.

sudo vim /etc/inetd.conf

作如下修改:

tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot

保存文件并退出。

2、编辑 “/etc/default/tftpd-hpa” 文件。

sudo vim /etc/default/tftpd-hpa

作如下修改:

TFTP_USERNAME="tftp"

TFTP_DIRECTORY="/var/lib/tftpboot"

TFTP_ADDRESS="[:0.0.0.0:]:69"

TFTP_OPTIONS="--secure"

RUN_DAEMON="yes"

OPTIONS="-l -s /var/lib/tftpboot"

保存文件并退出。

3、 使用 xinetd 让 boot 服务在每次系统开机时自动启动,并启动tftpd服务。

sudo update-inetd --enable BOOT

sudo service tftpd-hpa start

4、检查状态。

sudo netstat -lu

它将如下所示:

ProtoRecv-Q Send-Q LocalAddressForeignAddressState

udp 00*:tftp *:*

如果


配置 PXE 启动文件

现在,你需要将 PXE 引导文件 “pxelinux.0” 放在 TFTP 根目录下。为 TFTP 创建目录结构,并从 “/usr/lib/syslinux/” 复制 syslinux 提供的所有引导程序文件到 “/var/lib/tftpboot/” 下,操作如下:

sudo mkdir /var/lib/tftpboot

sudo mkdir /var/lib/tftpboot/pxelinux.cfg

sudo mkdir -p /var/lib/tftpboot/Ubuntu/14.04/amd64/

sudo cp/usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/

sudo cp/usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/


设置 PXELINUX 配置文件

PXE 配置文件定义了 PXE 客户端启动时显示的菜单,它能引导并与 TFTP 服务器关联。默认情况下,当一个 PXE 客户端启动时,它会使用自己的 MAC 地址指定要读取的配置文件,所以我们需要创建一个包含可引导内核列表的默认文件。

编辑 PXE 服务器配置文件,使用有效的安装选项。

编辑 “/var/lib/tftpboot/pxelinux.cfg/default”:

sudo vim /var/lib/tftpboot/pxelinux.cfg/default

作如下修改:

DEFAULT vesamenu.c32

TIMEOUT 100

PROMPT 0

MENU INCLUDE pxelinux.cfg/PXE.conf

NOESCAPE 1

LABEL Try Ubuntu14.04 Desktop

MENU LABEL TryUbuntu14.04 Desktop

kernel Ubuntu/vmlinuz

append boot=casper netboot=nfs nfsroot=192.168.99.8:/var/lib/tftpboot/Ubuntu/14.04/amd64

initrd Ubuntu/initrd.lz quiet splash

ENDTEXT

LABEL InstallUbuntu14.04Desktop

MENU LABEL InstallUbuntu14.04Desktop

kernel Ubuntu/vmlinuz

append boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.99.8:/var/lib/tftpboot/Ubuntu/14.04/amd64

initrd Ubuntu/initrd.lz quiet splash

ENDTEXT

保存文件并退出。

这个地方initrd.lz和vmlinuz 也可以试 initrd.gz或者 vmlinuz.efi , 根据镜像包里的文件来定

编辑 “/var/lib/tftpboot/pxelinux.cfg/pxe.conf” 文件。

sudo vim /var/lib/tftpboot/pxelinux.cfg/pxe.conf

作如下修改:

MENU TITLE PXE Server

NOESCAPE 1

ALLOWOPTIONS 1

PROMPT 0

MENU WIDTH 80

MENU ROWS 14

MENU TABMSGROW 24

MENU MARGIN 10

MENU COLOR border 30;44#ffffffff #00000000 std

保存文件并退出。


为 PXE 服务器添加 Ubuntu 14.04 桌面启动镜像

对于这一步需要 Ubuntu 内核和 initrd 文件。要获得这些文件,你需要 Ubuntu 14.04 桌面 ISO 镜像。你可以通过以下命令下载 Ubuntu 14.04 ISO 镜像到 /mnt 目录:

sudo cd /mnt

把你下载的镜像放到这个路径下。下面以ubuntu-14.04.3-desktop-amd64.iso 为例

注意: 下载用的 URL 可能会改变,因为 ISO 镜像会进行更新。如果上面的网址无法访问,看看这个网站,了解最新的下载链接。

挂载 ISO 文件,使用以下命令将所有文件复制到 TFTP文件夹中:

sudo mount-o loop /mnt/ubuntu-14.04.3-desktop-amd64.iso /media/

sudo cp -r /media/* /var/lib/tftpboot/Ubuntu/14.04/amd64/

sudo cp -r /media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/

sudo cp /media/casper/initrd.lz /media/casper/vmlinuz /var/lib/tftpboot/Ubuntu/


将导出的 ISO 目录配置到 NFS 服务器上

现在,你需要通过 NFS 协议来设置“安装源镜像( Installation Source Mirrors)”。你还可以使用 HTTP 和 FTP 来安装源镜像。在这里,我已经使用 NFS 输出 ISO 内容。

要配置 NFS 服务器,你需要编辑 “/etc/exports” 文件。

sudo vim /etc/exports

作如下修改:

/var/lib/tftpboot/Ubuntu/14.04/amd64 *(ro,async,no_root_squash,no_subtree_check)

保存文件并退出。为使更改生效,输出并启动 NFS 服务。

sudo exportfs -a

sudo/etc/init.d/nfs-kernel-server start

现在,你的 PXE 服务器已经准备就绪。


配置网络引导 PXE 客户端

PXE 客户端可以是任何支持 PXE 网络引导的计算机系统。现在,你的客户端只需要在系统的 BIOS 中设置 “从网络引导(Boot From Network)” 选项就可以启动并安装 Ubuntu 14.04 桌面。

现在准备出发吧 - 用网络引导启动你的 PXE 客户端计算机,你现在应该看到一个子菜单,显示了我们创建的 Ubuntu 14.04 桌面的菜单项。

pxe


结论

配置使用 PXE 服务器从网络启动安装能提高效率和节省时间。你可以在本地网络中同时安装数百个客户端。所有你需要的只是一个 PXE 服务器和能启动 PXE 的客户端。试试吧,如果这个对你有用请让我们知道。

如果循环数秒,就是文件有问题,挂在之后的文件不对,可以用虚拟机的cd挂镜像,或者windows解压自己复制进去

PXE Server wiki

PXE Server Ubuntu

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,340评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,762评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,329评论 0 329
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,678评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,583评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,995评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,493评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,145评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,293评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,250评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,267评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,973评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,556评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,648评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,873评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,257评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,809评论 2 339

推荐阅读更多精彩内容