我刚刚安装了适用于 Linux 的 Windows 子系统的 Ubuntu 22.04 LTS,但遇到了一些问题。每次我使用安装新软件包时sudo apt install
,我都会收到两条消息:
Failed to retrieve available kernel versions.
Failed to check for processor microcode upgrades.
Run Code Online (Sandbox Code Playgroud)
使用 Ubuntu 20.04 LTS 时不会出现此问题。
即使我收到这些消息,我也可以安装 Linux 软件包并将它们成功集成到 Visual Studio Code 中。当我使用检查内核时uname -r
,我得到了5.10.102.1-microsoft-standard-WSL2
。
一切正常,但这些消息一直让我担心。
我想知道为什么会出现这些消息以及如何解决它们。谁能给我一些建议来解决这些问题?这些消息是致命的吗?
我受到这个错误的影响:869502。
对我来说似乎可以停止内核恐慌的解决方法是禁用 wlan0 电源管理:
sudo iwconfig wlan0 power off
Run Code Online (Sandbox Code Playgroud)
然而,当我拔掉电源线时,它似乎会自动重新打开电源管理,我想在很多其他时候也是如此。
有什么可能导致这种情况吗?有谁知道我该如何预防?
我尝试从 Ubuntu 14.04 升级我的系统。我的笔记本电脑冻结了几个小时。甚至指针也没有做任何事情。所以我按下电源按钮几秒钟就关机了。这个未完成的安装是我问题的根源。当我重新启动系统时,会出现 grub,然后出现以下消息:
[FAILED] Failed to start Load Kernel Modules
See 'systemctl status systemd-modules-load.service' for details
Run Code Online (Sandbox Code Playgroud)
加上一些以final结尾的其他行:
Failed to start Load Kernel Modules
Run Code Online (Sandbox Code Playgroud)
当我按 CTRL+ALT+F1 打开命令行时,我可以输入
sudo systemctl status systemd-modules-load.service
Run Code Online (Sandbox Code Playgroud)
我得到以下输出:
status systemd-modules-load.service
Run Code Online (Sandbox Code Playgroud)
如果我重复该systemctl
命令,有时会得到其他进程而不是 179,例如 183。
以防万一,
sudo ls /lib/systemd/system/systemd-modules-load.service
Run Code Online (Sandbox Code Playgroud)
给我
/lib/system/systemd-modules-load
(written in green)
journalctl
Run Code Online (Sandbox Code Playgroud)
输出大量数据。红线是以下几条:
第一条红线:
第二条和第三条红线:
第四条红线:
我真的很感谢这里的一点帮助。我不知道下一步该做什么,我在网上搜索了一无所获。
据我了解,当系统接近没有可用内存时,内核应该开始杀死进程以重新获得一些内存。但在我的系统中,这根本不会发生。
假设一个简单的脚本只分配了比系统中可用内存多得多的内存(例如,一个包含数百万个字符串的数组)。如果我运行这样的脚本(作为普通用户),它只会获取所有内存,直到系统完全冻结(只有 SysRQ REISUB 有效)。
这里奇怪的部分是,当计算机死机时,硬盘驱动器 LED 灯会亮起并保持这种状态,直到计算机重新启动,无论我是否安装了交换分区!
所以我的问题是:
RAM:约 3.7GB 从 4GB(与显卡共享)。*
$ tail -n+1 /proc/sys/vm/overcommit_*
==> /proc/sys/vm/overcommit_memory <==
0
==> /proc/sys/vm/overcommit_ratio <==
50
$ cat /proc/swaps
Filename Type Size Used Priority
/dev/dm-1 partition 4194300 344696 -1
Run Code Online (Sandbox Code Playgroud)我最近注意到最新版本的 Ubuntu 没有提供最新的稳定 Linux 内核版本。
例如,Kubuntu 16.04 LTS 带有 Kernel 4.4.0-21-generic,而最新的稳定内核版本是 4.5.2。
为什么他们不发布带有最新稳定内核的操作系统,这肯定是有充分理由的,这是我想了解的。
我还想知道将内核更新到最新的稳定版本是否是一个坏主意。
有时,我的系统会进入某些内核缺少一两个模块的状态,因为 DKMS 不知何故忘记为该内核编译这些模块。与其花时间诊断问题,还不如有一个我可以运行的单一命令,该命令只需为每个已安装的内核重建每个dkms 控制的模块。有这样的命令吗?
我对在 Ubuntu 12.04 x86 64 位下编译新内核很感兴趣。
我发现这个 wiki 页面基本上是这个博客的镜像,并且有很多步骤(git等)对我来说毫无用处。
在早期版本/发行版中,我曾经创建一个.config
文件并Makefile
根据需要修改一个文件,然后运行即可make
完成。
在 Ubuntu 下有没有一种简单的方法可以做到这一点?
完成 Ubuntu 18.04 LTS 的全新安装并重新启动后,我合上了 Acer Aspire ES1-511 笔记本电脑的盖子并稍作休息。当我回来继续探索 18.04 的新功能时,笔记本电脑无法开机。一个内部风扇运转得非常响亮,但仅此而已。我不得不再次重新启动。
这似乎是 Ubuntu 多年来反复出现的问题。我已经研究过这个问题,因为,第一次试图更改电源设置中gnome-control-center
和gnome-tweak-tool
,然后安装pm-utils
,修改系统文件理应负责悬挂,和大量更多的尝试,都无济于事。我什至尝试从 USB 驱动器运行 Ubuntu 18.04 Live,但仍然出现同样的问题。
我怀疑这是内核的问题,因为我过去在内核 4.15 中看到过这个问题。升级到最新的 Linux 内核或降级到更稳定的版本会解决问题吗?问题是否已修复?也许我可以编辑一些文件,这整个事情就会解决......
一些规范:当前运行的内核是 4.15。如上所述,计算机是 Acer Aspire ES1-511。桌面环境是 Gnome 3.28.1。Ubuntu 版本是 64 位 18.04.1 LTS。
任何帮助表示赞赏。计算机为此失去了很多睡眠。