Ubuntu(双系统Windows)以太网未连接/未检测到

我对Linux完全不熟悉,刚刚在Windows 10上安装了Ubuntu 16.04 LTS。(我将Ubuntu安装在与Windows不同的分区,如果这有帮助的话)。所以我设置好了Ubuntu,但是我的以太网无法被检测到和连接。在Windows上一切正常。我在这个网站上搜索了其他问题,但是没有一个解决了我的问题。如果有人能帮助我,我会很高兴的!谢谢!
好的,我是在这个问题上提供赏金的用户。由于声望不够,我无法发表评论。但现在我认为我应该掌握这个问题的主导权。所以,我将描述一下我的系统属性。
我在与Windows 10并行的独立分区上安装了Ubuntu 16.04。笔记本电脑是联想Z51-70。问题是以太网在Ubuntu上无法连接。
这是在Windows上运行“ipconfig”的结果。
Windows IP Configuration


Wireless LAN adapter Local Area Connection* 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter Ethernet:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::d01f:a297:5f9c:80f%4
   IPv4 Address. . . . . . . . . . . : 10.9.73.16
   Subnet Mask . . . . . . . . . . . : 255.255.224.0
   Default Gateway . . . . . . . . . : 10.9.70.250

Ethernet adapter Ethernet 2:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter isatap.{5F5A44D4-1648-49E4-8C87-54CB2AB99206}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter Local Area Connection* 12:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

另外,我想补充一下,重新启动没有帮助。重启网络管理器也没有帮助。在启动Ubuntu之前放弃Windows上的IP也没有帮助。
@DavidFoerster提到的脚本输出位于wireless-info.txt

你确定它不只是在工作吗?它是某种奇特的USB无线设备吗?在右上角应该有一个图标,提供网络选项菜单(通常是两个箭头前后移动的图标)。你可以检查一下。另外,在终端中运行ifconfig时会显示什么信息(使用[CTRL]+[ALT]+[T]打开终端)。还要检查一下你的路由器是否有特殊规则可能阻止了连接。在尝试这些建议后,也许你可以添加一些额外的信息。 - E.F. Nijboer
在同一分区上安装Linux和Windows非常困难,这是因为Windows文件系统缺乏POSIX权限。 - phuclv
1没有硬件细节,怎么回答这个问题呢? - Zanna
@Zanna的问题在于可能有太多的答案,每个网络卡和软件设置的组合都可能有一个答案。自从2016年11月6日提问以来,OP尚未登录,因此可能无法得到进一步的细节。通常,这样的问题会被关闭,但由于悬赏的存在,游戏规则发生变化:发布一个奖励支持者最喜欢的答案。 :p - WinEunuuchs2Unix
@WinEunuuchs2Unix 是的,完全正确。没有来自资助者的硬件细节,回答者只能进行猜测(正如他们所做的)。 - Zanna
@Zanna 的确,有很多猜测,还有像“Ubunut”这样独特的拼写 :) - WinEunuuchs2Unix
请你能否[编辑]你的问题,包括终端命令lspci -nnk | grep -A2 Ethernet的输出?更好的是,你能否运行网络诊断并[编辑]你的问题,包括结果的链接?我知道对于新手来说可能有些困难,但是到目前为止你提供的信息有些模糊,而诊断结果很可能涵盖了所有可能导致问题的选项。谢谢。 - David Foerster
正如Foerster先生所说,请包括Ubuntu命令的输出。您在Windows上的输出对解决Ubuntu问题没有帮助。 - WinEunuuchs2Unix
IITB-Wireless是你的网关设备吗?看起来有其他更强的信号,你的设备应该连接到它们。你的Ubuntu可能正在尝试连接错误的WiFi设备。我偶尔遇到过硬件尝试连接不同的WiFi而不是我的自己的问题。在文件wireless-info.txt的列表中,只有IITB-Wireless是活动的。祝好运。 - xtrchessreal
至少你可以打开终端并输入nm-cli -pnmcli device show,将输出复制到这里以获取一些线索。 - funicorn
7个回答

网络连接问题的圣经

最好的起点是查阅你最喜欢的网络连接圣经,比如来自ArchLinux的这个(wiki.archlinux.org - 在Windows驱动程序中启用WOL)。

虽然有很多方法可以尝试:

1 Check the connection 2 Set the hostname
2.1 Local network hostname resolution 3 Device driver
3.1 Check the status
3.2 Load the module 4 Network interfaces
4.1 Device names
4.1.1 Get current device names
4.1.2 Change device name
4.1.3 Reverting to traditional device names
4.2 Set device MTU and queue length
4.3 Enabling and disabling network interfaces 5 Configure the IP address
5.1 Dynamic IP address
5.1.1 systemd-networkd
5.1.2 dhcpcd
5.1.3 dhclient
5.1.4 netctl
5.2 Static IP address
5.2.1 netctl
5.2.2 systemd-networkd
5.2.3 dhcpcd
5.2.4 Manual assignment
5.2.5 Calculating addresses 6 Tips and tricks
6.1 ifplugd for laptops
6.2 Bonding or LAG
6.3 IP address aliasing
6.3.1 Example
6.4 Change MAC/hardware address
6.5 Internet sharing
6.6 Router configuration
6.7 Promiscuous mode 7 Troubleshooting
7.1 Swapping computers on the cable modem
7.2 The TCP window scaling problem
7.2.1 How to diagnose the problem
7.2.2 Ways of fixing it
7.2.2.1 Bad
7.2.2.2 Good
7.2.2.3 Best
7.2.3 More about it
7.3 Realtek no link / WOL problem
7.3.1 Enable the NIC directly in Linux
7.3.2 Rollback/change Windows driver
7.3.3 Enable WOL in Windows driver
7.3.4 Newer Realtek Linux driver
7.3.5 Enable LAN Boot ROM in BIOS/CMOS
7.4 No interface with Atheros chipsets
7.5 Broadcom BCM57780
7.6 Realtek RTL8111/8168B
7.7 Gigabyte Motherboard with Realtek 8111/8168/8411 8 See also

我们将从最有可能的情况开始,基于有限的信息,即网卡在Windows中工作但在Ubuntu中不工作。这在下一节中有详细说明。
Windows在关闭时禁用NIC(网络接口卡)
当一个被称为“远程唤醒(Wake on LAN,WOL)”的BIOS功能被禁用时,您的NIC将没有闪烁的LED指示连接,并且无法连接到路由器。Windows可以在关闭时禁用您的NIC。为了防止在Windows XP(例如)下发生这种情况,请使用以下方法来防止Realtek网卡被禁用:
Right click my computer and choose "Properties"
--> "Hardware" tab   --> Device Manager
 --> Network Adapters
  --> "double click" Realtek ...
   --> Advanced tab
    --> Wake-On-Lan After Shutdown
     --> Enable

这可能不能解决原帖的问题,因为没有给出确切的细节。然而,非常有信心这个网页上的其他解决方案之一将能够解决问题。

我在Debian 10和Windows 10双系统启动时遇到了类似的问题。解决方法是通过在“控制面板 -> 电源选项 -> 选择电源按钮的功能 -> 更改当前不可用的设置 -> 取消勾选“打开快速启动”并保存更改来进行“真正”的关闭Windows 10。

我发现这个网站对于在Alienware M15上运行Ubuntu 18.04并使用Killer Wireless AX1650非常有帮助,它提供了一个安装驱动程序的指南。请注意,必须禁用安全启动。该指南适用于Ubuntu 16.04 / 18.04 / 19.04。https://support.killernetworking.com/knowledge-base/killer-ax1650-in-debian-ubuntu-16-04/ 截至2019年10月24日,该网站的说明如下:
在终端中逐行输入以下命令。
第一步 - 下载最新的Git和Build-Essential软件包。
sudo apt update
sudo apt-get install -y git
sudo apt-get install -y build-essential

第二步 - 下载Iwlwifi-Firmware.git存储库
git clone git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
cd linux-firmware
sudo cp iwlwifi-* /lib/firmware/
cd ..

第三步 - 下载Backport-Iwlwifi.git存储库 由于“Make”将生成一个未签名的驱动程序,您可能会看到SSL错误/警告。 这没关系,但这就是为什么必须禁用安全启动的原因。 如果启用了安全启动,您的计算机将不使用未签名的驱动程序!
git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
cd backport-iwlwifi
sudo make defconfig-iwlwifi-public
sudo make -j4
sudo make install

以下命令可能需要强制您的计算机在启动时使用驱动程序:
update-initramfs -u

重启你的机器!

我在过去几周(2020年12月)遇到了同样的问题。我双启动Linux Mint 20和Windows 10(仅用于游戏)。在某个Windows更新之后,每次从Windows重启到Linux时,网卡都无法工作。拔掉电源线一段时间可以解决问题。 UEFI配置中禁用了远程唤醒(Wake-on-LAN)。 解决方案是在Windows中对网卡进行以下配置:
  • 禁用远程唤醒(Wake-on-LAN)
  • 禁用PME
更改这些设置后,问题消失了:从Windows重启到Linux(或者关机后重新启动到Linux)正常工作,如预期所示。

这更像是一个驱动问题,因为在Windows 10上一切正常。你可能在Ubuntu上遇到了以太网卡驱动的问题。
我相信这个链接中提到的选项会有帮助。如果输入不起作用,请告诉我你的以太网卡详细信息,以及ifconfig/etc/network/interfaces的输出。

1这更像是一个评论而不是一个回答。 :) - Thompson Dawes

我绝对不是专家,但当我第一次开始使用双系统电脑时,也遇到了这个问题。我使用的是14.04版本,也有类似的问题。根据我在网上(包括这里和其他技术网站)找到的信息,这似乎是一个以太网卡配置的问题。根据其他人的说法,Windows和Ubuntu使用不同的以太网卡配置。由于Windows的工作方式,它以一种Ubuntu无法重新配置的方式配置了该卡。最简单的解决方法是让Windows“释放”以太网卡。然而,Windows只在完全关闭时才会这样做,而不是在重新启动时。反过来则不同。在Ubuntu使用以太网卡后,Windows可以重新配置它。
总结一下,从Ubuntu重启到Windows是可以的。完全关闭Windows,然后启动Ubuntu也是可以的。不可行的是从Windows重启到Ubuntu。我尝试过寻找一种强制Ubuntu重新配置该卡的方法。我还搜索了一种在重新启动时强制Windows“释放”该卡的方法,就像完全关闭一样。然而,到目前为止,我的搜索没有找到任何结果。

因为声望要求,我无法对原帖进行评论。但是,我想再次强调完全关机应该是有效的。我并不是指重新启动或重启;这是有区别的。我指的是需要物理上按下计算机电源按钮才能重新打开它的情况。在进行完全关机时,计算机不应自动开机。 - Andrew Shum

首先检查您的安装中以太网卡驱动程序是否正常工作。

lspci | grep -i eth

这将会产生以下输出:
Ethernet controller: Intel Corporation Ethernet Connection I217-LM (rev 05)

如果输出为空,请编辑/etc/NetworkManager/NetworkManager.conf文件,并设置managed=true。重新启动网络管理器:sudo service network-manager restart
您还可以尝试使用compat-wireless-2.6.tar.bz2驱动程序。