热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux如何efi安装win7,在EFI+GPT硬盘上利用grub2实现Linux/Win7/win8等多重启动

该楼层疑似违规已被系统折叠隐藏此楼查看此楼接上文啊,本人电脑,LenovoY410P的笔记本,主板UEFIGPT硬盘,预装的

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

接上文啊,本人电脑,Lenovo Y410P的笔记本,主板UEFI+GPT硬盘,预装的Windows 8,至于如何安装Linux,请参见空间其他文章,里面的说明比较细致!!!

本文就来说明一下,怎么用Linux的grub2来引导Windows 8;

当你按照前文的方法安装后,只能通过开机按F12来选择系统了,若不选择的话,会默认进入EFI引导的第一个系统;如果你一点没有调整的话,那么他会默认进入Linux的,你也可以在主板设置里调整启动顺序,让Windows 8变成第一个,但是,在按照本文操作之前,请将Linux的EFI启动项“Red Hat Linux”设置为第一启动项,至于为什么?自己想吧!

在安装完Linux后,grub引导中是存在的准备引导Windows的others的选项的,但是一使用就出错,本文就是将他修改正确;

附加我的硬盘分区图:

e2b78a498bc7cc833dda1872cceae112.png

由上图可知:序号2的分区,即260M的FAT32分区,是系统的EFI分区,在linux中显示为sda2,即hd(0,1);

原来的grub.conf文件(位置在/boot/efi/EFI/redhat/目录下,想要看到,必用root,sudo不好使)内容如下:

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,9)

# kernel /vmlinuz-version ro root=/dev/sda11

# initrd /initrd-[generic-]version.img

#boot=/dev/sda2

device (hd0) HD(2,1f4800,82000,f5ca45c0-7ee8-4b19-b521-5404b3964deb)

default=0

timeout=0

splashimage=(hd0,9)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.32-431.el6.x86_64)

root (hd0,9)

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=87a7c08d-411b-4b4c-b35f-8fb72b7c1776 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

initrd /initramfs-2.6.32-431.el6.x86_64.img

title Other

rootnoverify (hd0,4)

chainloader +1

现在进行修改,主要是修改了上面的最后三行的内容,最后三行改成如下:

title Windows 8 (Simple Chinese X64)

menuentry "Windows 8 (loader)"

root (hd0,1) #这里的(hd0,1) 是上面的/dev/sda2转化来的,sda2对应(hd0,1) ,sd1对应(hd0,0) 等等!

chainloader (hd0,1)/EFI/Boot/bootx64.efi #这里的(hd0,1)的意义同上!

最后的grub.conf文件内容,也就是改成如下样子:

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition. This means that

# all kernel and initrd paths are relative to /boot/, eg.

# root (hd0,9)

# kernel /vmlinuz-version ro root=/dev/sda11

# initrd /initrd-[generic-]version.img

#boot=/dev/sda2

device (hd0) HD(2,1f4800,82000,f5ca45c0-7ee8-4b19-b521-5404b3964deb)

default=1

timeout=9

splashimage=(hd0,9)/grub/splash.xpm.gz

hiddenmenu

title CentOS (2.6.32-431.el6.x86_64)

root (hd0,9)

kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=UUID=87a7c08d-411b-4b4c-b35f-8fb72b7c1776 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

initrd /initramfs-2.6.32-431.el6.x86_64.img

title Windows 8 (Simple Chinese X64)

menuentry "Windows 8 (loader)"

root (hd0,1)

chainloader (hd0,1)/EFI/Boot/bootx64.efi



推荐阅读
author-avatar
台艾辉_435
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有