惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

SecWiki News
SecWiki News
I
InfoQ
The Cloudflare Blog
人人都是产品经理
人人都是产品经理
博客园 - Franky
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
量子位
博客园_首页
罗磊的独立博客
V
V2EX
李成银的技术随笔
大猫的无限游戏
大猫的无限游戏
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
True Tiger Recordings
Vercel News
Vercel News
Cyberwarzone
Cyberwarzone
Cisco Talos Blog
Cisco Talos Blog
F
Fox-IT International blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
M
Microsoft Research Blog - Microsoft Research
Know Your Adversary
Know Your Adversary
爱范儿
爱范儿
The Register - Security
The Register - Security
G
Google Developers Blog
The Hacker News
The Hacker News
Malwarebytes
Malwarebytes
S
Securelist
博客园 - 三生石上(FineUI控件)
Jina AI
Jina AI
T
Threat Research - Cisco Blogs
T
The Exploit Database - CXSecurity.com
S
SegmentFault 最新的问题
博客园 - 叶小钗
F
Fortinet All Blogs
Apple Machine Learning Research
Apple Machine Learning Research
宝玉的分享
宝玉的分享
博客园 - 聂微东
T
Threatpost
博客园 - 【当耐特】
D
Docker
P
Privacy & Cybersecurity Law Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
G
GRAHAM CLULEY
V
Visual Studio Blog
C
Cisco Blogs
IT之家
IT之家
S
Security Archives - TechRepublic
Latest news
Latest news
阮一峰的网络日志
阮一峰的网络日志

方寸之間

修复 Arch Linux 的内核缺失问题 - 方寸之間 安装定制化 Vim - 方寸之間 树莓派配置旁路由过程记录 - 方寸之間 Cloudflare Tunnel 不完全上手指南 - 方寸之間 解除 New Bing 地区和浏览器限制的方法 - 方寸之間 FRP 上手教程 - 方寸之間 深入理解 Linux nohup 命令 - 方寸之間 C++智能指针是什么 - 方寸之間 PGP 工作原理详解 - 方寸之間 如何恢复 Windows EFI 分区 - 方寸之間 Scaleway IPV6 server 申请及使用攻略 - 方寸之間 Arch Linux 升级系统提示签名无效 - 方寸之間 Arch Linux 音响有杂音的解决办法 - 方寸之間 Django 项目时区更改错误的解决方案 - 方寸之間 超简单的 Arch Linux + Windows 双启动教程 - 方寸之間 使用 UFW 配置 Linux 防火墙 - 方寸之間 Git 中的一个特殊 hash - 方寸之間 深入理解数据库事务 - 方寸之間 CRLF 和 LF 之间的区别与联系 - 方寸之間 DNS 的更新是如何工作的? - 方寸之間 浅析 Linux 的 cron 命令 - 方寸之間 如何快速查看 github 代码库中早期 commits - 方寸之間 黑科技:使用 GitHub 搭建自己的短链接服务 - 方寸之間 Build site with Franklin.jl - 方寸之間 iwd 的使用教程 - 方寸之間 超好用的 UML 工具推荐 - 方寸之間 ArchLinux 安装配置笔记 (Updated) - 方寸之間 如何将 Julia 添加到 Jupyter Notebook - 方寸之間 费曼技巧:最好的学习方式 - 方寸之間 How to Create Linux Desktop Entry - 方寸之間 Make a TODO robot with Github Actions - 方寸之間 C++继承 多态 虚函数 - 方寸之間 C++ inline 关键字详解 - 方寸之間 C++ Static 关键字详解 - 方寸之間 C++ type conversion notes - 方寸之間 Solution for _CRT_SECURE_NO_WARNINGS error - 方寸之間 IR Homework - 方寸之間 Customize Ubuntu themes, icons and Shell - 方寸之間 恢复右键菜单的新建命令 - 方寸之間 Hugo+Github 搭建个人博客 - 方寸之間
Arch Linux 如何切换内核 - 方寸之間
Mercas · 2022-05-08 · via 方寸之間

Notice#

切换内核不是一件容易的事。我建议你有一个实际的理由这样做,而不仅仅是实验/为了好玩。虽然这本身并不是一个困难的过程。因为 linux 发行版通常设置为与特定内核配合使用。虽然有些不像其他发行版那样与内核紧密相连,但许多发行版维护者选择特定的内核是有原因的。Arch Linux 发行版不像 Ubuntu,RHEL 发行版等那样与特定的内核绑定。所以我使用 ArchLinux 来进行演示。

这里列举目前 ArchLinux 官方支持的内核:

  • Stable — 原版的 Linux 内核以及模块, 使用了一些补丁。

https://www.kernel.org/ || linux

  • Hardened — 更加注重安全的 Linux 内核,采用一系列 加固补丁 以减少内核和用户空间产生漏洞的风险。和 linux 相比,还启用了一些加固选项,比如用户命名空间(同时通过补丁禁用未授权用户的访问)、审计以及 SELinux

https://github.com/anthraxx/linux-hardened || linux-hardened

  • Longterm — 包含了长期支持的 Linux 内核和内核模块。

https://www.kernel.org/ || linux-lts

  • Zen Kernel — 一些内核黑客合作的结果,提供了适合日常使用的优秀内核。 更多详情请参见 https://liquorix.net (为 Debian 提供了基于 Zen 内核的二进制文件).

https://github.com/zen-kernel/zen-kernel || linux-zen

切换内核#

Step 1 检查安装的内核和版本#

首先,使用以下命令检查当前安装的内核和版本:

$ uname -r

5.17.5-zen1-1-zen

可以看出,我使用的是linux-zen内核。

Step 2 安装新内核#

然后,选择你需要切换的内核安装,比如说,我们要安装原版 linux 内核:

sudo pacman -S linux linux-headers

Step 3 卸载现在使用的内核#

使用以下命令进行卸载(根据自身情况更改内核名称):

sudo pacman -Rs linux-zen linux-zen-headers

Step 4 更新 boot loader 的配置#

我使用的是 GRUB,使用以下命令更新:

sudo grub-mkconfig -o /boot/grub/grub.cfg

最后,您需要做的就是重新启动系统就可以更新到新的内核。

只是要切换内核的话,到这里就结束了。但是如果你想在必要的时候,可以很快地使用不同的内核,则只需删除 Step 3 即可。但是,为了切换内核操作方便,我们可以对 GRUB 的配置文件进行一些更改。

首先,使用编辑器打开/etc/default/grub文件:

sudo vim /etc/default/grub

接下来,我们将更改以下选项。根据你使用的基于 Arch 的发行版,这些设置可能有不同的顺序,已经正确设置,或者可能需要取消注释。具体根据自身情况确定。

GRUB_DEFAULT=saved

GRUB_SAVEDEFAULT=true

GRUB_DISABLE_SUBMENU=y

# 含义

# GRUB_DEFAULT — Default boot selection.

# GRUB_SAVEDEFAULT — GRUB to remember the last selection.

# GRUB_DISABLE_SUBMENU — Disable submenus.

到这里就结束了,现在,我们就可以在 GRUB 引导界面进行内核的选择,而且 GRUB 会默认记住上次的选择,而不需要你每次都要进行选择操作。

Reference#

https://wiki.archlinux.org/title/KernelHow to Switch your Linux Kernel in Arch Linux