修復grub引導Centos8和Windows


  背景:筆記本電腦上之前只安裝了 CentOS 8。后來加裝了 Windows 7,結果沒有 CentOS 的啟動菜單了。
  
  磁盤分區情況:

sda1    Windows C:
sda2    Windows D:
sda3     /boot
sda5     swap
sda6     /
sda7     /home

 

  解決步驟:

1. 下載一個CentOS8 iso安裝鏡像(可以是boot盤),並使用 Win32DiskImager寫入U盤。
2. 從U盤啟動,進入安裝界面時,選擇 Troubleshooting,然后選擇 Rescue a CentOS Linux system。
3. 進入rescue環境,輸入1(選擇continue),將會把在硬盤上找到的Linux系統掛載到 /mnt/sysimage。然后回車,激活shell。
4. 切入硬盤Linux系統:chroot /mnt/sysimage
5.重新安裝grub2: grub2-install /dev/sda
注意是 grub2,而不是 grub。

此時,重啟系統,發現 CentOS 啟動菜單已恢復:

  CentOS Linux (4.18.0-80.e18.x86_64) 8 (Core)
  CentOS Linux (0-rescue-...) 8 (Core)

但是,沒有Windows的啟動項。

6. 進入CentOS,vim /etc/grub.d/40_custom, 添加:

menuentry 'Windows 7' {
  insmod ntfs
  set root='hd0,msdos1'
  chainloader +1
}

保存,退出。
注:這里 msdos1 表示Windows系統盤在第一個分區。

7. 重新生成grub2配置: grub2-mkconfig -o /boot/grub2/grub.cfg
8. 重啟電腦,發現多出了 Windows 啟動項。

參考:
1、centos7引導Windows,實現雙系統選擇啟動
https://blog.csdn.net/qq_20906903/article/details/78431248
2、安裝centos7 windows7 (32位) 雙系統以及grub2引導windows 7
https://blog.csdn.net/liu454638324/article/details/49621525?locationNum=4&fps=1

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM