linux下在grub.cfg中配置win7启动引导
来源:互联网 发布:java tar打包代码 编辑:程序博客网 时间:2024/05/16 20:30
本人电脑原本是安装win7 64位,后来装双系统加入linux在F盘独立分割一个G的盘给他用
当安装后发现进入界面只有 linux儿没有win7 选项,默认直接进入linux,无法进入win7!所以需要进入grub.cfg中配置文件。原因应该是引导文件被破坏~
cd boot/grub
ls (可以看到grub.cfg 文件,此时权限为—r-r-r )
sudo chmod 777 grub.cfg 改变文件权限为可编辑状态
ll (即可查看文件权限为全打开)、
vi grub.cfg (进入编辑文件状态)
(快捷键 进入vi编辑界面 ,按大写的 G ,则快速跳转到最后一行)
本文就截取需要插入的配置文本 如下:(大家仔细对照自己的grub.cfg文件,就可以发现少掉了或者和中间的部分方法不同,改为相同即可)
### END /etc/grub.d/10_linux ###
### BEGIN /etc/grub.d/10_lupin ###
### END /etc/grub.d/10_lupin ###
### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###
### BEGIN /etc/grub.d/30_os-prober ###
menuentry 'Windows 7 (loader) (on /dev/sda1)' --class windows --class os $menuentry_id_option 'osprober-chain-BA484E09484DC53B' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 BA484E09484DC53B
else
search --no-floppy --fs-uuid --set=root BA484E09484DC53B
fi
parttool ${root} hidden-
chainloader +1
}
set timeout_style=menu
if [ "${timeout}" = 0 ]; then
set timeout=10
fi
### END /etc/grub.d/30_os-prober ###
### BEGIN /etc/grub.d/30_uefi-firmware ###
### END /etc/grub.d/30_uefi-firmware ###
### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###
### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
修改完成后 输入 wq! 保存并退出~
然后将grub.cfg权限改回
sudo chmod 444 grub.cfg
重启即可
以下为个人转的一篇博客,大家可以参考:
Ubuntu的启动配置文件grub.cfg(menu.lst)设置指南
奶牛用的第一个ubuntu版本是9.04,那时候启动配置文件还是menu.lst,到了ubuntu9.10的时候就更名为grub.cfg了,ubuntu 10.04依旧沿用的是grub.cfg,但是这个文件的内容变更并不是那么大。在ubuntu中,grub.cfg(menu.lst)就相当于windows系统下的boot.inf文件,记录着一些启动配置信息,在这里奶牛为大家介绍一些简单的设置规则。
打开命令行, sudo gedit /boot/grub/grub.cfg (或者 sudo gedit /boot/grub/menu.lst)打开grub.cfg文件
在### BEGIN /etc/grub.d/00_header ###后面的部分主要记录了一些启动默认信息。
在
if [ -s $prefix/grubenv ]; then
load_env
fi
set default="0"
这句中,default="0"表示从启动项中的第一个系统进行启动(就是那个默认的ubuntu),这里顺序是从0开始。例如:如果你想把启动项中的第五个选项作为默认的启动项,那么这里把数字0更改为4就可以了。
在
if [ ${recordfail} = 1 ]; then
set timeout=-1
else
set timeout=2
这句中,else后面的timeout是指那个等待时间,以妙作为单位,我们可以根据具体需要进行修改。
在### BEGIN /etc/grub.d/10_lupin ###后面的部分记录着启动选项的信息。
例如:
menuentry "Ubuntu, Linux 2.6.32-22-generic" {
insmod ntfs
set root=’(hd0,5)’
search –no-floppy –fs-uuid –set 0e9ca6229ca60475
loopback loop0 /ubuntu/disks/root.disk
set root=(loop0)
linux /boot/vmlinuz-2.6.32-22-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash
initrd /boot/initrd.img-2.6.32-22-generic
}
这是奶牛的ubuntu系统的第一个启动选项,第一行显示的是ubuntu的名称Ubuntu, Linux 2.6.32-22-generic,引号内的内容可以任意修改, insmod ntfs是载入模块信息,例如insmod jpeg可以添加jpg支持,如要使用png或tga 文件做背景,加上 insmod png或insmod tga,。set root=’(hd0,5)’这里很关键,这里是记录系统从那个分区启动,这里的顺序可能与你在windows下看到的顺序有所不同,因为windows下系统分区顺序是根据分区号来的,而分区号可以任意更改,而这里是物理意义上的顺序,你可以通过在终端中输入df命令查看挂载分区信息。这里hd0是指第一块物理硬盘,顺序也是从0开始,后面的5是指第6个分区,顺序也是从0开始排。讲到这里,那些在安装完ubuntu之后却没有windows启动选项的朋友们应该找到些思路了吧,对,我们就可以利用这个信息进行添加,比如我们可以添加
title Windows XP
root (hd0,0)
makeactive
chainloader +1
表示从第一块儿硬盘的第一个分区进行启动widows xp系统。
linux /boot/vmlinuz-2.6.32-22-generic root=/dev/sda5 loop=/ubuntu/disks/root.disk ro quiet splash
在这句中,splash表示闪屏,如果你不喜欢开机看到那个ubuntu的logo界面,你可以删除splash这个单词,这样ubuntu就不会以文字模式启动。
最后我在附加一个windows 7的默认启动选项
menuentry "Windows 7 (on /dev/sda1)" {
insmod ntfs
set root=’(hd0,1)’
search –no-floppy –fs-uuid –set 44c07536c0752f74
chainloader +1
}
这里的search –no-floppy –fs-uuid –set 44c07536c0752f74是设定uuid=****的分区为root,和上句set root=’(hd0,1)’重复,可删除。
grub.cfg(menu.lst)的设置奶牛就介绍到这里,希望对大家有所帮助。
文章二
补充 ubuntu中的
==============================================================================
default 0
timeout 3
hiddenmenu
title Ubuntu 9.04, kernel 2.6.28-11-generic
uuid bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel /vmlinuz-2.6.28-11-generic root=UUID=5e0cc8d2-2b7f-41a5-aa58-acc670569b5f ro quiet splash
initrd /initrd.img-2.6.28-11-generic
quiet
title Ubuntu 9.04, kernel 2.6.28-11-generic (recovery mode)
uuid bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel /vmlinuz-2.6.28-11-generic root=UUID=5e0cc8d2-2b7f-41a5-aa58-acc670569b5f ro single
initrd /initrd.img-2.6.28-11-generic
title Windows 95/98/NT/2000
root (hd0,0)
makeactive
chainloader +1
title Ubuntu 9.04, memtest86+
uuid bb77114e-07a7-44a4-9345-4cc9f6e25296
kernel /memtest86+.bin
quiet
==============================================================================
上面的选项的作用:
(1)default 0:此选项是在默认的情况下,GRUB启动哪个操作系统,如果装了多个操作系统,GRUB能够指定默认是启动那个操作系统。如果是0,则默认启动第一个(最上面的)的操作系统;如果是1,则默认第二个,以此类推。
(2)timeout 3:超时时间,单位是秒,在此时间内如果用户没有进行任何操作,那么将启动default指定的操作系统,如果是正数,则此等待时间规定为秒数,如果是 0,则立刻进入指定操作系统,如果是负数,则进入GRUB的程序界面,一直等待用户选择进入指定的操作系统。
(3)hiddenmenu:表示隐藏GRUB的程序界面,在Ubuntu系统中,默认情况下GRUB的程序界面是隐藏的,如果想显示,则需要按提示按下Esc键。
(4)title Ubuntu 9.04, kernel 2.6.28-11-generic:表示出现在GRUB程序界面中的字符串,这里可以是任何字符串,原则上都使用引导的操作系统的名称。
(5)root(hd0,1):这个是GRUB中分区的表示方法,GRUB程序中分区的表示方法与Ubuntu系统中的表示分区方法不同,在Ubuntu 中表示分区的方法如同hda1:其中h表示IDE硬盘,d表示设备,a表示第一个IDE设备中的主盘,1表示此硬盘的第一个主分区(具体分配信息请查阅其 他有关资料)。而在grub中是使用(hd0,1)的方式表示的,其中h表示IDE硬盘,d表示设备,0表示第一块IDE设备中的主盘,1表示此硬盘上的 第二个分区。因此在GRUB程序v中,硬盘的分区是从0开始的,而硬盘数也是从0开始的,如Ubuntu系统的hdb5在GRUB程序中就表示为 (hd1,4)。注意,前面的root表示的是操作系统的启动分区,而不是root目录。
(6)kernel:kernel及其后面的部分指定的是具体的内核文件,并且根据分区的挂载点和特性,后面指定了内核文件所在位置以及内核文件名,并且指明了跟目录所在的分区,并且将其以只读(ro)方式挂载。
(7)initrd:这部分是虚拟磁盘的文件名。
(8)chainloader+1:存在Windows操作系统的时候就会有这一项,这是Ubuntu采用的链式启动引导器,即表示启动分区有GRUB的启动分区直接下移到下一个位置(windows的引导位置)。
通过对GRUB的配置文件menu.lst的配置,可以很容易对启动的操作系统进行控制(在此文件中有大量#表示的详细说明)。
- linux下在grub.cfg中配置win7启动引导
- 在Linux下配置GRUB实现多系统引导
- linux 引导 启动 grub
- 怎样修复grub开机引导以及在Ubuntu中添加win7开机启动项
- GRUB在Windows分区中引导Linux
- GRUB在Windows分区中引导linux
- ubuntu14.0.4 和 win7 双系统 在重装 win7 后丢失Grub启动引导 修复
- Ubuntu下grub启动引导修改
- linux grub 引导启动过程详解
- linux grub 引导启动过程详解
- linux grub 引导启动过程详解
- linux grub 引导启动过程详解
- 【Linux】启动引导程序--grub及其配置文件
- GRUB启动过程分析 & GRUB 引导程序配置
- GRUB启动过程分析 & GRUB 引导程序配置
- GRUB启动过程分析 & GRUB 引导程序配置
- 【OpsDev】双系统之Linux下修复win7启动引导
- linux的引导流程grub的配置
- C++虚拟继承与普通继承的区别
- Wireshark软件使用教程(上部) 相关选项解释
- ios信息推送 异常 javax.net.ssl.SSLHandshakeException: Received fatal alert: handshak
- 【NPR】Unity3D非真实感渲染----铅笔画滤镜
- jquery整理
- linux下在grub.cfg中配置win7启动引导
- 深入理解java异常处理机制
- Codeforces Round #317 (Div. 2) (572A Arrays,572B Order Book)
- 对Linux堆内存释放的总结
- 学习软件专业的行话
- Design Support Library 轻松打造酷炫Android5.0风格
- Canvas——滑杆操控图片放大缩小
- 如何通过github提升自己
- Ubuntu 10.04上安装MongoDB