UOS操作系统如何实现自动安装(一)UOS操作系统如何实现自动安装(二)
================================================================
PXE工作原理这里就不多说了,网上有很多介绍。
这里说一下实验过程:
1、配置nfs服务,把镜像文件共享出去。
2、配置tftp服务,并把pxe启动引导文件共享出去,还有内核文件。
3、修改grub文件,指定系统镜像位置。
4、配置dhcp服务,指定tftp路径,pxe启动文件的位置。
实验环境:
1、两个vmware虚拟机:PXE server、client
2、虚拟机一块网卡,网络选择NAT
3、client虚拟机的固件类型改为:UEFI
实验过程:
################################################################
1、安装NFS
# apt -y install nfs-kernel-server
# systemctl restart nfs-server
# systemctl enable nfs-server
创建NFS目录
# mkdir /var/nfs
# echo “/var/nfs *(rw,sync,no_subtree_check)” >> /etc/exports
# exportfs -arv
复制镜像内容到NFS目录
# mkdir /var/nfs/amd64
# mount xxx.iso /mnt
# cp -r /mnt/* /var/nfs/amd64/
# cp -r /mnt/.disk /var/nfs/amd64/
修改settings.ini文件
# vi /var/nfs/amd64/oem/settings.ini
DI_FULLDISK_MULTIDISK_DEVICE=“/dev/sda” #根据个人磁盘情况来
# chown -R root /var/nfs
# chmod -R 755 /var/nfs
################################################################
2、配置TFTP(DNS附带这个功能)
创建tftp目录
# mkdir -p /var/tftp/amd64
获取网络安装文件:vmlinuz、initrd.lz
# apt install debian-installer-10-netboot-amd64
# cp -r /usr/lib/debian-installer/images/10/amd64/text/debian-installer /var/tftp
修改grub
# vi /var/tftp/amd64/debian-installer/amd64/grub/grub.cfg
set default=0 #默认选择第一个
set timeout=3 #等待超时3秒
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
insmod gzio
menuentry “Install uos” {
set gfxpayload=keep
linux /debian-installer/amd64/live/vmlinuz console=tty boot=live netboot=nfs nfsroot=192.168.0.1:/var/nfs/amd64/ components union=overlay locales=zh_CN.UTF-8 livecd-installer –
initrd /debian-installer/amd64/live/initrd.lz
}
menuentry “Try uos without installing” {
set gfxpayload=keep
linux /debian-installer/amd64/live/vmlinuz console=tty boot=live union=overlay quiet splash –
initrd /debian-installer/amd64/live/initrd.lz
}
拷贝内核文件到TFTP,并修改权限
# cp -ar /var/nfs/amd64/live/ /var/tftp/amd64/debian-installer/amd64/
# cp /var/tftp/debian-installer/amd64/grubx64.efi /var/tftp/amd64/
# chown -R dnsmasq. /var/tftp
################################################################
3、虚拟机网卡设置静态IP(因为一会儿vmware要关闭自带的dhcp功能)
# vi /etc/network/interfaces
allow-hotplug ens33 //根据自己的网卡名称来
iface ens33 inet static //根据自己的网卡名称来
address 192.168.0.1
netmask 255.255.255.0
gateway 192.168.0.1
# systemctl restart networking
# systemctl restart NetworkManager
################################################################
4、配置DHCP(安装dnsmasq)
# apt -y install dnsmasq
# vi /etc/dnsmasq.conf
log-queries #开启日志
log-facility=/var/log/dnsmasq/dnsmasq.log   ;#日志文件路径
listen-address=192.168.0.1 #监听IP地址:本机IP
dhcp-boot=/debian-installer/amd64/bootnetx64.efi #指定pxe启动引导文件
interface=ens33 #绑定的网卡
bind-interfaces
dhcp-range=10.10.10.100,10.10.10.150,1h #dhcp地址池,租期1小时
dhcp-option=3,10.10.10.10 #网关
dhcp-option=6,10.10.10.10 #DNS
server=114.114.114.114 #dns请求到上级服务器
dhcp-option=28,10.10.10.255 #广播地址
dhcp-option=42,0.0.0.0 #NTP地址
enable-tftp #启动dnsmasq内置tftp服务
tftp-root=/tftp #tftp根目录
# systemctl restart dnsmasq.service
# systemctl status dnsmasq.service
OK了,最后client使用pxe启动即可。(不要忘记关闭vmware的DHCP功能,还有固件选择:UEFI)