Debian

我的 /boot 分區壞了。我如何寫那裡需要的一切?

  • September 5, 2017

我使用debian 9。由於某種原因,我的/boot謊言所在的分區被破壞了,e2fsck報告了很多錯誤。不知何故,我仍然能夠啟動到緊急模式。我可以格式化那個分區。我如何再次在那裡編寫所有需要的東西(grub、核心等)?

你很幸運,裡面的所有東西都/boot可以很容易地自動複製。

  1. 啟動進入救援模式。
  2. 解除安裝 /boot (如果已安裝 - 可能無法安裝。命令是umount /boot:)
  3. 修復你的/boot文件系統。如果是 ext2-3-4,那麼命令:e2fsck -f -y -C0 /dev/your-boot-partition. 這些是非常具有攻擊性、強制破壞性的標誌,但您不必非常小心其中的數據 - 所有這些都是可自動重現的。而且,如果它執行沒有問題,你可以肯定,你的/boot文件系統最終會好的。
  4. 如果 e2fsck 輸出沒有說任何糟糕的 (P > 90%),那麼您的 /boot 可能已經修復,您可以重新啟動。但如果沒有,那麼您可能會有一個無法啟動的系統。
  5. 再次掛載分區 ( mount /boot)
  6. 檢查,哪些軟體包將任何內容安裝到/boot. 這可以通過命令來完成dpkg -S /boot。就我而言,結果是這樣的:

# dpkg -S /boot
linux-image-4.4.0-38-lowlatency, memtest86+, grub2-theme-mint, memtest86, linux-image-4.4.0-38-generic, base-files: /boot

然後,您可以通過命令簡單地重新安裝這些包

apt-get --reinstall install linux-image-4.4.0-38-lowlatency memtest86+ grub2-theme-mint memtest86 linux-image-4.4.0-38-generic base-files

那裡還有各種引導和配置文件,但是這些包的(重新)安裝腳本會自動重新建構它們。


應該足夠了,但是如果你想非常非常確定,你也可以手動重新生成引導文件,使用命令

update-grub

…並通過以下方式將 grub 重新安裝到 MBR

grub-install /dev/your-boot-disk (most probably /dev/sda)

在不太可能出現問題並且您的系統無法啟動的情況下,您可以從救援 CD/pendrive 執行幾乎相同的步驟。詳細資訊在這個答案中。


副檔名:畢竟,您可以檢查由e2fsckin恢復的文件/boot/lost+found。你不需要它們,因為它們中的所有數據都已經被複製了。要在(通常是小的)引導分區上保存位置,您可以刪除它們。

引用自:https://unix.stackexchange.com/questions/390087