Linux 排錯 誤刪 /etc/fstab 和 /boot怎樣恢復

實驗:在分區情況下,rm -rf /boot和/etc/fstab,恢復

   首先我們查看一下/etc/fstab 裏面放的是什麼東西,從下圖可以看出裏面存放的是分區的掛載情況,刪除分區將不能自動掛載

wKioL1nBABqhYUcWAACCSm8vLWQ310.png


   接下來查看/boot下存放的是Linux的核心文件/boot/vmlinuz-VERSION-release,和引導加載程序grub,輔助內核加載硬件驅動的僞根系統/boot/initramfs-VERSION-release.img,缺少這幾項將導致Linux無法開機

wKioL1nBBIvQPO65AAAigEmOx2A592.png


好了,我要開始刪了

rm -rf /boot /etc/fstab ;reboot

這時可以看到開不了機了出現錯誤代碼 Error15 要記住這個現象,以後遇到相同問題就知道原因了

wKiom1nBAEzBB_QfAAADkzoWClI491.png

修復過程分爲兩步

修復/etc/fstab

1 進救援模式,過程就不再累述了,用df 查看分區情況發現分區無法掛載到/mnt/sysimage,lsblk命令也不能用了

wKiom1nBAEyxpGXQAAANtlOMx4o717.png

恩,還好fdisk -l還能用 ,但是我們沒辦法知道分區的掛載情況,不知道哪個分區掛載在/下,哪個掛載的/app,但是我們記得每個分區下文件的特點,只是現在沒有掛載沒辦法查看,所以我們可以嘗試掛載,在下面的分區列表中/dev/sda1 後面有個*,所有它是開機啓動的,應該掛載在/boot下,/dev/sda5是swap分區掛載在/swap下,但是哪個是 無法判斷

wKioL1nBABqAQB3UAAAVWt63lzo069.png

2 我們創建一個臨時掛載點

  mkdir /mnt/tmp

3 分別掛載/dev/sda{1,2...} /mnt/tmp

4 查看分區下的文件ls /mnt/tmp,找出符合 目錄下文件特點的分區掛載到 目錄下

wKiom1nBAE2CQ2BGAAAWO8Bd3PU675.png


6 創建分區信息表 vim /etc/fstab

vim /mnt/tmp/etc/fstab

/dev/sda1  /boot  ext4   defaults 0 0

/dev/sda2  /     ext4   defaults 0 0 

/dev/sda3  /app   ext4   defaults 0 0

/dev/sda5  swap   swap   defaults 0 0 

exit;exit


目前爲止/etc/fstab 已經修復完成,接下來修復/boot我們重啓一下發現仍然不能啓動,錯誤信息變成了如下所示,只有一個光標

wKioL1nBDx7zw1tCAAAC9pTLRC8001.png


修復/boot

方法一:

1 重新進入救援模式,用df查看,分區已經自動掛載掛載到/mnt/sysimages成功

wKioL1nBABrRDOePAAAemD2RifY234.png

2 掛載光盤,安裝內核

mkdir /mnt/cdrom

mount /mnt/cdrom

rpm -ivh /mnt/cdrom/Packages/kernel.xxx.rpm --root=/mnt/sysimages --force

wKiom1nBAE2zSnhbAAApxG1uPKA626.png

3 切根,修復grub

chroot /mnt/sysimage

grub-install --root-directory=/mnt/sysimage /dev/sda

4 編寫grub.conf 

 vim /boot/grub/grub.conf

  default=0

  timeout=5

  title linux

  kernel  /vmlinuz-2.6.32-696.el6.x86_64  root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

  initrd  /initramfs-2.6.32-696.el6.x86_64.img


exit;exit


方法二:

1 進救援模式

2 切根 :chroot /mnt/sysimage

3 修復/boot/initramfs:  mkinitrd /boot/ininramfs-`uname -r` `uname -r`

4 掛載光盤:  mount /dev/sr0 /mnt

5 複製光盤內核到/boot: cp /mnt/isolinux/vmlinuz-2.6.32-696.el6.x86_64  /boot

6 修復grub: grub-install --root-directory=/mnt/sysimage /dev/sda

7 編寫/boot/grub/grup.conf 

 vim /boot/grub/grub.conf

  default=0

  timeout=5

  title linux

  kernel  /vmlinuz-2.6.32-696.el6.x86_64  root=UUID=6da11b60-dd80-460a-a00f-beb8b3373b5c

  initrd  /initramfs-`uname -r`.img









更多博客請移步個人主頁j_0063.gif




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章