Debian/Ubuntu 升级 XanMod 内核教程

XanMod 是针对桌面、多媒体和工作站优化的 Linux 内核,内置 BBRv3 拥塞控制算法,非常适合需要网络性能优化的 VPS。

一、环境检查

1. 检查 CPU 架构支持

# 检查 CPU 支持的指令集级别
awk -f <(wget -qO- https://dl.xanmod.org/check_x86-64_psabi.sh)

输出结果:

  • x86-64-v2:基础支持(2009+ CPU)
  • x86-64-v3:支持 AVX2(2013+ CPU,推荐)
  • x86-64-v4:支持 AVX-512(2017+ 高端 CPU)
# 验证 AVX2 支持(v3 必需)
grep -o 'avx2' /proc/cpuinfo | head -1

2. 检查虚拟化类型

# 检查 VPS 是否支持自定义内核
systemd-detect-virt
  • kvm:✅ 支持
  • openvz:❌ 不支持
  • lxc:❌ 不支持

二、安装 XanMod 内核

1. 添加 XanMod 仓库

# 创建 sources 文件
echo "deb [signed-by=/usr/share/keyrings/xanmod-archive-keyring.gpg] http://deb.xanmod.org $(lsb_release -sc) main" | \
sudo tee /etc/apt/sources.list.d/xanmod-release.list

# 导入 GPG 密钥
wget -qO - https://dl.xanmod.org/archive.key | \
sudo gpg --dearmor -o /usr/share/keyrings/xanmod-archive-keyring.gpg

Debian 12+ / Ubuntu 22.04+ 迁移旧格式到新格式(可选):

sudo apt modernize-sources

2. 安装内核

# 更新软件源
sudo apt update

# 根据 CPU 支持安装对应版本
sudo apt install linux-xanmod-x64v3  # AVX2 支持
# sudo apt install linux-xanmod-x64v2  # 旧 CPU
# sudo apt install linux-xanmod-x64v4  # AVX-512 支持

三、内核管理

1. 查看已安装内核

# 查看所有已安装内核
dpkg --list | grep linux-image

# 查看 GRUB 可启动内核
awk -F\' '/menuentry / {print NR-1, $2}' /boot/grub/grub.cfg | head -5

2. 设置默认启动内核

# 查看当前默认启动项
grep GRUB_DEFAULT /etc/default/grub

# 永久设置(编辑配置)
sudo nano /etc/default/grub
# 修改:GRUB_DEFAULT=0  # 0 表示第一个内核

# 更新 GRUB
sudo update-grub

3. 临时测试新内核

# 仅下次启动使用新内核,之后自动恢复默认
sudo grub-reboot 0
sudo reboot

四、重启与验证

1. 重启系统

sudo reboot

2. 验证内核版本

# 查看当前内核
uname -r

# 应该看到类似:6.x.x-xanmod1

3. 验证 BBR 版本

# 查看 BBR 模块信息
modinfo tcp_bbr | grep version

# 输出应该包含:
# version:        3

4. 启用 BBRv3

# 临时启用
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo sysctl -w net.core.default_qdisc=fq

# 永久启用
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

# 验证
sysctl net.ipv4.tcp_congestion_control

五、系统清理

1. 清理旧内核

# 自动移除不需要的旧包
sudo apt --purge autoremove

# 清空本地 APT 缓存
sudo apt autoclean

2. 手动删除旧内核(可选)

# 列出旧内核
dpkg --list | grep linux-image

# 删除指定版本
sudo apt purge linux-image-x.x.x-xxx

六、常见问题

1. 启动失败怎么办?

重启时进入 GRUB 菜单(按 ESC),选择旧内核启动,然后卸载 XanMod:

sudo apt purge linux-xanmod-x64v3
sudo update-grub

2. 如何回滚到原内核?

# 查看可用内核
dpkg --list | grep linux-image

# 设置 GRUB 默认启动旧内核
sudo nano /etc/default/grub
# 修改 GRUB_DEFAULT 为旧内核的序号

sudo update-grub
sudo reboot

3. OpenVZ 虚拟化不支持

OpenVZ 容器共享宿主机内核,无法更换。建议换用 KVM 虚拟化的 VPS。

七、性能对比

项目原版内核XanMod + BBRv3
TCP 吞吐量基准+20-40%
延迟基准-10-20%
丢包恢复慢快

参考资源


本文链接:

https://blog.coffox.cc/archives/37/
1 + 5 =
快来做第一个评论的人吧~