位置: 编程技术 - 正文

快速修复一个Panic的Linux内核的技巧(应该怎么修复)

编辑:rootadmin

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

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

感谢积木网网友 鸢一雨音 的投稿

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

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

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

一、从LiveCD启动并查看磁盘

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

笔者使用的是Arch Linux 位版,所以我从从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/

mount --rbind /dev dev/

快速修复一个Panic的Linux内核的技巧(应该怎么修复)

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系统怎么配置双显卡?

一铭桌面操作系统Emind Desktop 4.0 SP1安装使用初体验 近日来,基于之前的勒索病毒事件,考虑到个人信息安全以及工作需要,一直想找一款国产桌面操作系统来进行替代。多年来使用Windows操作系统已经成

Linux系统怎么查看主机的cpu总个数和总内存? 今天我们就来介绍一下关于linux系统,下面我们就来看看Linux查看主机的cpu总个数和总内存可以参考如下方法。一、查看cpu总个数第一种方法:top命令法

如何像专业人员那样在openSUSE上安装和更新软件?opensuse安装软件详细教程 YaST2是处理软件包的强大工具。您可以安装或删除软件包,更新甚至是保护软件包以防被删除或修改。openSUSE带了大量的软件包,还有更多的软件包可以

标签: 应该怎么修复

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

上一篇:Linux系统怎么配置双显卡?(linux系统怎么配置路由)

下一篇:Linux系统怎么查看主机的cpu总个数和总内存? (linux系统怎么查看root用户密码)

  • 小规模纳税人每月不超过10万
  • 印花税滞纳金如何计算日期
  • 以前年度无形资产本年摊销额
  • 企业所得税成本调减怎么填
  • 海关缴款书有效期多久
  • 机票抵扣进项只能在发生当月吗
  • 工伤保险应该计入什么科目
  • 股权转让所得交所得税吗
  • 累计折旧是费用岗负责的吗
  • 委托加工几个点
  • 增值税抵扣期限多少天
  • 不征税的政府补助如何开票
  • 累计折旧费用
  • 增值税发票二联折叠票样式
  • 进出口总额比上年同期
  • 返还工资保证金的书面申请
  • 建筑企业结转成本依据准则
  • 存货成本包括哪些项目
  • 小微企业税收优惠政策最新2023
  • 交社保公积金需要劳动合同吗
  • 厂房出租开发票选择什么税收分类编码
  • 不动产进项抵扣新政策2022
  • 从税法角度看,商誉计税基础
  • 发票备注栏填写要求
  • 公司开业前启动大会
  • 申报高新企业的当年一定要研发费用加计扣除吗
  • win10电脑屏幕颜色变了怎么调到原来的
  • deepin 设置
  • shadowbar.exe - shadowbar是什么进程 有何作用
  • 认缴注册是什么意思
  • johnny kim宇航员
  • 营改增后甲供材的账务处理
  • 补缴税款怎么补
  • 住房公积金领出来用了影响以后买房贷款吗
  • 旺阿雷自然保护区里的旺阿雷瀑布,新西兰北岛 (© Nathan Kavumbura/Getty Images)
  • 投资者追加资本金属于什么
  • 提存计划怎么算
  • 时点数和时期数 订单量 库存量点击量
  • mysql表中数据
  • userpasswords
  • ps怎么弄树
  • phpstudy修改php版本
  • 个体户怎么报增值税
  • 其他资本公积核算科目
  • day15-Servlet04
  • 一般纳税人年收入500万交多少税
  • 有外币业务的银行
  • 未使用的固定资产
  • 培训费其他费用的列支范围
  • sqlserver2008连接
  • 租赁公司租赁物计入什么会计科目
  • 以长期股权投资换入存货
  • 暂估入库的商品怎么做账
  • 残疾人就业保障金会计分录怎么做
  • 质量管理体系认证证书
  • 生产车间的会计科目
  • 土地使用权出资是什么意思
  • 股东打到公帐上怎么做账
  • 库存商品结转成本需要附件吗
  • 工程发票可以作废吗
  • 什么时候用税前项目举例说明工程项目
  • innodb_index_stats导入备份数据时报错表主键冲突的解决方法
  • 各个都很实用:win7系统电脑日常小技巧
  • linux find命令查找文件名
  • 电脑用户名怎么改
  • image driver
  • 操作系统的定义
  • win1020h2镜像
  • 在Linux系统中安装镜像步骤
  • shell产生随机字符串
  • 如何删掉win7系统
  • 批处理 计算
  • JS中setTimeout的巧妙用法前端函数节流
  • javascript definitive guide
  • 出口退税企业的账务处理
  • 两江新区钓鱼地方
  • 降低税率的坏处
  • 增值税税控开票软件怎么下载
  • 中国采购网地胶
  • steam充值码生成
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设