为什么 32 位和 64 位 Ubuntu 操作系统会改变 r8169 LAN 模块的行为?

为什么 32 位和 64 位 Ubuntu 操作系统会改变 r8169 LAN 模块的行为?

提出这个问题是因为我完成了一个新设备的组装,该设备配有 GA-990FXA-UD3 主板、解锁的 FX 4100 处理器、16GB RAM 和 GT 640 graphix 卡。启动它并测试主板(通过 BIOS),它及其所有端口都运行良好。然后我获取了一份 Ubuntu 12.04 64 位副本并启动 Live 光盘。除了无法识别翻录的两个显示器外,一切似乎都很好,只是我在右上角弹出有线连接断开的提示。然后我注意到几个外围设备(USB)没有亮起。测试了所有 USB 端口;只有两个是活动的。用另一台计算机测试了我的 LAN CAT5 电缆到我的路由器;它是活动的。

关闭设备并再启动几次,结果还是一样。然后我拿了另一张光盘,Xubuntu 64 位;还是一样。拿了一个 Ultimate Edition 3.5 64 位;还是一样。几个小时后,我认为这与 Realtek r8169 模块有关。然后偶然我拿到了一个旧版本的 Ubuntu;10.04 LTS。但是,我没有意识到它是 32 位的。一切正常;USB、LAN 等。所以我安装了 10.04 Ubuntu(再次没有意识到它是 32 位),一切都很顺利。一时兴起决定通过 Ubuntu 升级到 12.04。一切都很顺利。感到疑惑的是,我继续更新并添加我的常用应用程序。尝试安装 Chrome,但软件包安装程序给了我一个错误的架构错误。直到那时我才意识到我安装的是 32 位。

我立即拿起 12.04 64 位 Live DVD 并重新启动。问题依旧。毫无疑问,我的硬件支持 64 位,所以这不是问题。为什么 64 位内核和 32 位内核在(看似)兼容的硬件上表现如此不同,我实在无法理解。

有人能解释一下这个奇怪的现象吗?我可以用 32 位,但如果可能的话,我更希望使用 64 位。

答案1

步骤#1:在终端类型:

sudo nano /etc/default/grub

步骤 #2:编辑此行以使其内容如下:

GRUB_CMDLINE_LINUX="iommu=soft" 

步骤#3:保存并退出

步骤#4:在终端类型:

sudo update-grub

步骤#5:在BIOS中禁用iommu

资料来源: http://ubuntuforums.org/showthread.php?t=2114055&page=2

相关内容