返回顶部
首页 > 资讯 > 操作系统 >怎么修复一个Panic的Linux内核
  • 439
分享到

怎么修复一个Panic的Linux内核

2023-06-12 20:06:47 439人浏览 独家记忆
摘要

这篇文章主要介绍了怎么修复一个Panic的linux内核,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为了配置完全的静默启动,对自己的工作计算机上运行的Linux执行了不当的

这篇文章主要介绍了怎么修复一个Panic的linux内核,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

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

怎么修复一个Panic的Linux内核

一般情况下,新内核不能正常工作时,可以通过使用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/

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,这个环境可以解决大部分问题。

三、一些技巧

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

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

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

感谢你能够认真阅读完这篇文章,希望小编分享的“怎么修复一个Panic的Linux内核”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网操作系统频道,更多相关知识等着你来学习!

--结束END--

本文标题: 怎么修复一个Panic的Linux内核

本文链接: https://lsjlt.com/news/262511.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么修复一个Panic的Linux内核
    这篇文章主要介绍了怎么修复一个Panic的Linux内核,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。为了配置完全的静默启动,对自己的工作计算机上运行的Linux执行了不当的...
    99+
    2023-06-12
  • Linux的内核配置怎么修改
    要修改Linux内核配置,您可以使用menuconfig、xconfig、gconfig等工具来与内核配置进行交互。这些工具提供了图...
    99+
    2024-04-02
  • 怎么定制编译一个属于自己的Linux内核
    这篇文章主要讲解了“怎么定制编译一个属于自己的Linux内核”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么定制编译一个属于自己的Linux内核”吧!一 编译方式编译内核有多种方式,从ke...
    99+
    2023-06-28
  • Linux内核发现两个没有被修复的DoS漏洞分别是什么
    这篇文章给大家介绍Linux内核发现两个没有被修复的DoS漏洞分别是什么,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。贡献者Wanpeng Li(李万鹏,音译)近日在Linux Kernel中发现了两个拒绝服...
    99+
    2023-06-06
  • 探究一个LED如何入门Linux内核
    目录前言led trigger开始探索LED 设备注册leds 目录触类旁通class 目录的产生start_kernel()Starting kernel …uboot附完整调用关系人生切入点 前言 最近项目上需要用到...
    99+
    2022-06-04
    LED入门Linux内核 Linux内核
  • Linux内核是怎么样的
    这篇文章将为大家详细讲解有关Linux内核是怎么样的,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux 内核,这个经常听见,却不不知道它具体是干嘛的东西,是不是觉得非常神秘Linux 内核看不见摸不...
    99+
    2023-06-16
  • Linux内核是怎么初始化各个模块的
    小编给大家分享一下Linux内核是怎么初始化各个模块的,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!相信很多在研究linux内核源码的同学,经常会发现一些模块的初...
    99+
    2023-06-15
  • Windows11上的内核模式堆损坏怎么修复
    这篇文章主要介绍“Windows11上的内核模式堆损坏怎么修复”,在日常操作中,相信很多人在Windows11上的内核模式堆损坏怎么修复问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2023-04-14
    windows11
  • 怎么编译Linux内核
    这篇文章主要为大家展示了“怎么编译Linux内核”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“怎么编译Linux内核”这篇文章吧。下载内核我们要做的***件事是下载内核源码。在 Kernel.o...
    99+
    2023-06-16
  • linux内核是怎么写
    这篇文章主要介绍“linux内核是怎么写”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux内核是怎么写”文章能帮助大家解决问题。linux内核是用C语言和汇编语言编写的。linux内核大部分是...
    99+
    2023-06-29
  • Linux内核怎么优化
    本篇内容主要讲解“Linux内核怎么优化”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux内核怎么优化”吧!分析:大多数MySQL都部署在linux系统上,所以操作系统的一些参数也会影响到...
    99+
    2023-06-28
  • Linux内核怎么升级
    这篇文章主要介绍“Linux内核怎么升级”,在日常操作中,相信很多人在Linux内核怎么升级问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内核怎么升级”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-28
  • linux内核怎么移植
    本篇内容主要讲解“linux内核怎么移植”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux内核怎么移植”吧! 在linux中,...
    99+
    2023-02-23
    linux
  • Linux中的内核怎么升级
    这篇文章给大家分享的是有关Linux中的内核怎么升级的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。如果Linux内核过会出现一些问题,比如:网卡不能使用,亮度不能调节,触摸板不能识别,蓝牙不能使用等等,这些关系都...
    99+
    2023-06-28
  • Linux内核是怎样的
    这篇文章主要介绍“Linux内核是怎样的”,在日常操作中,相信很多人在Linux内核是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux内核是怎样的”的疑惑有所帮助!接下来,请跟着小编一起来学习吧...
    99+
    2023-06-05
  • Linux内核和Windows内核的区别是怎样的
    Linux内核和Windows内核的区别是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Windows 和 Linux 可以说是我们比较常见的两款操作系统的。Window...
    99+
    2023-06-15
  • linux怎么在2.6内核中编译内核模块
    这篇文章主要介绍linux怎么在2.6内核中编译内核模块,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!编译内核模块的方法与编译一般应用程序的方法略有不同. 我们会发现在内核源码树的层层目录中, 都存在有Makefil...
    99+
    2023-06-16
  • Linux内核ftrace怎么使用
    这篇文章主要讲解了“Linux内核ftrace怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux内核ftrace怎么使用”吧!什么是 ftrace我们可以将ftrace理解为F...
    99+
    2023-06-15
  • Linux内核Bug怎么解决
    本篇内容介绍了“Linux内核Bug怎么解决”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个bug,  有人升级内核到V5.10...
    99+
    2023-06-15
  • Linux内核中watchdog怎么用
    这篇文章主要介绍了Linux内核中watchdog怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。在Linux内核中有三个watchdog(看门狗),它们都需要被悉心的喂...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作