CentOS7 Grub引導(dǎo)故障恢復(fù)全過(guò)程
當(dāng)CentOS 7的/boot/grub2/grub.cfg文件丟失,重啟后進(jìn)入grub>模式時(shí),可以按照以下步驟恢復(fù)系統(tǒng)。
第一步:手動(dòng)引導(dǎo)進(jìn)入系統(tǒng)
1. 查找系統(tǒng)分區(qū)
grub> ls
你會(huì)看到類似輸出:(hd0) (hd0,msdos1) (hd0,msdos2)等
2. 找到/boot分區(qū)
逐個(gè)檢查分區(qū),尋找包含內(nèi)核文件的分區(qū):
grub> ls (hd0,1)/ grub> ls (hd0,2)/
當(dāng)你看到包含以下文件的分區(qū)時(shí),就找到了/boot分區(qū):
- vmlinuz-3.10.0-xxx.el7.x86_64
- initramfs-3.10.0-xxx.el7.x86_64.img
- grub2/目錄
記下這個(gè)分區(qū)位置,比如(hd0,1)
3. 設(shè)置根設(shè)備并加載內(nèi)核
# 設(shè)置根設(shè)備為/boot分區(qū) grub> set root=(hd0,1) # 加載Linux內(nèi)核 grub> linux /vmlinuz-3.10.0-1160.el7.x86_64 ro root=/dev/mapper/centos-root # 加載initramfs grub> initrd /initramfs-3.10.0-1160.el7.x86_64.img # 啟動(dòng)系統(tǒng) grub> boot
重要提示:
- 如果根分區(qū)不是LVM,可能是:root=/dev/sda2
- 如果不確定根分區(qū),可以嘗試:root=/dev/sda2 或 root=/dev/sda3
- 內(nèi)核版本號(hào)用Tab鍵自動(dòng)補(bǔ)全
第二步:永久修復(fù)GRUB配置
成功進(jìn)入系統(tǒng)后,執(zhí)行以下命令:
1. 重新掛載根分區(qū)為讀寫
# mount -o remount,rw /
2. 重新生成GRUB配置文件
grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ... Found linux image: /boot/vmlinuz-3.10.0-1160.el7.x86_64 Found initrd image: /boot/initramfs-3.10.0-1160.el7.x86_64.img Found linux image: /boot/vmlinuz-0-rescue-xxxx Found initrd image: /boot/initramfs-0-rescue-xxxx.img done
3. 可選:重新安裝GRUB到磁盤(如果必要)
# grub2-install /dev/sda
4. 驗(yàn)證修復(fù)
# ls -la /boot/grub2/grub.cfg -rw-r--r--. 1 root root 6538 Dec 1 10:30 /boot/grub2/grub.cfg # cat /boot/grub2/grub.cfg | grep menuentry
備選方案:使用救援模式
如果手動(dòng)引導(dǎo)失敗,可以使用CentOS 7安裝盤進(jìn)入救援模式:
1. 啟動(dòng)救援模式
- 用CentOS 7安裝U盤或光盤啟動(dòng)
- 選擇"Troubleshooting" → “Rescue a CentOS system”
- 選擇"1"繼續(xù)
2. 掛載并修復(fù)系統(tǒng)
# 檢查磁盤分區(qū) # fdisk -l # 掛載根分區(qū) # mkdir /mnt/sysimage # mount /dev/mapper/centos-root /mnt/sysimage # 掛載boot分區(qū)(如果是單獨(dú)分區(qū)) # mount /dev/sda1 /mnt/sysimage/boot # 掛載必要的文件系統(tǒng) # mount --bind /dev /mnt/sysimage/dev # mount --bind /proc /mnt/sysimage/proc # mount --bind /sys /mnt/sysimage/sys # 切換到原系統(tǒng)環(huán)境 # chroot /mnt/sysimage
3. 在chroot環(huán)境中修復(fù)
# 重新生成GRUB配置 # grub2-mkconfig -o /boot/grub2/grub.cfg # 重新安裝GRUB # grub2-install /dev/sda # 退出chroot并重啟 # exit # reboot
預(yù)防措施
修復(fù)完成后,建議:
# 備份GRUB配置 # cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.backup # 定期檢查系統(tǒng)完整性 # rpm -Va | grep grub2
總結(jié)
關(guān)鍵步驟:
- 手動(dòng)引導(dǎo):在grub>提示符下設(shè)置root、加載內(nèi)核和initrd
- 永久修復(fù):進(jìn)入系統(tǒng)后執(zhí)行g(shù)rub2-mkconfig -o /boot/grub2/grub.cfg
- 備選方案:使用安裝盤的救援模式進(jìn)行修復(fù)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Apache NameVirtualHost *:80 has no VirtualHosts問(wèn)題解決辦法
這篇文章主要介紹了Apache NameVirtualHost *:80 has no VirtualHosts問(wèn)題解決辦法,一個(gè)很簡(jiǎn)單的配置性錯(cuò)誤,需要的朋友可以參考下2014-08-08
linux跨服務(wù)器復(fù)制文件方式(scp含腳本批量復(fù)制)
這篇文章主要介紹了linux跨服務(wù)器復(fù)制文件方式(scp含腳本批量復(fù)制),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03
Ubuntu虛擬機(jī)沒(méi)有網(wǎng)絡(luò)的原因和解決方案
文章介紹了Ubuntu虛擬機(jī)在VMware或VirtualBox中無(wú)法訪問(wèn)互聯(lián)網(wǎng)的問(wèn)題,詳細(xì)解釋了問(wèn)題原因,并提供了完整的解決方案,包括啟動(dòng)網(wǎng)卡、獲取IP地址和重啟網(wǎng)絡(luò)服務(wù)等步驟,需要的朋友可以參考下2026-03-03
Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡
這篇文章主要介紹了Linux下如何檢查網(wǎng)卡bonding狀態(tài)和切換主備網(wǎng)卡問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11

