问题描述
这个问题有时会在Ubuntu启动时发生。有时您无法真正引导到界面。
用5个点和一条消息说:
waiting for network configuration
其次是:
waiting an additional 60 seconds for network configuration
最佳解决方案
我决定使用CLI和Alt + Ctrl + F2方法,以便在登录到GUI时可以自由地执行此操作 – 好的,我将编写一般步骤,以便随意使用任何您喜欢的方法。
-
编辑
/etc/network/interfaces
:sudo nano /etc/network/interfaces
1.1如果您在登录到GUI时从LXTerminal输入此信息,则:
gksudo leafpad /etc/network/interfaces
-
删除任何写在那里,只是保持这个:
auto lo iface lo inet loopback
最好保留”interfaces”文件的备份副本以防万一,因此请确保在执行任何操作之前保存”interfaces.bak”文件
-
如果您正在使用nano和Ctrl + S(文件>保存),则使用Ctrl + O。
-
如果您正在使用nano和Ctrl + Q(文件>退出),则使用Ctrl + X。
-
重启。
-
完成。
次佳解决方案
在我遇到的每种情况下,它都是/etc /network /interfaces中的一个问题
您不应该按照之前的文章中的建议移除所有内容,而是要检查常见问题。
在我的情况下,它是为额外的以太网IPS定义网关参数。您只需要为每个卡的主接口定义网关。
我的意思是如果你的文件看起来像这样:
auto eth0
iface eth0 inet static
address 10.0.0.5
netmask 255.255.255.0
network 10.0.0.0
gateway 10.0.0.1
auto eth0:0
iface eth0:0 inet static
address 10.0.0.6
netmask 255.255.255.0
network 10.0.0.0
#gateway 10.0.0.1
第二个网关参数会导致ubuntu在启动过程中挂起60多秒,您只需要为第一个eth0部分定义网关,您需要为任何其他nic卡定义网关,IE eth1,wlan0等,但不适用于额外的IPS分配给相同的网络。早期版本的Ubuntu没有任何问题,但是Ubuntu 12.04不喜欢它……如果它可以忽略它,那会很好。
我相信在这个文件中还有其他的”problems”可能会导致这种情况,所以你应该检查文件并确保没有错别字等。
第三种解决方案
基本上你可以编辑这个/etc/init/failsafe.conf
文件并禁用(注释)实际暂停系统的sleep
命令。除了完成这项工作外,至少在我的情况下,网络配置没有任何错误,所以一切都很顺利。
顺便说一句,你的解决方案只允许配置回送接口,这是我在我的设置中无法承受的(我不得不手动设置接口和网桥)。
第四种方案
真正的(!)解决方案是这样的命令:
sudo sed -i.old-`date +%Y%m%d-%H%M%S` '/^auto lo$/!s/^auto /allow-hotplug /' /etc/network/interfaces
在/etc/network/interfaces
中,这将所有接口(lo
除外)从auto
更改为allow-hotplug
。这样引导不再等待接口首先出现。
Warning: After this change a permanently connected interface might stay down after boot until
systemd
receives a real plug event. See Notes below.
示例之前(查看auto eth0
):
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
示例之后(查看allow-hotplug eth0
):
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp
笔记:
-
如果您在
/etc/fstab
中安装网络共享,请将auto
而不是allow-hotplug
用于网络共享的接口。否则,您可能会在启动过程中看到奇怪的事情,因为在网络共享挂载之前网络必须可用。allow-hotplug
不能确保这一点。 -
如果接口处于
auto
模式,则表示:“这些接口对启动至关重要,因此我们必须等待它们在启动之前启动。”因此,如果他们没有出现,Ubuntu会延迟启动失败保护,等待它们出现长达120秒。这是正确的做法。相比之下,设置为allow-hotplug
的接口告诉Ubuntu,它们是可选的。因此它们不是启动必不可少的。 -
Ubuntu记录哪些接口在安装时可用,并假定它们对于以后的操作很重要。这是一个保守的选择,以防以后需要接口,因为某些服务会绑定到它,因为如果这些服务错过了接口的启动,则这些服务无法启动。
-
还有一个内核设置,它允许进程绑定到不存在的IP,所以如果你喜欢,你总是可以使用
allow-hotplug
,而不会损害启动过程的稳定性。但是,这是一个完全不同的故事。
备注(更新2018-01-04):
-
在我身边,
allow-auto
与auto
的做法相同,所以它不起作用(用br0
试用)。 -
将我的一个系统升级到Debian Stretch并切换到SystemD后,在等待(永久连接的外部)接口
br0
出现时,引导变得无法忍受地延迟了。但是,使用allow-hotplug
后,接口br0
在引导后停止运行。也许这是由于SystemD没有在这样的接口上接收任何真实或合成的插件事件而引起的。我没有更深入地了解这一点,因为root
的一些不起眼的crontab
条目@reboot /sbin/ifup br0
为我修复了它。 (这可行,但可能是一些东西,最好不要推荐给别人,我想听听有人有更好的主意。)
((文本到此为止,其余部分供您娱乐))
这是一个睡觉时间的故事,受此启发:
一些农裁剪农民横行。他们的庄稼干了!所以他们调查了为什么灌溉沟里没有足够的水。在更近的距离他们立即发现了他们的罪魁祸首。大坝!该死的大坝举起了所有的水!
从这一刻起,很明显该做什么。 “炸毁水坝!”他们大叫,开始收集他们的炸药。然后他们都直奔大坝。
其中一位农民的小儿子问他父亲发生了什么事。他告诉他的儿子:“沟里没有足够的水,所以我们炸掉水坝!”然后,他立即离开跟随包装。
“But”,小小的一个人试图在他的父亲之后大喊,“但是有一个阀门!只要打开阀门!”可悲的是,他的声音太温和了,他的腿太短了,所以这个信息没有传到任何人。
男孩坐下哭了起来。半小时后,他听到了远处的”Boom”,它在阀门所在的水坝处也毁坏了他最喜欢的地方。
接下来发生了什么?
洪水冲走了所有珍贵的农裁剪。银行拿走了男孩’s father’s农场。他的父亲无力支付一所好学校。所以这个男孩加入了军队接受高等教育。在那里,他学习了关于爆炸物的一切,现在试图发明一个爆炸反应堆大坝。
这个故事在这里有什么用?
-
农裁剪是其他答案。
-
这个小男孩就是这个答案。
-
大坝是Ubuntu故障安全睡眠。
-
阀门是适当的接口设置。
-
水是启动过程。
-
裁剪是你的Ubuntu操作系统。
-
充满沟渠的是,启动过程应该如何。
居住在/etc/network/interfaces
中的接口设置随着故障安全中的睡眠状态被解除,即使有人看到关闭的阀门(auto
),也没人发现它也可能是开放式的!
第五种方案
在包含sleep <n>
的所有行的前面的/etc/init/failsafe.conf
文件中添加#
。这样做会有助于快速启动。
这将导致更快的启动,并且它不会解决/etc/network/interfaces
文件的任何问题。修复/etc/network/interfaces
文件的问题不是/etc/init/failsafe.conf
文件的目的。
在某些情况下,您希望网络接口无法正常工作(例如,有些笔记本电脑在某些时候只插入了eth0接口(有线连接))。我不想等待2分钟以便我的笔记本电脑启动,因为我没有插入有线连接。
第六种方案
我有类似的问题。通过运行ifconfig -a
,我确定计算机上唯一的网络设备是p4p1
和lo
。没有eth0
。
所以我编辑了/etc/network/interfaces
,用p4p1
替换了eth0
的所有实例。该文件的内容现在是:
auto lo
iface lo inet loopback
auto p4p1
iface p4p1 inet dhcp
重新启动后,网络工作正常。
如果有关系,我使用的是Ubuntu 12.04.5 Server版本。