grub文件文件修復

首先我們先破壞一下grub文件

這里我們先查看一下電腦是哪塊硬盤啟動的

grub文件文件修復

這里我們就直接破壞硬盤的二進制數據,以達到grub的破壞。

要記住我們只能破壞前446字節,也就是bootloader。后面64字節是分區表。

我們可以查看一下前512字節的二進制文件

hexdump -C -n 512 /dev/sda

grub文件文件修復

先破壞
/boot/grub/stage1的前446字節也就是啟動硬盤的前446字節

dd if=/dev/zero of=/dev/sda bs=1 count=446

破壞后再查看一下二進制文件

grub文件文件修復

 

由圖中可以看出前面的字節已經全部變為0了,也就意味著grub已經被破壞了。

然后我們重啟

reboot

如果mbr(系統的前512字節主引導記錄 )出故障,系統啟動的表現形態看不見。

如果能看的見啟動 那就不是grub的問題。

啟動后直接回自動進入光盤模式   然后進入救援模式

grub文件文件修復

 

然后會出現好多讓選擇的界面。針對這個問題,那些選擇可以不用管,一直默認就行。

然后就會進入救援模式中,這里是關盤啟動。

grub文件文件修復

我們可以查看出系統有的現在的救援模式也都有。

但是現在還不是自己系統真正的根,所以我么你要先切換到我們系統的根去。

我們系統真正的根再/mnt/sysimage/

chroot /mnt/sysimage/

grub文件文件修復

然后修復grub

  grub-install /dev/sda

grub文件文件修復

然后手動吧緩存寫進磁盤里

sync

然后exit退出

重新啟動。

grub文件文件修復

這時就意味著啟動了

 

如果1階段好好的  那就不會直接讓光盤啟動   1.5階段弄出故障不提示光盤系啟動 有一瞬間開機界面 但是系統一樣起不來

破壞1.5階段

 

grub文件文件修復

grub文件文件修復

這時我們用光盤啟動進行修復。

重啟

然后選擇光盤啟動更1階段壞一樣。

進入救援模式后先切根

chroot /mnt/sysimage/

然后再對gurb進行修復。

grub-install /dev/sda

然后手動吧緩存寫進磁盤里

sync

然后exit退出

重新啟動。

grub文件文件修復

啟動看到這時就說明已經修復成功了。 

缺失grub.conf文件

 

 

grub文件文件修復

 

制作gurb文件  直接寫出kernrl 三行就行 可以補全

grub文件文件修復

啟動

也可以直接創建grub.conf文件

grub文件文件修復

 

 

缺失/sbin/init文件

錯誤顯示

grub文件文件修復

 

e   d編輯

kernrl 那一行最后

init=/bin/bash

用bash啟動 然后進行恢復

先把根重掛 

 munt 
-o  remount , root /

把移動的文件移動回去  重啟

但是會出現錯誤

grub文件文件修復

原因:文件移動之后會發把標簽屬性發生變變

解決方法就繞過標簽

啟動時輸入a

末尾加  selinux=0

然后ctrl+x重啟

 

 

/boot/grub刪除如何修復

這里我們直接把grub.文件全部刪除

grub文件文件修復

然后查看一下,確認刪除后重啟電腦

grub文件文件修復

啟動界面

這時說明系統已經起不來了。

我們只能進入救援模式進行啟動。

我們產考前面的環節進入救援模式。

先切根

chroot /mnt/sysimage/

然后可以查看一下/boot/grub/文件是否已經被刪除

grub文件文件修復

 

然后再  

grub-install

生成后gurb文件

grub文件文件修復

我們先查看問價是否已經生成

grub文件文件修復

由查詢可以看出文件已經生成了,但是還缺少/grub/grun.conf文件

最后生成grub.conf文件夾

grub文件文件修復

完成后退出 重啟完成

 

 

/boot刪除如何修復

剛剛嘗試了/boot/grub的修復,現在試一下/boot文件的修復

首先我們先刪除/boot文件

rm-rf /boot

/boot的文件刪不掉,但是/boot里面的文件已經全部都刪除了

 

grub文件文件修復

掛載光盤

  mount /dev/sr0 /mnt

然后進入光盤查看一下

把光盤中的/isolinux/vmlinuz文件copy到/boot

cp vmlinuz /boot/

內核文件復制到/boot 中

把其他的文件生成

grub文件文件修復

生成intramfs.img文件

mkinitrd /boot/initramfs.img `ua=name -r`

生成這個文件是掛驅動的,如果沒有這個文件根就掛不上去。

生成之后可以查看一下/boot文件下就有這兩個文件了。

grub文件文件修復

然后再 生成grub文件

grub-install  /dev/sda

grub文件文件修復

最后生成grub.conf文件夾

完成后退出 重啟完成

 

 

深入破壞

 

移走/etc/fstab 文件

mv /etc/fstab /root/

再刪除/boot

rm -rf /boot

grub文件文件修復

/etc/fstab 中寫的根掛載到哪,沒有該文件救援模式無法自動掛載到根。

啟動又是這個界面

所以大家可以看出只要是第二階段出問題頁面都是這個錯誤

grub文件文件修復

救援模式啟動

會顯示沒有掛載根

查看硬盤

grub文件文件修復

 

嘗試把/sd*也就是硬盤掛載一下,看看哪個是根。

然后常見/fstab文件掛載根

grub文件文件修復

這里我們查看一下sda因為他是啟動盤

fdisk -l /dev/sda、

發現下面分好多。這時我們把每個都掛一遍看看哪個是根

我們先在/mnt下創建一個文件夾/tmp

mkdir /mnt/tmp

這樣我們可以把這些分區都掛到這個文件查看。

先掛/sda1然后查看一下

mount /dev/sda1 /mnt/tmp/

grub文件文件修復

那我們再掛載sda2試一下

首先把剛剛的取消掛載才能掛載新的

umount /mnt/tmp
mount /dev/sda2 /mnt/tmp/

grub文件文件修復

可以sda2就是根分區

那我們就把根掛載上去。

既然sda2是根文件那么sda1就是/boot

這兩個是開機啟動的主要文件,這兩個掛上機器基本就能啟動。

等系統啟動后再去修復其他的錯誤。

所以一起掛載

編輯/fstab

vi /mnt/tmp/etc/fstab

grub文件文件修復

先把掛件的掛載把系統修復起來。

完成后重啟,重新進救援模式,先讓光盤啟動找到根再進行修復。

進入救援模式后先切根

chroot /mnt/sysimage/

 

然后掛載光盤

mount /dev/sr0 /mnt

grub文件文件修復

這里可以像上一個實驗一樣去復制vmlinuz這個文件。

當然也可以去安裝kernel.

裝載kernel

grub文件文件修復

 

也可以 通過文件復制到/boot但是安裝的更完善

grub文件文件修復

然后再寫gurb,conf文件

然后重啟

即使gurb,conf文件寫錯了,也可以在啟動界面中輸入c手動添加更改

進入系統后 把其他的都掛載上

然后swapon -s啟動 swapon空間

grub文件文件修復

 

原創文章,作者:phosphor,如若轉載,請注明出處:http://www.www58058.com/82291

(1)
phosphorphosphor
上一篇 2017-07-28 16:50
下一篇 2017-07-28 19:41

相關推薦

  • Linux系統的介紹及如何獲取幫助?(學習筆記)

    第一、Linux 基礎   CPU架構:      x86      x64 (amd64)      m68000,m68k      arm    &nbs…

    Linux干貨 2016-12-12
  • 馬哥教育網絡班20期+第4周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -r /etc/skel/ /home/tuser1 [root@localhost ~]# chmod&n…

    Linux干貨 2016-07-04
  • Linux syslog 系統日志管理

    Linux系統上面,系統可以記錄從開機到當前系統上面何時發生了哪些事情,在centos 上表現為rsylog,由三部分組成 1)syslogd:主要記錄系統和網絡等服務的日志信息 2)klogd:主要記錄內核產生的各項信息 3)logretate:主要用來對日志文件進行切割循環記錄等 特點: 1)多線程工作 2)支持以TCP,UDP,SSL,TSL,RELP…

    Linux干貨 2016-10-24
  • TCP網絡關閉的狀態變換時序圖

    TCP共有11個網路狀態,其中涉及到關閉的狀態有5個。 在我們編寫網絡相關程序的時候,這5個狀態經常出現。因為這5個狀態相互關聯,相互糾纏,而且狀態變化觸發都是由應用觸發,但是又涉及操作系統和網絡,所以正確的理解TCP 在關閉時網絡狀態變化情況,為我們診斷網絡中各種問題,快速定位故障有著非常重要的作用和意義。 下是是根據W.Richard Stevens的《…

    Linux干貨 2015-04-03
  • 馬哥教育網絡班22期第3周課程作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。 [root@MyCloudServer ~]# who | cut -d " " -f1 |sort -u root 2、取出最后登錄到當前系統的用…

    Linux干貨 2016-09-19
  • 系統啟動和內核管理以及幾個重要實驗

    Centos啟動流程:     1.加載BIOS的硬件信息,獲取第一個啟動設備     2.讀取第一個啟動設備MBR的引導加載程序(grub)的啟動信息     3.加載核心操作系統的核心信息,核心開始解壓縮,并嘗試驅動所有的硬件設備 &n…

    Linux干貨 2017-05-15
欧美性久久久久