如何修复一个Panic的Linux内核?Linux是一个一体化内核(monolithic kernel)系统, 一些用户在操作Linux系统的过程中, 有时候由于操作不当, 会导致Linux内核不能正常工作 。 最近就有一位用户由于操作问题, 使得内核启动中止于Panic状态, 那么要如何修复一个Panic状态的Linux内核呢?下面我们一起来看看 。
【kernel panic如何修复 如何修复一个Panic的Linux内核】

文章插图
问题描述:
为了配置完全的静默启动, 用户对工作计算机上运行的Linux执行了不当的mkinitcpio操作, 原因是忽略了mkinitcpio.conf文件中的一处逻辑错误 。 这使得mkinitcpio生产了新的内核文件, 但这个内核文件不能正常工作 。 重启的时候, 内核启动中止于Panic状态 。
一般情况下, 新内核不能正常工作时, 可以通过使用initramfs内核文件的fallback版本来临时启动系统, 甚至可以直接将fallback版本覆盖回去以回退更改, 但这次要命的是, mkinitcpio同时修改了vmlinuz内核文件, 而且vmlinuz没有fallback版本 。 对于一般用户, 可以直接重装系统解决;但是该用户的工作站环境配置相当复杂, 这意味着除了可能损失用户的工作文件之外, 用户还需要花费大量额外的时间来重配开发环境 。
注意:本教程之“修复”, 指“尝试回退毁灭性的人为更改”, 故不可用于恢复不知原因的内核崩溃 。
如何修复一个Panic的Linux内核?
一、从LiveCD启动并查看磁盘
凭着兼职Linux服务器运维那段时间积累的经验, 小编立即想到可以用LiveCD启动来获得一个临时的、用于修复内核的Linux环境 。
小编使用的是Arch Linux 64位版, 所以小编从从Arch Linux的LiveCD启动 。 正确进入LiveCD内建的root用户之后, 我们需要查看自己的主硬盘的设备名 。 执行fdisk -l, 在小编的情况下, 小编的主硬盘、挂载至根目录的分区对应的设备文件是/dev/sdb2 。
二、chroot至硬盘上的系统根目录
要chroot到硬盘上的系统根目录, 并能正常调用硬盘上的系统组件对硬盘上的系统作出更改, 我们首先要手动挂载硬盘上的根分区 。 执行(小编的设备文件是/dev/sdb2):
- 如何在linux服务器上部署springboot项目 如何在Linux服务器上部署.Net Core
- linux设置显卡配置 Linux系统如何配置双显卡
- 如何安装打印机驱动程序 如何安装Arch Linux
- ubuntu备份与恢复 Ubuntu系统如何备份还原
- 手机上如何查快递
- 手机上删除的短信如何恢复
- 如何清理手机上的垃圾文件,安卓手机清理隐藏垃圾?
- CentOS Linux如何安装DNS服务器(linux怎么安装dns)
- linux结束所有进程 Linux系统如何查看和结束进程
- 如何安装打印机 如何安装thefuck
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
