从 Ubuntu 恢复启动网络连接?

int*_*tar 35 networking linux ubuntu

昨晚我尝试将 Ubuntu 从 Hardy 升级到 Intrepid,但似乎已将其杀死。

我可以启动到“恢复模式”和 root shell,但是当它尝试启动 Gnome 环境等时它会冻结。

在这种恢复模式下,它似乎不在网络上(即 ifconfig 显示 lo 位但不显示 eth0 位)而且我无法 ping 或 ssh 到它。

如何从此提示开始联网?

干杯

菲尔

Jin*_*ich 33

您通常从 DHCP 服务器获取 IP 地址吗?

$ ifconfig eth0 up 
$ sudo dhclient eth0
Run Code Online (Sandbox Code Playgroud)

要设置所需的 IP 地址(例如 192.168.0.1),请键入:

ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
route add default gw GATEWAY-IP eth0
Run Code Online (Sandbox Code Playgroud)

如果在启动过程中 gdm 出现问题,请切换到真正的控制台:

使用Ctrl- Alt-F1快捷键切换到第一个控制台。

要切换回桌面模式 ( gdm),请使用Ctrl- Alt-F7快捷键。

  • 不要忘记添加您的默认网关(如果您想要访问互联网): route add default gw <gateway-ip> (2认同)

wom*_*ble 7

要开始联网,/etc/init.d/networking start应该可以解决问题。我会说,如果 Gnome 没有启动,那么您就会遇到 X 配置问题。如果您禁用 gdm 在启动时启动,那么您应该能够进入常规控制台提示符并从那里进行诊断(检查/var/log/Xorg.0.log等)。


Ser*_*ndt 5

一步一步与 ip

  1. 使用ip link命令获取网络接口的名称。名称可能因主板而异。它应该不同于lo,虚拟本地接口。
# ip link
Run Code Online (Sandbox Code Playgroud)
  1. 假设网络接口被调用eth0,下面的命令将打开接口。现在ip link再次执行命令时,这应该是可见的。
# ip link set eth0 up
# ip link
Run Code Online (Sandbox Code Playgroud)
  1. 接下来,需要从路由器获取本地 IP 地址。第二个命令再次用于检查。
# dhclient eth0
# ip addr show dev eth0
Run Code Online (Sandbox Code Playgroud)
  1. 最后,需要一个临时域名服务器 (DNS) 将 URL 转换为 IP 地址。这可以是 LAN 中的路由器(如果之前/自动正确配置)、ISP 的 DNS 或 - 如果您仍然信任它们 - Google 的 DNS 在8.8.8.8这需要编辑通常不应编辑的系统配置文件。但是,重新启动时所做的任何更改都会自动消失。
# nano /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

添加一行,例如:

nameserver 192.168.178.1
Run Code Online (Sandbox Code Playgroud)

一些更有用的命令

就我个人而言,我用更旧的型号替换了 NVidia 视频卡,最终陷入了这种可怕的境地。网络建立后,以下一组命令使我能够成功安装正确的 NVidia 卡驱动程序。

# update-drivers autoinstall
# update-initramfs -k all -u
# update-grub
Run Code Online (Sandbox Code Playgroud)

  • 如果您有较新版本的 Ubuntu,但未附带用于 ifconfig 的网络工具,这比已接受的答案有用得多。+1 (2认同)

小智 5

在较新版本的 Ubuntu 中,名称解析不再通过/etc/resolv.conf。因此你需要做类似的事情

dhclient eno1
systemctl start systemd-resolved
Run Code Online (Sandbox Code Playgroud)