怎么修好一個Panic的Linux內(nèi)核?
發(fā)表時間:2023-08-09 來源:明輝站整理相關軟件相關文章人氣:
[摘要]如何修復一個Panic的Linux內(nèi)核?Linux是一個一體化內(nèi)核(monolithic kernel)系統(tǒng),一些用戶在操作Linux系統(tǒng)的過程中,有時候由于操作不當,會導致Linux內(nèi)核不能正常工...
如何修復一個Panic的Linux內(nèi)核?Linux是一個一體化內(nèi)核(monolithic kernel)系統(tǒng),一些用戶在操作Linux系統(tǒng)的過程中,有時候由于操作不當,會導致Linux內(nèi)核不能正常工作。最近就有一位用戶由于操作問題,使得內(nèi)核啟動中止于Panic狀態(tài),那么要如何修復一個Panic狀態(tài)的Linux內(nèi)核呢?下面我們一起來看看。

問題描述:
為了配置完全的靜默啟動,用戶對工作計算機上運行的Linux執(zhí)行了不當?shù)膍kinitcpio操作,原因是忽略了mkinitcpio.conf文件中的一處邏輯錯誤。這使得mkinitcpio生產(chǎn)了新的內(nèi)核文件,但這個內(nèi)核文件不能正常工作。重啟的時候,內(nèi)核啟動中止于Panic狀態(tài)。
一般情況下,新內(nèi)核不能正常工作時,可以通過使用initramfs內(nèi)核文件的fallback版本來臨時啟動系統(tǒng),甚至可以直接將fallback版本覆蓋回去以回退更改,但這次要命的是,mkinitcpio同時修改了vmlinuz內(nèi)核文件,而且vmlinuz沒有fallback版本。對于一般用戶,可以直接重裝系統(tǒng)解決;但是該用戶的工作站環(huán)境配置相當復雜,這意味著除了可能損失用戶的工作文件之外,用戶還需要花費大量額外的時間來重配開發(fā)環(huán)境。
注意:本教程之“修復”,指“嘗試回退毀滅性的人為更改”,故不可用于恢復不知原因的內(nèi)核崩潰。
如何修復一個Panic的Linux內(nèi)核?
一、從LiveCD啟動并查看磁盤
憑著兼職Linux服務器運維那段時間積累的經(jīng)驗,小編立即想到可以用LiveCD啟動來獲得一個臨時的、用于修復內(nèi)核的Linux環(huán)境。
小編使用的是Arch Linux 64位版,所以小編從從Arch Linux的LiveCD啟動。正確進入LiveCD內(nèi)建的root用戶之后,我們需要查看自己的主硬盤的設備名。執(zhí)行fdisk -l,在小編的情況下,小編的主硬盤、掛載至根目錄的分區(qū)對應的設備文件是/dev/sdb2。
二、chroot至硬盤上的系統(tǒng)根目錄
要chroot到硬盤上的系統(tǒng)根目錄,并能正常調(diào)用硬盤上的系統(tǒng)組件對硬盤上的系統(tǒng)作出更改,我們首先要手動掛載硬盤上的根分區(qū)。執(zhí)行(小編的設備文件是/dev/sdb2):
- 01mount /dev/sdb2 /mnt
復制代碼
mount /dev/sdb2 /mnt
Linux是一套免費使用和自由傳播的類Unix操作系統(tǒng)