无法启动 Linux - 内核恐慌 - 不同步 - 感谢任何帮助

无法启动 Linux - 内核恐慌 - 不同步 - 感谢任何帮助

信息:我的 Kali 与 Windows 双启动,并且 Kali 分区已加密(您可以在终端中看到“请解锁加密...”)。

我在华硕笔记本电脑上安装用于控制亮度、RGB 和其他内容的笔记本电脑软件时遇到了一些名为 libc6 的软件包的问题......所以在故障排除后,我发现我应该 apt --fix-broken 来修复安装不正确的软件包。

所以我做了。与此同时,修复损坏的东西有它自己的问题,完成后使我无法运行任何东西。我无法重新运行终端,或者其他任何东西。

所以我想也许重启就能解决这个问题。这导致您在此处看到此屏幕:内核恐慌模式

如果您看不到图像,则如下所示:

Begin: Running /scripts/init-bottom ... done.
Not activating Mandatory Access Control as /sbin/tomoyo-init does not exist.
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000100
CPU: 7 PID: 1 Comm: run-init Tainted: G       E       5.10.0-kali7-amd6 #1 Debian 5.10.28-1kali1
Hardware name: ASUSTeK COMPUTER INC. ROG Strix G531GU_G531GU, BIOS G531GU.309 04/29/2020
Call Trace:
dump_stack+0x6b/0x83
do_exit.cold+0xb3/0xb3
do_group_exit+0x33/0xa0
__x64_sys_exit_group+0x14/0x20
do_syscall_64+0x33/0x80
entry_SYSCALL_64_after_hwframe+0x44/0xa9
RIP: 0033:0x7f4f2f200699
Code: 00 4c 8b ...
RSP: 002b: 00007ffc56e73ffB EFLAGS: 00000246 ORIG_RAX: 0000000000000e7

所以现在我不知道如何启动它。我不知道如何从 liveCD 等访问它来更改一些内容,就像我在互联网上找到的其他线程一样,因为 HDD 是加密的。

想知道是否有任何工具或 USB 映像可以在启动时运行,至少可以让我访问终端?我知道这有点愚蠢,因为我认为内核甚至无法正常运行,但我只是想避免从头开始重新安装所有内容,因为它是高度定制的并且充满了 Linux 数据。

更多信息:该软件所需的软件包是 glibc6 的 3.2,而我的 Linux 安装了 3.1,因此我下载了 deb 软件包,并像其他软件包一样使用 dkpg -i 安装它。我想可能发生的最糟糕的事情是什么......而且它确实发生了:D *

答案1

给自己准备一些 liveCD 或其他可启动的 Linux 介质,然后从它启动系统。

第一课:不要盲目相信互联网上的任何陌生人。如果某些教程或讨论线程建议您应该运行某些命令,请确保您在实际运行它之前了解它将做什么。

在恢复上下文中访问加密 Linux 卷的第一步很可能是cryptsetup命令。在这种情况下,您的图片表明密码提示是:

Please unlock disk nvme0n1p6_crypt:

这告诉我加密卷位于系统上第一个 NVMe 存储设备的第 6 个分区(以及第一个,可能是唯一的命名空间)。这为我们提供了设备名称:/dev/nvme0n1p6和加密卷的默认名称nvme0n1p6_crypt

假设您的高度定制的系统使用最常见的 LUKS 加密,则手动解锁加密的命令将是:

cryptsetup open /dev/nvme0n1p6 nvme0n1p6_crypt --type luks

可是等等!不要盲目地运行这个命令。首先运行man cryptsetup,看看我上面建议的命令是否正确并且对您有意义。 (记住第一课。)

这应该创建一个/dev/mapper/nvme0n1p6_crypt设备,它允许您(和 liveCD 系统)以明文形式访问加密卷的内容,直到该卷关闭或系统重新启动。

在你的图片中,引导进程执行的检查 Kali 根文件系统的命令似乎类似于fsck.ext4 -a -C0 /dev/mapper/crypto_kali-root.这告诉我安装使用了加密LVM设置:LVM 逻辑卷设备名称的标准格式是/dev/mapper/<volume group name>-<logical volume name>.还有一种替代的(遗留的,但仍然广泛使用的)命名方案:它将是/dev/<volume group name>/<logical volume name>.

在挂载文件系统之前,必须确保 LVM 卷组(仅由一个 LVM“物理卷”组成:我们要恢复的加密卷)已激活并且逻辑卷设备可用。

LVM 有相当多的命令,全部以字母pv,vg或开头lv。有时它们都打包成一个二进制文件,命名lvm以节省空间。这可能发生在 initramfs 环境或某些 liveCD 中。如果是这种情况,只需在实际 LVM 命令前添加单词lvm,例如,而不只是vgscan运行lvm vgscan

首先,你应该运行vgscan.它告诉 LVM 重新扫描可用磁盘和分区以查找 LVM 内容。在现代发行版上,udev只要出现新的类似磁盘的设备(例如,解锁加密磁盘时),规则通常会自动触发此操作,但在这样的恢复场景中,明确说明并没有什么坏处。如果 LVM 元数据有任何问题,该vgscan命令将显示警告或错误,因此这也是一个很好的基本 LVM 运行状况检查。

fsck.ext4图片中的命令中,我们知道 Kali LVM 卷组的名称 ( crypto_kali) 和一个逻辑卷的名称 ( root)。如果我们不知道这些,vgscan应该告诉我们卷组的名称:Found volume group "crypto_kali" using metadata type lvm2或类似的名称。要查看卷组中各个逻辑卷的名称,您可以使用该lvs命令,或者lvdisplay查看更详细的列表。

在访问 LVM 逻辑卷之前,必须先激活它们。当检测到 LVM 设备时,这可能会也可能不会自动发生;同样,明确的手动激活命令不会造成伤害,并且在激活出现问题时让我们有机会看到错误消息。您可以使用 一次激活卷组中的所有逻辑卷vgchange -ay crypto_kali。如果运行lvs,则只要逻辑卷处于活动状态,该Attr字段就会在第 5 个位置显示一个字母。a

现在您已准备好挂载 Kali 根文件系统:

mkdir -p /mnt/kali
mount /dev/mapper/crypto_kali-root /mnt/kali

如果您的 Kali 环境包含其他逻辑卷,您也可以以相同的方式挂载它们。此时,您可以恢复和备份所有自定义设置和数据,我强烈建议您这样做。

修复损坏或被覆盖的系统glibc6是可能的,但有点乏味,并且需要找出glibc应该存在的正确版本。您需要手动删除或移开损坏/错误的库文件,并将正确的文件放在正确的位置。凭借您迄今为止所展示的技能水平,重新安装并恢复您恢复和备份的数据可能会更容易。

另外,您是否注意到我如何从所附屏幕截图中的小细节中提取出一些重要事实?如果您要学习黑客(正如您首先使用 Kali 的事实所证明的那样),那么你需要培养对细节的洞察力,以及对系统基础知识的必要了解,以有效利用您所发现的内容。

相关内容