环境,ubuntu14.04系统

参考文件https://www.maketecheasier.com/configure-pxe-server-ubuntu/

步骤

1 环境准备

2 安装配置dhcp  tftp nfs

3 PXE安装和配置

4 添加pxe镜像并且导出到nfs服务器上

5 安装时候碰到的问题总结

 

1 环境准备

 

1安装ubuntu系统 

2 配置固定ip地址

#interfaces(5) file used by ifup(8) and ifdown(8)

autolo

ifacelo inet loopback

autoeth0

ifaceeth0 inet static

address10.50.200.22

netmask255.255.255.0

gateway10.50.200.254

 

 

2 安装配置dhcp  tftp nfs

apt-getinstall isc-dhcp-Serverinetutils-inetd tftpd-hpa syslinux nfs-kernel-Server

 

1配置dhcp

vi  /vi /etc/default/isc-dhcp-server

INTERFACES="eth0"

 

vi/etc/dhcp/dhcpd.conf

subnet10.50.200.0 netmask 255.255.255.0 {

range10.50.200.8 10.50.200.10;

optionsubnet-mask 255.255.255.0;

optionrouters 10.50.200.22;   #最好给pxe ip 否则安装很慢

optionbroadcast-address 10.50.200.255;

filename"pxelinux.0";

next-Server10.50.200.22;  #tftp server ip

}

启动服务/etc/init.d/isc-dhcp-server start

2配置tftp服务

vi  /etc/inetd.conf
添加
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s
/var/lib/tftpboot
vi /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"

 

update-inetd --enable BOOT

/etc/init.d/tftpd-hpastart

 

检查服务是否启动  netstat -lu

 

 

3 安装配置PXE

sudomkdir/var/lib/tftpboot
sudomkdir/var/lib/tftpboot/pxelinux.cfg
sudomkdir-p/var/lib/tftpboot/Ubuntu/14.04/amd64/
sudocp/usr/lib/syslinux/vesamenu.c32 /var/lib/tftpboot/
sudocp/usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/

 

vi   /var/lib/tftpboot/pxelinux.cfg/default

 

DEFAULTvesamenu.c32

TIMEOUT100

PROMPT0

MENU INCLUDE pxelinux.cfg/pxe.conf

NOESCAPE1

LABELTry Ubuntu 14.04 Desktop

MENULABEL Try Ubuntu 14.04 Desktop

kernel Ubuntu/vmlinuz.efi

appendboot=casper netboot=nfs nfsroot=10.50.200.22:/var/lib/tftpboot/Ubuntu/14.04/amd64initrd=Ubuntu/initrd.lz quiet splash

ENDTEXT

LABELInstall Ubuntu 14.04 Desktop

MENULABEL Install Ubuntu 14.04 Desktop

kernel Ubuntu/vmlinuz.efi

appendboot=casper automatic-ubiquity netboot=nfs nfsroot=10.50.200.22:/var/lib/tftpboot/Ubuntu/14.04/amd64initrd=Ubuntu/initrd.lz quiet splash

ENDTEXT

 

vi  /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

 

添加镜像

因为我们虚拟机默认挂载了ios  所以可以直接从cd下面cp

mount  /dev/cdrom  /media/

cp-r/media/*/var/lib/tftpboot/Ubuntu/14.04/amd64/
cp-r/media/.disk /var/lib/tftpboot/Ubuntu/14.04/amd64/
cp/media/casper/initrd.lz /media/casper/vmlinuz.efi /var/lib/tftpboot/Ubuntu/

 

vi /etc/exports

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

 

exportfs -a
/etc/init.d/nfs-kernel-server start

 

 

PXE就是全部配置完成   可以用客户机连接安装系统了,

 

 

 

5 中间操作的时候出现的问题,

问题1  不能连接tftp   

是因为 tftp  设置错误  next-Server 10.50.200.22;  #tftp server ip

 

 

问题能进入安装安装界面但是一直提示  automstic boot in x second 一直循环,不能安装

是因为 不能加载 vmlinuz.efi 

 1  确定/var/lib/tftpboot/Ubuntu有这个文件

root@happy-virtual-machine:/var/lib/tftpboot/Ubuntu#ll

total27620

drwxrwxrwx3 root root        4096 Apr 13 16:10 ./

drwxrwxrwx4 root nogroup     4096 Apr 13 15:28 ../

drwxrwxrwx3 root root        4096 Apr 13 15:2814.04/

-r--r--r--1 root root    21699939 Apr 13 16:10initrd.lz

-r--r--r--1 root root     6567896 Apr 13 16:10 vmlinuz.efi

2 确定 /var/lib/tftpboot/pxelinux.cfg/default  中对应没有写错

kernel Ubuntu/vmlinuz.efi

 

问题3 能进行安装但是安装一直停在

end kernel panic  -not syncing: VFS :Unable  to monut root fs  on  unknown-block(2.0)

 

这个问题时因为/var/lib/tftpboot/pxelinux.cfg/default  中的这个是在同一行,而不是两行 (这个问题困扰了好久,才解决)

appendboot=casper netboot=nfs nfsroot=10.50.200.22:/var/lib/tftpboot/Ubuntu/14.04/amd64initrd=Ubuntu/initrd.lz quiet splash

 

二、通过UBUNTU PXE SERVER安装WINDOWS7

 

 

1、       安装配置SAMBA

apt-get install samba samba-common

mkdir /home/share

chmod 777 /home/share

cp/etc/samba/smb.conf/etc/samba/smb.conf.bak

vim/etc/samba/smb.conf

[GLOBAL]组里加上:security = user

新建[myshare]组,组内加上:

comment = myshare

path =/home/share

browseable= yes

writable =yes

useraddsmbuser

smbpasswd -a smbuser

/etc/init.d/smbd restart

 

 

2、       配置PXE

检查是否已安装syslinuxapt-get install syslinux

cp /usr/lib/syslinux/memdisk/var/lib/tftpboot/

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

        增加以下内容:

         LABEL Install Windows 7 Ultimate

MENULABEL Install Windows 7 Ultimate

kernel  memdisk

append  iso initrd=Windows/winpe_amd64.isoraw

ENDTEXT

 

3、       添加WINPEWINDOWS 7镜像

WINPE镜像放到目录/var/lib/tftpboot/Windows/

WIN7安装文件放到/home/share/

 

4、       PXE CLIENT安装

新建虚拟机启动PXE安装,选择Install Windows 7,会先加载winpe,然后在winpe的命令提示符下

net use z: \\10.50.200.22\share

z:

setup.exe

即可开始安装