CentOS 7后,原来的Windows 7不会出现在启动项目里,网上查找一番后解决办法是修改grub.cfg文件。因为CentOS 7已采用新式的grub2系统,所以需要进入/boot/grub2目录后使用vim编辑grub.cfg文件。:
网络方案1:
将下面这段Windows 7的启动项声明:
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-XXX' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
chainloader +1
}
### END /etc/grub.d/30_os-prober ###
加在### END /etc/grub.d/00_header ###之后。其中的XXX为你的Windows 7系统分区的UUID。
CentOS7查看UUID:
ll /dev/disk/by-uuid
经过此番修改后,重启动后,Windows 7启动项可以看到了,并且也可以成功进入Windows 7。
网络方案2:
先进入系统。我们可以设置grub2来添加win7启动项。
打开终端,su成root,
vi /etc/grub.d/40_custom
在最后加入以下行
menuentry 'win7'{
set root=(hd0,1)
chainloader +1
}
添加的位置大家一般也能看出来启动项都是以menuentr开始,就直接放到两个menuentry之>间就行了,然后重设grub2,执行以下命令:
grub2-mkconfig -o /boot/grub2/grub.cfg
重启电脑(按照此步骤操作,Windows引导失败):2.安装完成centos7之后,启动项中没有win7启动项,解决方法,修改/boot/grub2/grub.cfg
menuentry 'win7'{
insmod chain
insmod ntfs
set root=(hd0,msdos1)
chainloader +1}
menuentry 'win7 search'{
insmod chain
insmod ntfs
search -f /ntldr --set root
chainloader +1
}
按照此步骤设置后还是Windows引导失败:
得到灵感的地方:grub2-mkconfig -o /boot/grub2/grub.cfg
重新检测本地硬盘上是否存在有操作系统,然后自动生成启动菜单。
不需要手动去编辑,而且不用担心手工编辑出错(这样设置后重启还是没有出现Windows的>引导,仔细思考什么原因呢?
明白了Linux只能认识Ext3/4,fat32格式,而Windows是NTFS格式磁盘分区,因此Linux的Grub2识别不了NTFS上的操作系统。