位置: IT常识 - 正文

快速修复一个Panic的Linux内核的技巧(如何快速修复)

编辑:rootadmin
Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就来看看详细的教程,需要的朋友可以参考下... 17-06-17

推荐整理分享快速修复一个Panic的Linux内核的技巧(如何快速修复),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:有没有办法修复,怎么能修复,如何快速修复,修复很简单,怎么能修复,怎么能修复,赶快修复,怎么能修复,内容如对您有帮助,希望把文章链接给更多的朋友!

感谢电脑学习网网友 鸢一雨音 的投稿

写这篇文章是有原因的。为了配置完全的静默启动,笔者对自己的工作计算机上运行的Linux执行了不当的mkinitcpio操作,原因是忽略了mkinitcpio.conf文件中的一处逻辑错误。这使得mkinitcpio生产了新的内核文件,但这个内核文件不能正常工作。重启的时候,内核启动中止于Panic状态。

一般情况下,新内核不能正常工作时,可以通过使用initramfs内核文件的fallback版本来临时启动系统,甚至可以直接将fallback版本覆盖回去以回退更改,但这次要命的是,mkinitcpio同时修改了vmlinuz内核文件,而且vmlinuz没有fallback版本。对于一般用户,可以直接重装系统解决;但是笔者的工作站环境配置相当复杂,这意味着除了可能损失我的工作文件之外,我还需要花费大量额外的时间来重配开发环境。

注意:本教程之“修复”,指“尝试回退毁灭性的人为更改”,故不可用于恢复不知原因的内核崩溃。

一、从LiveCD启动并查看磁盘

凭着兼职Linux服务器运维那段时间积累的经验,我立即想到可以用LiveCD启动来获得一个临时的、用于修复内核的Linux环境。

笔者使用的是Arch Linux 64位版,所以我从从Arch Linux的LiveCD启动。正确进入LiveCD内建的root用户之后,我们需要查看自己的主硬盘的设备名。执行fdisk -l,在笔者的情况下,我的主硬盘、挂载至根目录的分区对应的设备文件是/dev/sdb2。

二、chroot至硬盘上的系统根目录

要chroot到硬盘上的系统根目录,并能正常调用硬盘上的系统组件对硬盘上的系统作出更改,我们首先要手动挂载硬盘上的根分区。执行(我的设备文件是/dev/sdb2):

mount /dev/sdb2 /mnt

先不要急。这时候chroot到/mnt虽然能进入硬盘上主系统的bash,但是你几乎不能正确完成任何复杂的任务,因为还有一些重要的目录没有挂载。我们执行指令,分别挂载proc目录、/sys目录、/dev目录和/run目录。进入/mnt,分别执行:

mount -t proc proc proc/

mount --rbind /sys sys/

快速修复一个Panic的Linux内核的技巧(如何快速修复)

mount --rbind /dev dev/

mount --rbind /run run/

这些目录的作用分别是:

proc目录:虚拟的、Procfs格式的文件系统,用于存放进程状态文件(在Linux下,这些文件表面看起来都是文本文件,实际上是进程状态的文件映射);

/sys目录:对于Arch Linux,这是一个类似proc目录的、Sysfs格式的虚拟文件系统,用于储存连接到系统的设备文件;对于传统Unix和类Unix,它是一个指向内核代码树的软链接;

/dev目录:储存设备文件,比如你的硬盘就是/dev/sdXY之类的;

/run目录:存放最近的启动之后系统的部分信息;

挂载了这些东西之后,我们可以chroot到我们的主硬盘的根目录了:

chroot /mnt

后悔药++。对于我来说,我只需要修改mkinitcpio.conf文件并重新执行mkinitcpio操作,就能重新生成正确的内核文件。一般的,如果是错误地修改了配置导致的内核Panic,这个环境可以解决大部分问题。

三、一些技巧

1、许多配置文件在LiveCD里的那个系统里有正确的版本或范本,如果不记得正常的时候是什么样子的,可以参照一下它们;

2、对于Arch Linux,可以在不chroot到/mnt的情况下,直接使用pacstrap指令对/mnt这个挂载点进行软件包管理;

3、可以在两个tty下操作,这样在chroot到/mnt下之后依然能从LiveCD的文件系统里向/mnt转移文件。

本教程应该对大部分Linux发行版都可用,希望能对部分Linux用户产生帮助。

相关推荐:

Linux系统怎么配置双显卡?

本文链接地址:https://www.jiuchutong.com/zhishi/274485.html 转载请保留说明!

上一篇:将Mac的废纸篓图标改成Mac Pro一个很酷的垃圾筒(mac废纸篓立即删除和清倒)

下一篇:Win10系统如何用自带网络诊断工具故障检测?(怎么使用win10)

  • 停车费增值税税率
  • 出口货物关税完税价格
  • 收入和费用类科目一般设置为什么辅助核算
  • 固定资产盘亏计入什么科目
  • 特殊性税务处理所得税怎么算
  • 法人的垫资在现金流量表中怎么填写
  • 小规模纳税人的企业所得税税率
  • 小规模纳税人计税方法
  • 非正常损失计入哪里
  • 外商企业所得税可享受什么优惠政策
  • 购买的商品赠送如何做账
  • 公司厂房拆迁要交税吗
  • 营改增 贷款服务
  • 出口退税金额和进项税额不一致
  • 银行贷款利息可以减免吗
  • 个人所得税起征点什么时候调整的
  • 没有认证的进项发票怎么入账
  • 税务机关未采集开票信息是什么意思
  • 企业收到票据时应以什么入账
  • 超市买的东西开什么发票
  • 别人帮我们公司代定机票怎么做账
  • 一般纳税人十万以下免教育费附加
  • 专用发票不报销对公司有影响吗
  • 经营方式变更说明
  • tplink路由器手机怎么设置
  • 计提城市维护费分录
  • 跟a签订合同可以撤销吗
  • 上年度多计提的工资
  • 一帆风顺的养殖土壤用什么土
  • php文件锁并发 性能
  • 生产企业出口退税计算
  • 如果退货卖家拒绝会把货退回来么
  • 营改增的会计分录
  • PHP:pg_field_is_null()的用法_PostgreSQL函数
  • 前端数据统计图
  • 长期债券投资业务处理
  • 进货发票怎么抵税
  • PHP curl 或 file_get_contents 获取需要授权页面的方法
  • RTX 4090深度学习性能实测奉上!模型训练可提升60~80%
  • 现在前端的现状
  • yum命令详解
  • 收到退回残保金怎么做账
  • 帝国cms手机端点击加载不动怎么弄
  • 印花税减免退回会计分录
  • nacos注册流程
  • 有净残值的固定资产累计折旧怎么算
  • 经营性现金流量为什么要加上折旧
  • mysql索引优化的方案
  • sql共享
  • 初级会计实务重点内容
  • 物流企业发生的费用包括
  • 公司买的吃的计入什么科目
  • 提取盈余公积金
  • 工程结算直接做主营业务成本
  • 首次购买金税盘及服务费的账务处理
  • 购买股票如何操作
  • 印花税可以去地方申报吗
  • 累计折旧可以作为利润分配吗
  • 查账征收的个体户怎么交个税
  • 费用预算表怎么做
  • 如何记账固定资产成本
  • 盈亏平衡点怎么计算公式
  • linux 切文件
  • xp系统任务栏太小怎么办
  • 卡巴斯基 试用
  • keyworker什么意思
  • 如何重装edge
  • html中href,src区别
  • 利用的拼音
  • linux中fork()函数详解(原创!!实例讲解)
  • jQuery中ajax的load()与post()方法实例详解
  • jQuery插件ajaxFileUpload异步上传文件
  • 使用jquery
  • jquery封装的函数
  • jquery怎么遍历
  • 国家税务局总局广东省电子税务局官网
  • 企业年金需要个人财产申报
  • 税务规范性文件制定管理办法
  • 地税局社保宣传标语
  • 江西各市财政收入和支出
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设