Ubuntu16.04桌面版pxe启动实现自动安装

远程无人值守安装ubuntu16.04.4 desktop版本,server版本可以通过http及kicstart实现无人值守安装,桌面版无法实现,但可通过preseed实现自动安装。
建议引导采用legacy bios方式,不采用uefi引导。
1、 准备

  1. 安装好 Ubuntu 16.04系统的PC(虚拟机也可)
  2. 支持DHCP的路由器一个或网线直连也可
  3. 支持pxe启动的目标机器
  4. 安装Ubuntu的PC和目标机器在同一网络下
    2、 配置网卡
    Ubuntu必须设置为静态IP;本案例中采用:192.168.1.53
    3、 安装DHCP, TFTP,PXE, NFS 服务
sudo apt-get update
sudo apt-get install -y isc-dhcp-server tftpd-hpa  nfs-kernel-server
sudo apt-get install -y apache2

4、 配置DHCP

sudo vim /etc/default/isc-dhcp-server
INTERFACES="enp10s0"

注:enp10s0为使用的网卡,网卡设备可能不同,输入ifconfig查看网卡设备名称;

sudo vim /etc/dhcp/dhcpd.conf
ddns-update-style none;
 
option domain-name "ubuntu";  # 必须修改默认值,否则syslog报异常,pxe client IP无法获取
option domain-name-servers 192.168.1.46;  # 修改为DNS服务器IP
 
allow booting;
allow bootp;

#IP地址分配网段可根据自己需要设定

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.30;  #dhcp获取ip的范围,可修改为自己的地址范围
    option subnet-mask 255.255.255.0;  #子网掩码
    option routers 192.168.1.1;        #网关IP地址
    option broadcast-address 192.168.1.255;  #广播IP地址
    next-server 192.168.1.53;        #修改为server的静态IP
    filename "pxelinux.0"; 
}

tips: route -n 查看网关
重启DHCP服务

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

5、 配置TFTP服务

sudo vim /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="192.168.1.53:69"  #添加服务器IP地址
TFTP_OPTIONS="--secure"
RUN_DAEMON="yes"
OPTIONS="-l -s /var/lib/tftpboot"

启动 tftp服务

sudo service tftpd-hpa start

6、 配置pxe 启动文件
下载 netboot,网址为: http://cdimage.ubuntu.com/netboot/,选择合适的镜像,下载其中的netboot.tar.gz;
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解压到~/netboot下;

mkdir netboot
sudo tar -xvf netboot.tar.gz -C netboot/
sudo mkdir /var/lib/tftpboot
sudo mkdir /var/lib/tftpboot/pxelinux.cfg
sudo mkdir -p /var/lib/tftpboot/Ubuntu/16.04/
sudo cp ~/netboot/ubuntu-installer/amd64/boot-screens/vesamenu.c32 ldlinux.c32 libcom32.c32 libutil.c32 /var/lib/tftpboot/

如果不行,分开复制

ubuntu@test:~$ sudo cp ~/netboot/ubuntu-installer/amd64/boot-screens/vesamenu.c32 /var/lib/tftpboot/
ubuntu@test:~$ sudo cp ~/netboot/ubuntu-installer/amd64/boot-screens/ldlinux.c32 /var/lib/tftpboot/ 
ubuntu@test:~$ sudo cp ~/netboot/ubuntu-installer/amd64/boot-screens/libcom32.c32 /var/lib/tftpboot/
ubuntu@test:~$ sudo cp ~/netboot/ubuntu-installer/amd64/boot-screens/libutil.c32 /var/lib/tftpboot/
sudo cp ~/netboot/ubuntu-installer/amd64/pxelinux.0 /var/lib/tftpboot/

注意:拷贝文件时验证文件是否拷贝完全

sudo vim /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT vesamenu.c32
TIMEOUT 20
PROMPT 0
MENU INCLUDE pxelinux.cfg/pxe.conf
NOESCAPE 1
 
LABEL Install Ubuntu 16.04 Desktop
MENU LABEL Install Ubuntu 16.04 Desktop
kernel Ubuntu/16.04/casper/vmlinuz.efi
append boot=casper automatic-ubiquity netboot=nfs nfsroot=192.168.1.53:/var/lib/tftpboot/Ubuntu/16.04 initrd=Ubuntu/16.04/casper/initrd.lz quiet splash
ENDTEXT

注意:nfs服务器IP(192.168.1.53)地址

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

7、 添加启动镜像

  1. 下载镜像
    在http://releases.ubuntu.com/选择合适镜像下载。
  2. 挂载
    在这里插入图片描述
sudo mount /dev/cdrom /mnt  # sudo mount ubuntu-16.04-server-amd64.iso /mnt/

将光盘挂载到/mnt/ 下 或者 sudo mount /dev/sr0 /mnt/

sudo cp -r /mnt/* /var/lib/tftpboot/Ubuntu/16.04
sudo cp -r /mnt/.disk /var/lib/tftpboot/Ubuntu/16.04

注:此处下载路径及挂载路径可能不同,请自行处理
3) 配置nfs

sudo vim /etc/exports
/var/lib/tftpboot/Ubuntu/16.04 *(ro,async,no_root_squash,no_subtree_check)
  1. 重启nfs服务
sudo /etc/init.d/nfs-kernel-server start
  1. 验证nfs是否成功
showmount -e 192.168.1.53

8、 通过preseed实现自动安装

d-i debian-installer/locale string zh_CN
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string us 
d-i netcfg/choose_interface select auto
d-i netcfg/get_nameservers string 192.168.0.187
d-i netcfg/get_hostname string tesra
d-i netcfg/get_domain string tesra
d-i netcfg/wireless_wep string
d-i mirror/http/mirror select cn.archive.ubuntu.com
d-i clock-setup/utc boolean true
d-i time/zone string Asia/Shanghai
d-i clock-setup/ntp boolean true
d-i partman-auto/method string regular
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-md/confirm boolean true
d-i live-installer/net-image string http://192.168.0.187/Ubuntu/16.04/casper/filesystem.squashfs 
d-i base-installer/kernel/image string linux-generic
d-i passwd/user-fullname string ubuntu
d-i passwd/username string ubuntu
d-i passwd/user-password password 123456  #密码
d-i passwd/user-password-again password 123456  #密码
d-i passwd/user-uid string 1000
d-i user-setup/encrypt-home boolean false
d-i apt-setup/use_mirror boolean false
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string 192.168.1.53 #PXE服务器地址
d-i apt-setup/security_path string /ubuntu
d-i debian-installer/allow_unauthenticated boolean true
tasksel tasksel/first multiselect standard
d-i pkgsel/include string openssh-server build-essential
d-i pkgsel/upgrade select none
d-i pkgsel/update-policy select none
d-i grub-installer/only_debian boolean true
d-i finish-install/reboot_in_progress note
xserver-xorg xserver-xorg/autodetect_monitor boolean true
d-i preseed/late_command string apt-install zsh; in-target chsh -s /bin/zsh
  1. 将initrd.lz拷贝到~/下;
cp /var/lib/tftpboot/Ubuntu/16.04/casper/initrd.lz ~/
  1. 解压initrd.lz;
mkdir temp  # 创建存储内容的临时文件
cp initrd.lz temp/initrd.lzma  # 改名initrd为lzma后缀
cd temp
ubuntu@test:~/temp$ su root
lzma -d initrd.lzma 
cpio -id < initrd # 解压出文件
  1. 创建preseed.cfg文件;
    注:因preseed.cfg文件太长,以附件的方式呈现,可根据实际情况,自行修改;此文件存储位置须在解压后的temp路径中。
  2. 重新生成nitrd.lz文件;
cd temp#       su root
find . |cpio --quiet --dereference -o -H newc>../initrd
cd ..
lzma -7 initrd  (等待一会儿……)
mv initrd.lzma initrd.lz
  1. 拷贝回原目录覆盖;
cp ~/initrd.lz  /var/lib/tftpboot/Ubuntu/16.04/casper/
安装Ubuntu 16.04桌面版系统的步骤如下: 1. 首先,您需要准备一个4GB以上的U盘,并下载Ubuntu 16.04的光盘镜像文件。 2. 下载UltraISO软件,用于制作Ubuntu系统盘。 3. 在Ubuntu官方网站上搜索并下载适用于您的系统的Ubuntu 16.04镜像文件。 4. 使用UltraISO软件将镜像文件写入U盘,等待制作完成。 5. 将制作好的Ubuntu系统U盘插入电脑,并重新启动电脑。 6. 在启动时按F12键选择U盘启动,并选择"Install Ubuntu"。 7. 进行系统配置,选择清除之前的Windows系统,或手动分区以安装在合适的磁盘上。 8. 点击继续,然后按照屏幕上的提示完成安装步骤。 9. 完成安装后,重启计算机,选择进入Ubuntu系统。 通过以上步骤,您可以成功安装Ubuntu 16.04桌面版系统。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [【环境搭建】手把手教你安装Ubuntu16.04系统](https://blog.csdn.net/Zhang_Chen_/article/details/86749546)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [Ubuntu16.04桌面版安装](https://blog.csdn.net/Captain_Harlock/article/details/52000071)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值