Ubuntu 解决开机网络等待问题
在 Ubuntu 重启后,可能会在开机画面中看到「A start job is running for wait for Network to be configured」这样的消息,一直到两分钟后才可继续进行之后的开机流程。这个问题的原因是出在哪呢?要如何解决?
原因分析
在登录Ubuntu操作系统后,可以使用以下指令来查看这个Systemd Unit的状态
1 | systemd-networkd-wait-online.service |
我们可以根据状态消息来确认,问题点确实是发生在开机配置网络的时候,因为配置一直无法完成,所以超时了。
那个究竟是哪个网络接口无法正常被配置呢?可以使用以下指令来查看:
1 | networkctl |
从上面这张图的结果可以看出,笔者电脑的「enp2s0」这个网络接口似乎有问题,配置了好几分钟都还没结束。
解决方式
方式一:配置静态 IP
通常这个问题是 DHCP 无法正常取得网络信息的缘故所致,因此我们要手动指定 IP
该方式从根源解决问题
Ubuntu所使用的网络管理工具为「netplan」,设置文件都放置于「/etc/netplan」这个目录下。因此我们可以利用「grep」指令来查找「enp0s8」这个网络接口的设置是在哪个文件内进行设置的。指令如下:
1 | cd /etc/netplan; grep -r enp2s0 |
从结果里,可以看到,配置位于
00-installer-config-wifi.yaml
文件中
使用 sudo vim 00-installer-config.yaml
对 enp2s0
网口配置静态 IP。
1 | network: |
保存设置并生效:
1 | sudo netplan generate && sudo netplan apply |
方式二:配置网络等待超时
配置方法:
1 | cd /etc/systemd/system/network-online.target.wants/ |
在 [Service]
下添加
TimeoutStartSec=2sec
1 | [Service] |
参考
本文参考以下文章,在此致以诚挚谢意!