在initramfs修復 fstab

redrobot發表於2024-11-06

https://parrotsec-cn.org/t/initramfs/553

開機進入initramfs模式的解決辦法

系統安裝/使用問題
問題解決
2017 年 12 月
1 / 2
2017 年 12 月
2018 年 5 月

0x00前言

我相信,有非常多的使用者在使用 Linux 的過程中時不時會遇到開機時進入 initramfs 模式的情況,例如我就遇到不少次了。一般遇到這種情況,我們束手無策,只能重灌系統。可總重灌也不是個辦法,於是我就去問了度娘,度娘告訴我開機會進入 initramfs 的原因是

  • 沒正常關機導致的磁碟損壞 #大部分情況下
  • 檔案系統無法正常掛載 #我通常遇到的情況

0x01解決辦法

1、沒正常關機導致的磁碟損壞

我們需要

  • Live模式啟動盤一個or一個Linux系統

進入Live模式,開啟終端
使用 blkid 或者 fdisk 檢視你的分割槽
使用 fsck 來修復你的磁碟

PS:原諒我寫的如此短,畢竟我沒遇到過這種情況。如果有其他大佬有更詳細的步驟可以找我替換。謝謝~


2、檔案系統無法正常掛載

首先,使用 blkid 來檢視我們有哪些磁碟和分割槽(因為在initramfs沒有fdisk)

blkid

假設你已經知道了你的 //dev/sdb1 , /boot/dev/sdb3。我們需要新建一個資料夾並把對應分割槽掛載進去,注意根目錄和boot目錄不要掛反,boot目錄是在根目錄下↓的。

mkdir mnt
mount /dev/sdb1 /mnt
mount /dev/sdb3 /mnt/boot

掛載完成後我們還需要掛載一些必要資料夾以供使用

mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
mount -t proc proc /mnt/proc

如果你還有其他分割槽,也需要掛載到對應掛載點

現在使用 chroot 命令切換到 /mnt

chroot /mnt

使用者變成 root@(none),這時你就可以和終端一樣用各種工具進行修復了。

接下來我們修改 /etc/fstab,先把分割槽情況匯入fstab以便對照修改

blkid >> /etc/fstab

接著用你習慣的編輯器開啟對照修改 fstab 並把多餘的行刪除。

儲存退出,鍵入

sync

完成後 reboot 重啟電腦,你就可以進入系統了

其實你剛才所做的這些步驟和電腦真實開機流程相似

相關文章