为CentOS 7添加win7的引导菜单
案例背景
本案例是在已安装了windows 7系统的基础上,在一个空闲的分区上安装CentOS 7 Linux系统。当成功安装Linux系统后并不会像Centos 6版本那样保留windows 7系统的启动菜单。而是只有Centos7的系统启动菜单。必须在进入Linux系统后由管理员在/boot/grub2/grub.cfg文件中手动添加windows 7的启动菜单。
方案一:将以下内容先写入到/etc/grub.d/40_custom文件中,重新生成grub.cfg启动菜单文件。
第1步,编辑/etc/grub.d/40_custom文件。
vi /etc/grub.d/40_custom 添加如下内容(菜单内容参考方案一)
menuentry 'win7' {
insmod part_msdos
set root='hd0,msdos1'
search -f /windows/notepad.exe --set-root
chainloader +1
}
第2步,更新grub.cfg菜单文件。
grub2-mkconfig -o /boot/grub2/grub.cfg
第3步,将win7设置为默认启动。
grep win7 /boot/grub2/grub.cfg
grub2-set-default 'win7'
grub2-editenv list
第4步,reboot重启Linux系统,验证是否有win7的启动菜单,以及能否正常启动win7系统。
-------------------
附录:
vi /etc/grub.d/40_custom 添加如下内容(最优化的菜单内容参考方案一)
menuentry 'win7' { #指定菜单标题
insmod part_msdos #加载msdos分区模块
set root='hd0,msdos1' #设置根分区为第1块硬盘的msdos1分区
search -f /windows/notepad.exe --set-root #将搜索到的notepad.ext文件所在的分区设置为根
chainloader +1 #链接引导
}
/etc/grub.d/40_custom 菜单文件内容参考方案二
menuentry 'win7' {
set root(hd0,1)
chainloader +1
}
/etc/grub.d/40_custom 菜单文件内容参考方案三
menuentry 'win7' {
insmod chain
insmod ntfs
set root(hd0,msdos1)
chainloader +1
}