無法啟動 Linux - 核心恐慌 - 不同步 - 任何幫助表示讚賞
資訊:我在 Windows 上雙啟動 Kali,並且 Kali 分區已加密(您可以在終端中看到“請解鎖加密…”)。
我在使用名為 libc6 的軟體包時遇到了一些問題,同時在我的華碩筆記型電腦上安裝了用於控制亮度、rgb 和其他東西的筆記型電腦軟體……所以在排除故障後,我發現我應該使用 –fix-broken 來修復安裝不正確的軟體包。
所以我做了。同時,–fix-broken thingie,有它自己的問題,完成後讓我無法執行任何東西。我無法重新執行終端,或者其他任何東西。
如果您看不到這裡的圖像,它的外觀是這樣的:
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 映像可以在啟動時執行,至少可以讓我訪問終端?我知道這有點愚蠢,因為 imo 核心甚至沒有正常執行,但我只是想避免從頭開始重新安裝所有東西,因為它是高度定制的並且充滿了 Linux 數據。
更多資訊:該軟體所需的軟體包是 glibc6 的 3.2,而我的 Linux 安裝了 3.1,所以我下載了 deb 軟體包並使用 dkpg -i 安裝它。我認為可能發生的最糟糕的事情是什麼……它確實發生了:D *
為自己準備一些 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
,例如,而不是 justvgscan
, runlvm 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 的事實所證明的那樣),那麼你需要培養這種對細節的洞察力,以及對系統基礎知識的必要理解以有效使用你可以發現什麼。