背景:筆記本電腦上之前只安裝了 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