通过网络启动安装ubuntu
Contents
[NOTE] Updated May 13, 2020. This article may have outdated content or subject matter.
最近折腾nuc,默认系统是win10。一直想安装一个linux,结果开始动手安装后,真的是累啊。之前安装linux都是直接使用dd命令制作一个启动u盘,然后bios设置成u盘启动,就可以点下一步就可以安装完成了,不过这次nuc不知道为什么就是启动不成功,一直报"unable to find a medium containing a live file system".
网上有很多方法,没有一个有用的。改过bios,不使用uefi启动,系统启动盘也用其它的软件制作过,还有更加牛逼的方法:就是进入到ubuntu界面,拨出u盘再插上。我怀疑是我的usb3.0u盘的问题,不过手头没有2.0的u盘也没有办法证实了。
nuc又没有光驱,现在剩下的唯一方法就是pxe通过网络启动安装了,于是有了下面的pxe安装教程。
在win10创建空白压缩盘
在Windows10下直接进入磁盘管理器找到有足够空间的磁盘,通过压缩卷压缩出一部分空白分区,分区大小依据个人需求,这个大小是未来第二个系统所有的可用空间,直接给了个30G
树莓派设置
下载ubuntu启动文件
- 下载UEFI签名的grup启动文件到/srv/tftp. http://archive.ubuntu.com/ubuntu/dists/trusty/main/uefi/grub2-amd64/current/grubnetx64.efi.signed
- 下载正确的ubtuntu的网络启动iso,这里我选择的是18.04的服务器版本。http://cdimage.ubuntu.com/netboot/focal/
- 解压 netboot.tar.gz 到/srv/tftp/
设置grub
-
先创建文件
/srv/tftp/grub/grub.cfg
-
将下面的内容复制到grub.cfg里面
1 2 3 4 5
menuentry "Install Ubuntu" { set gfxpayload=keep linux /ubuntu-installer/amd64/linux gfxpayload=800x600x16,800x600 live-installer/net-image=$PATH_TO_FILESYSTEM_SQUASHFS --- quiet initrd /ubuntu-installer/amd64/initrd.gz }
安装tftp和dhcp服务器
-
Install dnsmasq:
1
sudo apt-get install dnsmasq
-
将电脑设置成静态ip(一般路由器下面也不会变ip可以不用设置)
-
将下面的内容复制到
/etc/dnsmasq.conf
1 2
listen-address=127.0.0.1 listen-address=192.168.50.2
DHCP options
dhcp-range=192.168.50.100,192.168.50.249,12h
dhcp-lease-max=100
dhcp-option=option:router,192.168.50.1
dhcp-option=option:dns-server,192.168.50.2
dhcp-option=option:netmask,255.255.255.0
dhcp-boot=grubnetx64.efi.signed
enable-tftp
tftp-root=/srv/tftp/
```
-
dnsmasq reload
1
sudo service dnsmasq restart
设置路由器
-
将网关设置路由器192.168.50.2,这样当nuc网络启动的时候会把树莓派当成网关,就可以网络启动安装了。
-
因为路由器把网关设置成192.168.50.2, 这样在树莓上面的默认路由会指向自己,是不正确的,用下面的命令删除掉
1 2
ip route delete default via 198.168.50.2 ip route add default via 198.168.50.2
安装
- 重启nuc, 将按F10,选择pxe启动
- 进入界面进行安装
参考
Author beyondkmp
LastMod 2020-05-13