标签: kernel

如何修复和防止未安装 VirtualBox 内核驱动程序

今天我注意到我的 VirtualBox 虚拟机不再启动。有消息

The virtual machine 'CGI' has terminated unexpectedly during startup with exit code 1 (0x1).

Result Code:
NS_ERROR_FAILURE (0x80004005)
Component:
MachineWrap
Interface:
IMachine
Unknown macro: {b2547866-a0a1-4391-8b86-6952d82efaa0} 
Run Code Online (Sandbox Code Playgroud)

Kernel driver not installed (rc=-1908)

The VirtualBox Linux kernel driver (vboxdrv) is either not loaded or there is a permission problem with /dev/vboxdrv. Please reinstall the kernel module by executing

'/sbin/vboxconfig'

as root.

where: suplibOsInit what: 3 VERR_VM_DRIVER_NOT_INSTALLED (-1908) - The support driver is not installed. On linux, open returned ENOENT. …
Run Code Online (Sandbox Code Playgroud)

linux virtualbox kernel ubuntu

26
推荐指数
3
解决办法
14万
查看次数

如何向 grub2 添加新内核

我们如何向 grub2 添加内核?我知道我们可以用以前的版本做些什么,但它似乎已经改变了。我们应该编辑哪些文件?

linux grub kernel ubuntu

25
推荐指数
2
解决办法
6万
查看次数

内核 NTFS 驱动程序与 NTFS-3G

自从我无法访问另一个问题以来,这是一个更全面的措辞问题。

我会要求删除另一个,而不是这个,因为它首先不应该被迁移。

目前有两个可用于 Linux 的 NTFS 驱动程序。

内核中包含的 NTFS 驱动程序,以及使用 FUSE 的用户空间 NTFS-3G 驱动程序。

从各方面来看,NTFS-3G 都能完美运行。

那么我的问题是,如果 NTFS 文件系统已成功逆向工程,为什么内核 NTFS 团队没有在他们的驱动程序中实施更改?目前它仍被标记为实验性的,并且很有可能会破坏您的数据。

注意:这与发行版完全无关......

linux ntfs filesystems kernel ntfs-3g

21
推荐指数
2
解决办法
1万
查看次数

如何诊断不断膨胀的 OS X kernel_task 和有线内存使用情况?

我有一个非常奇怪的问题,我很难诊断出根本原因。

我有一台Mac Pro(2008 年,8 核 2.8 GHz,8800GT)和 14 GB 内存(最近因为这个问题升级了!)。

当我启动系统并登录时,vm_stat / top / Activity Monitor 将显示 kernel_task 分配了大约 150 MB,并且机器分配了大约 800 MB 的有线内存。

即使最初,在没有应用程序运行的情况下分配 800 MB 的有线内存似乎也非常多 - 但是,情况变得更糟。(注意:有线已锁定,不可交换内存)

在很短的时间后,有时会像启动终端这样简单的事情触发,kernel_task 将膨胀到 8-900 MB 的 Real Mem (RSIZE),而 Wired Memory 将加速到 1.6 GB(意味着所有额外的内存请求都用于内核中的有线 RAM)。

如果我退出所有内容(即:没有正在运行的应用程序,禁止活动监视器或终端查看顶部),则 kernel_task RSIZE 或有线内存使用量没有明显减少。反其道而行之,为系统加载任务也表明有线内存不会减少——重要的是,它不会比大量交换更受欢迎。

如果我注销并重新登录,它会减少一点(450 MB kernel_task,1.28 GB 有线),但不会回到开始。

我没有运行任何古怪的kext s - 而且,kextstat 显示那里没有巨大的内存分配;最大的是 com.apple.nvidia.nv50hal,内存约为 4 MB。

发生这种情况时,机器总体上感觉更加缓慢 - 不足为奇,因为如此大量的 RAM 已被标记为不可分页。

所以我有几个问题:

1)有没有一种好方法来诊断分配了所有这些有线内存的内容?它通常是 kernel_task 大小的 2 倍以上,不运行任何应用程序。实际内存总量似乎没有加起来 - 似乎有一堆 RAM …

memory mac kernel virtual-memory macos

20
推荐指数
2
解决办法
1万
查看次数

WSL 中有哪个 Linux 内核?

我使用 Ubuntu 22.04 安装了 WSL 2。

当我尝试在 PowerShell 中检查 WSL 内核时,得到以下结果:

PS C:\Users\user> wsl --status
Default Distribution: Ubuntu-22.04
Default Version: 2

Windows Subsystem for Linux was last updated on 6/7/2022
WSL automatic updates are on.

Kernel version: 5.10.102.1
Run Code Online (Sandbox Code Playgroud)

从上面的消息中,我假设我使用的是 Linux 内核 5.10.102.1。

但是当我运行 Ubuntu 并使用 时uname -a,我得到了一个不同的 Linux 内核:

user@DESKTOP-:/mnt/c/Users/user$ uname -a
Linux DESKTOP-VMP6T3Q 4.4.0-19041-Microsoft #1237-Microsoft Sat Sep 11 14:32:00 PST 2021 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

其中表示 Linux 内核是 4.4.0。

我的问题:

  1. 我使用的是哪个版本的 Linux 内核?
  2. 如果是4.4.0,如何升级到5.x?
  3. 如果是5.10,我如何检查以确保它是该版本?

linux kernel ubuntu windows-subsystem-for-linux wsl2

20
推荐指数
2
解决办法
1万
查看次数

如何知道 noatime 或 relatime 是否是内核中的默认挂载选项?

我试图知道是否在文件系统上设置了 relatime 或 noatime,但我没有在 /etc/fstab 中找到信息,也没有在内核启动选项中找到。

首先,很明显我没有“正常”的行为:

root@antec:/tmp# rm -f test.txt; echo a>test.txt

root@antec:/tmp# stat test.txt | \grep -i 2011
Access: 2011-08-01 21:54:30.000000000 +0200
Modify: 2011-08-01 21:54:30.000000000 +0200
Change: 2011-08-01 21:54:30.000000000 +0200

root@antec:/tmp# cat test.txt > /dev/null

root@antec:/tmp# stat test.txt | \grep -i 2011
Access: 2011-08-01 21:54:53.000000000 +0200
Modify: 2011-08-01 21:54:30.000000000 +0200
Change: 2011-08-01 21:54:30.000000000 +0200

root@antec:/tmp# date
Mon Aug  1 21:55:00 CEST 2011

root@antec:/tmp# cat test.txt > /dev/null

root@antec:/tmp# stat test.txt | \grep -i 2011
Access: 2011-08-01 21:54:53.000000000 +0200 …
Run Code Online (Sandbox Code Playgroud)

linux filesystems kernel stat

19
推荐指数
1
解决办法
2万
查看次数

我的 Ubuntu 安装中的 vmlinux 在哪里?

我正在尝试启动oprofile,但在这一步遇到了问题:

opcontrol --vmlinux=/path/to/vmlinux
Run Code Online (Sandbox Code Playgroud)

Ubuntu 没有叫 vmlinux 的包,当我执行 a 时locate vmlinux,我得到很多文件:

/usr/src/linux-headers-2.6.28-14/arch/h8300/boot/compressed/vmlinux.lds
/usr/src/linux-headers-2.6.28-14/arch/m68k/kernel/vmlinux-std.lds
/usr/src/linux-headers-2.6.28-14/arch/m68k/kernel/vmlinux-sun3.lds
/usr/src/linux-headers-2.6.28-14/arch/mn10300/boot/compressed/vmlinux.lds
/usr/src/linux-headers-2.6.28-14/arch/sh/boot/compressed/vmlinux_64.lds
/usr/src/linux-headers-2.6.28-14/arch/x86/boot/compressed/vmlinux_32.lds
/usr/src/linux-headers-2.6.28-14/arch/x86/boot/compressed/vmlinux_64.lds
/usr/src/linux-headers-2.6.28-14/include/asm-generic/vmlinux.lds.h
/usr/src/linux-headers-2.6.28-15/arch/h8300/boot/compressed/vmlinux.lds
/usr/src/linux-headers-2.6.28-15/arch/m68k/kernel/vmlinux-std.lds
/usr/src/linux-headers-2.6.28-15/arch/m68k/kernel/vmlinux-sun3.lds
/usr/src/linux-headers-2.6.28-15/arch/mn10300/boot/compressed/vmlinux.lds
/usr/src/linux-headers-2.6.28-15/arch/sh/boot/compressed/vmlinux_64.lds
/usr/src/linux-headers-2.6.28-15/arch/x86/boot/compressed/vmlinux_32.lds
/usr/src/linux-headers-2.6.28-15/arch/x86/boot/compressed/vmlinux_64.lds
/usr/src/linux-headers-2.6.28-15/include/asm-generic/vmlinux.lds.h
/usr/src/linux-headers-2.6.28-16/arch/h8300/boot/compressed/vmlinux.lds
/usr/src/linux-headers-2.6.28-16/arch/m68k/kernel/vmlinux-std.lds
/usr/src/linux-headers-2.6.28-16/arch/m68k/kernel/vmlinux-sun3.lds
/usr/src/linux-headers-2.6.28-16/arch/mn10300/boot/compressed/vmlinux.lds
/usr/src/linux-headers-2.6.28-16/arch/sh/boot/compressed/vmlinux_64.lds
/usr/src/linux-headers-2.6.28-16/arch/x86/boot/compressed/vmlinux_32.lds
/usr/src/linux-headers-2.6.28-16/arch/x86/boot/compressed/vmlinux_64.lds
/usr/src/linux-headers-2.6.28-16/include/asm-generic/vmlinux.lds.h
Run Code Online (Sandbox Code Playgroud)

其中哪一个是我要找的?

linux kernel ubuntu

16
推荐指数
3
解决办法
3万
查看次数

编译Linux内核,需要多大的size?

我已经下载了最新最稳定的 Linux 内核 2.6.33.2。

我想我会使用 VirtualBox 测试这个。所以我创建了一个动态大小的 4 GB 硬盘。并使用最少的软件包安装了 CentOS 5.3。

make menuconfig只使用默认设置进行设置。

之后我运行make并收到以下错误:

net/bluetooth/hci_sysfs.o: final close failed: No space left on device
make[2]: *** [net/bluetooth/hci_sysfs.o] Error 1
make[1]: *** [net/bluetooth] Error 2
make: *** [net] Error 2
Run Code Online (Sandbox Code Playgroud)

我剩下的空间量是:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.3G  3.3G     0 100% /
/dev/hda1              99M   12M   82M  13% /boot
tmpfs                 125M     0  125M   0% /dev/shm
Run Code Online (Sandbox Code Playgroud)

我的虚拟大小是 4 GB,但实际大小是 3.5 GB。

$ ls -hl …
Run Code Online (Sandbox Code Playgroud)

linux disk-space compile kernel

16
推荐指数
2
解决办法
2万
查看次数

如何根据当前使用的模块配置 Linux 内核?

我愿意用我的机器只需要的东西来构建一个最小的内核;所以我首先从头开始编译内核,使用默认配置并添加我确定拥有的东西(即:以太网卡、WiFi 卡……)。

但是还有其他一些不太容易了解的事情(即:看门狗定时器),所以我遇到了AutoKernConf,据说它可以检测机器的硬件并生成一个内核配置文件,其中包含找到的设备的设置。

问题是它包含了几个重复的设置,甚至有些我没有(我使用的是戴尔笔记本电脑,它“发现”的其中一个东西是东芝的)。

因此,我最终使用make allmodconfig命令中的配置构建了一个内核,该内核将大部分内容编译为模块。

启动到该内核并运行lsmod我可以看到所有正在使用的内核模块(真正需要的模块),我想知道是否有工具或某种方法可以让我解析该列表并将其转换为相应的内核配置文件。

Or how to map each one with the appropriate options in the kernel so that I can manually set them.

非常感谢您的宝贵时间。

linux kernel

15
推荐指数
1
解决办法
1万
查看次数

为什么 Centos 仍然没有使用最新的内核

正如我在内核 3.xx 中看到的许多变化和改进

我喜欢的改进是在内核 3.9 中引入的 dmcache

我在所有机器上都安装了 3 个安装了 centos 的服务器

Centos 仍在使用旧内核,即 2.6.xx

我想知道他们为什么不升级内核?

资源

linux centos ssd kernel centos-6

15
推荐指数
1
解决办法
3万
查看次数