微软官方MSDN原版Win10系统下载

现在位置: 首页  > 系统教程  > Linux教程

如何修复一个Panic的Linux内核?

时间:2024-04-19 07:24:23   

大家好,今天Win10系统之家小编给大家分享「如何修复一个Panic的Linux内核?」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!

论如何建立一个修仙门派系列软件最新版本下载

  如何修复一个Panic的Linux内核?Linux是一个一体化内核(monolithic kernel)系统,一些用户在操作Linux系统的过程中,有时候由于操作不当,会导致Linux内核不能正常工作。最近就有一位用户由于操作问题,使得内核启动中止于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):

  1. 01mount /dev/sdb2 /mnt
复制代码
mount /dev/sdb2 /mnt

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

  1. 01mount -t proc proc proc/
复制代码
mount -t proc proc proc/
  1. 01mount --rbind /sys sys/
复制代码
mount --rbind /sys sys/
  1. 01mount --rbind /dev dev/
复制代码
mount --rbind /dev dev/
  1. 01mount --rbind /run run/
复制代码
mount --rbind /run run/

  这些目录的作用分别是:

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

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

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

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

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

  1. 01chroot /mnt
复制代码
chroot /mnt

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

  三、一些技巧

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

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

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

  对于Panic内核崩溃问题的解决办法就给大家分享到这边了,对于不知原因的Linux内核崩溃,该方法是不奏效的。有遇到同样情况的伙伴,可以按照上述教程来解决。

以上就是关于「如何修复一个Panic的Linux内核?」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~

『文②章①来自Win10系统之家www.ghost580.nEt,转载请联系本站网管!』

相关文章

  • 如何修复一个Panic的Linux内核?

    如何修复一个Panic的Linux内核?


      如何修复一个Panic的Linux内核?Linux是一个一体化内核(monolithickernel)系统,一些用户在操作Linux系统的过程中,有时候由于操作不当,会导致Linux内核不能正常工作。最近就有一位用户由于操作问题,使得内核启动中止于Panic状态,那么要如何修复一个Panic状态的Linux内核呢?下面我们一起来看看。
      问题描述:
      为了配置完全...
  • 初学者如何快速学习Linux下的find命令

    初学者如何快速学习Linux下的find命令


      单纯的了解Linuxfind命令是不够的,我们还要知道怎么使用它,下面小编从find的例子中给大家介绍下find的用法,希望对初学者能有所帮助。
      让我们先从一个简单例子开始。
      $find/-nametest
      。/backup/modules/field/modules/test
      $
      “查找根目录下名称为’test’的文件”,...
  • Linux系统中不同情况的重启命令如何使用

    Linux系统中不同情况的重启命令如何使用


      在进行Linux系统操作的时候,如果出现更换硬件、更改系统配置及死机等情况时,就需要对电脑进行重启,而不同的情形重启的方式也不同,即使用的命令不同,下面小编就给大家介绍下Linux下不同情形的重启方法。
      不同于桌面系统,作为服务器,我们较少对Linux系统进行系统重启,但在以下情形出现时,我们会对机器进行重启:
      更换硬件
      更改系统配置
      ...
  • 如何解决Linux系统文件已删除但空间未释放的情况

    如何解决Linux系统文件已删除但空间未释放的情况


      当你在进行Linux系统操作的时候,有时会遇到文件被删除但空间未被释放的问题,那么是什么原因导致的呢?又该如何解决,下面小编就给大家介绍下文件被删除但空间未被释放的解决方法。
      1、错误现象
      运维的监控系统发来通知,报告一台服务器空间满了,登陆服务器查看,根分区确实没有空间了,如下图所示:
      这里首先说明一下服务器的一些删除策略,由于Linux没有回收...