VirtualBox中Linux系统如何更新内核
导读:在 VirtualBox 中更新 Linux 内核的实用步骤 一、准备与版本确认 在宿主机上确认 VirtualBox 版本,并优先安装对应版本的 Guest Additions 扩展包(菜单:全局设定 → 扩展),避免后续编译增强功能失...
在 VirtualBox 中更新 Linux 内核的实用步骤
一、准备与版本确认
- 在宿主机上确认 VirtualBox 版本,并优先安装对应版本的 Guest Additions 扩展包(菜单:全局设定 → 扩展),避免后续编译增强功能失败。
- 在虚拟机内查看系统与内核版本:
- 查看系统:
cat /etc/os-release - 查看内核:
uname -r
- 查看系统:
- 更新前建议创建快照,便于回滚。
- 说明:VirtualBox 的增强功能需要内核头文件与编译环境,内核更新后通常需要重新编译或重装增强功能。
二、发行版通用流程
- 更新软件索引与系统:
sudo apt update & & sudo apt full-upgrade -y(Debian/Ubuntu),或sudo yum update -y/sudo dnf update -y(RHEL/CentOS/Fedora)。 - 安装编译依赖与头文件:
- Debian/Ubuntu:
sudo apt install -y build-essential linux-headers-$(uname -r) - RHEL/CentOS/Fedora:
sudo yum groupinstall -y "Development Tools"与sudo yum install -y kernel-headers kernel-devel gcc make elfutils-libelf-devel
- Debian/Ubuntu:
- 重启并选择新内核:
sudo reboot,进入系统后确认:uname -r。
三、RHEL/CentOS 7 使用 ELRepo 升级到主线内核(可选)
- 导入 GPG 并安装 ELRepo:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgsudo rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
- 查看并安装内核:
- 查看:
sudo yum --disablerepo=\* --enablerepo=elrepo-kernel list kernel* - 安装主线 ML 版:
sudo yum --disablerepo=\* --enablerepo=elrepo-kernel install -y kernel-ml - 如需开发头文件:
sudo yum --enablerepo=elrepo-kernel install -y kernel-ml-devel
- 查看:
- 设置默认启动内核并重启:
- 查看默认:
grubby --default-kernel - 设置默认(示例条目名按实际为准):
sudo grub2-set-default 'CentOS Linux (5.16.10-1.el7.elrepo.x86_64) 7 (Core)' - 生成配置并重启:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg & & sudo reboot - 验证:
uname -r
- 查看默认:
四、升级后安装或重建 VirtualBox Guest Additions
- 挂载增强功能镜像并安装:
- 挂载:
sudo mkdir -p /mnt/cdrom & & sudo mount /dev/cdrom /mnt/cdrom - 安装:
sudo /mnt/cdrom/VBoxLinuxAdditions.run
- 挂载:
- 常见构建失败与修复:
- 报错含 “unable to find the sources of your current Linux kernel”:确保已安装匹配版本的 kernel-devel/headers,必要时建立符号链接(如
ln -s /usr/src/kernels/< 实际版本> /usr/src/kernels/$(uname -r))。 - 报错含 “Cannot generate ORC metadata … please install libelf-dev/libelf-devel or elfutils-libelf-devel”:安装
elfutils-libelf-devel后重试。 - 若仍失败,可先卸载旧版再装:
sudo /sbin/rcvboxadd cleanup,然后重新运行VBoxLinuxAdditions.run。
- 报错含 “unable to find the sources of your current Linux kernel”:确保已安装匹配版本的 kernel-devel/headers,必要时建立符号链接(如
- 完成后重启:
sudo reboot,检查服务是否正常。
五、常见问题与排错要点
- 启动后未进入新内核:检查 GRUB 默认项(
grubby --default-kernel或cat /boot/grub2/grub.cfg | grep menuentry),必要时用grub2-set-default指定新内核并重建配置。 - 增强功能编译失败:确认 kernel 与 kernel-devel/headers 版本完全一致,并安装
gcc make elfutils-libelf-devel等依赖。 - 旧内核清理:确认新内核可正常启动后再删除旧包,避免误删导致无法启动(如
yum remove -y kernel-< 旧版本>)。 - 扩展功能异常:优先确保 VirtualBox 与 Guest Additions 版本匹配,再重建内核模块。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: VirtualBox中Linux系统如何更新内核
本文地址: https://pptw.com/jishu/748160.html
