Grub多系统引导
- 格式:doc
- 大小:190.00 KB
- 文档页数:39
基于UEFI引导的win8.1和ubuntu13.10双系统安装1.前言UEFI引导的出现乃至变得火热让系统安装的问题变得复杂,尤其是在windows横空出世并针对URFI优化更是让其与ubuntu组成的双系统安装变得情况百出(顺带哀悼下由此退出江湖的wubi安装)。
最近花了一天多的时间完成了win8.1与ubuntu13.10基于UEFI引导的安装,在过程中遇到了一些问题,理解了一些硬件和软件架构,摸索了一个不算完美的解决方案,在此整理,希望能够帮助到需要的人。
实验环境:电脑——联想Y510P支持UEFI启动,N卡Windows——Windows8.1简体中文64位Ubuntu——Ubuntukylin13.10AMD64位2.UEFI boot与Legacy boot基本输入/输出系统(BIOS)是硬件和操作系统之间的一层。
UEFI与Legacy都是系统引导的技术,都是实现电脑在硬件开机之后找到操作系统过程中的引导。
Legacy boot是传统的引导方式,其引导基于驱动器上的主引导记录(MBR)。
通俗的解释,一次系统启动的流程为,硬件开启→BIOS自检→读入MBR→读取激活主分区→启动系统。
一些蛋疼的人们认为Legacy boot有一些他们不能容忍的缺点:1)无法直接引导超过2.2T的驱动器2)缺乏安全性验证3)启动时间慢于是他们加强了BIOS的功能,设计了UEFI boot模式(仅针对64位系统),可以解决上述的问题,于是MBR被抛弃了,引进了一个新的引导分区EFI,采用全局唯一标识分区表GPT来引导分区,下图中可以在硬盘管理中看到EFI系统分区。
另一方面,UEFI boot也提供了驱动、系统信息的临时储存,用于加快开机。
在引导的时候也提供了SecureBoot,禁止加载未知的系统(正中Windows下怀)。
UEFI boot与Legacy boot对于我们安装双系统的影响是两个系统需要使用同一引导模式。
使⽤Ubuntu原⽣的Grub2作为主引导,引导六个系统⽅法下⾯是Grub2引导各种系统的⽰例。
其实,⼤家有经验的话,光看⽰例,⾃⼰应该就懂怎么改了(注意:所引导的Mac系统是PC⿊苹果)。
我的Grub2配置⽂件列表(/boot/grub/grub.cfg):set default=0set timeout=3# Windows本地系统启动menuentry "Windows NT, XP/2003/Vista/Win7/Win8.1" {set root='(hd0,msdos1)'drivemap -s (hd0) ${root}chainloader +1# 对于NT6系统,也可以⽤:ntldr /bootmgr}# ⿊苹果本地系统启动menuentry "Mac OS X 10.8.5, Mountain Lion" {drivemap -s (hd0) (hd0,msdos7)linux16 (hd0,msdos5)/SysBackup/memdisk iso rawinitrd16 (hd0,msdos7)/wowpc.iso}# Ubuntu本地系统启动menuentry "Ubuntu Mate x86_64 3.11.0-12 generic" {search --no-floppy --set --label matebuntulinux /boot/vmlinuz root=LABEL=matebuntu rw quietinitrd /boot/initrd.img}# WindowsPE应急启动menuentry "Windows PE Boot" {linux16 (hd0,msdos5)/SysBackup/memdisk iso rawinitrd16 (hd0,msdos5)/SysBackup/win2k3pe.iso}# UbuntuLiveCD应急启动menuentry "Ubuntu LiveCD Boot" {loopback lo (hd0,msdos5)/SysBackup/flashback7e.isolinux (lo)/casper/vmlinuz boot=casper iso-scan/filename=/SysBackup/flashback7e.isoinitrd (lo)/casper/initrd.lz}# Mac变⾊龙应急启动menuentry "Mac Chameleon Boot" {drivemap -s (hd0) (hd0,msdos5)linux16 (hd0,msdos5)/SysBackup/memdisk iso rawinitrd16 (hd0,msdos5)/SysBackup/mac-wowpc.iso}# 内存颗粒损换检测menuentry "Memory test (memtest86+)" {linux16 /boot/memtest86+.bin}# 标准⼆进制可引导⽂件引导# menuentry "Grub for Dos" {# ntldr (hd0,msdos1)/grldr # }。
如何设置电脑的双系统引导在现代科技的进步下,越来越多人习惯使用多个操作系统,以便在不同的需求下进行工作、学习或娱乐。
而要使用多个操作系统,最常见的方式就是设置电脑双系统引导。
本文将介绍如何设置电脑的双系统引导,以实现操作系统的灵活切换。
1. 确定主要操作系统在设置双系统引导之前,首先需要明确你希望哪个操作系统作为主要操作系统。
主要操作系统通常是你最常用的操作系统,你将在该系统上安装其他操作系统,并通过引导菜单进行选择。
确定主要操作系统后,我们将在该系统上进行后续设置。
2. 备份重要数据在进行任何操作之前,备份重要数据是非常重要的。
设置双系统引导可能涉及磁盘分区和格式化等操作,这可能会导致数据丢失。
因此,在进行设置之前,请务必将重要数据备份到其他存储设备,以防止数据丢失。
3. 安装第二个操作系统在主要操作系统上安装第二个操作系统是实现双系统引导的第一步。
这可以通过以下步骤完成:(1)在计算机上安装第二个操作系统的安装介质,如Windows安装光盘或Linux安装U盘;(2)重启计算机,并按照屏幕上的提示进入安装程序;(3)在安装程序中选择自定义安装选项,以便指定安装目标磁盘分区;(4)为第二个操作系统分配足够的磁盘空间,并完成安装。
4. 使用引导管理工具安装第二个操作系统后,我们需要使用引导管理工具来设置双系统引导。
常用的引导管理工具包括Windows系统自带的引导管理器和第三方引导管理工具,如Grub。
(1)使用Windows引导管理器如果你的主要操作系统是Windows,你可以使用Windows引导管理器进行双系统引导的设置。
以下是具体步骤:a. 打开“控制面板”,选择“系统和安全”,然后选择“管理工具”;b. 双击“计算机管理”选项,选择“磁盘管理”;c. 在磁盘管理界面中,找到第二个操作系统所在的磁盘分区;d. 右键点击该磁盘分区,选择“标记为活动分区”;e. 重启计算机,你将看到Windows引导管理器显示双系统引导选项。
说明:1在Win7下成功安装XP双系统之后,每次开机时会出现开机选单,对要进入的系统进行选择,但是这个选单很不美观。
在经过几天对用各种方法制作多系统启动U盘的尝试之后,突发奇想,是不是可以把U盘多系统的启动方式嫁接到自己的小Y上呢?经过简单尝试,证明是可以的,而且会大大扩展开机选单的美观性,实用性,可自定义性。
准备的工具;Grub4DOS.rar FbinstTool.exeMsgDiyer.exe GfxIv3.5.exeBcdTool.exe1(这里需要说明一下,Win7下安装XP系统后,系统自动分出一个200M的分区(应该是启动项修复工具修复的结果),这个分区在XP系统下识别为C盘,在Win7下为其它盘符。
在这个199M的盘装着Win7-XP 双系统开机引导文件:)先把这个盘里的文件复制出来,作为备份。
然后可以把此盘内文件都删除了。
2grub4dos.rar解压后的内容是这样的,看右边截图。
用红圈圈起的几个文件是我们要用到的。
说明:grubinst_gui.exe : windows下安装grub的图形界面grldr : grub4dos加载器,启动的关键文件,英文版的menu.lst : grub4dos的引导菜单,可以用写字板打开编辑[chinese]文件夹里面的grldr是中文版的,支持中文引导菜单3.双击grubinst_gui.exe,得到下面的对话框,安装1,2,3,4,5顺序即可安装grub到硬盘的mbr。
注意选择硬盘不要选错了硬盘,看容量很容易能看出来,这里选择200M的。
点击安装后,正常的话会弹出命令行提示“The MBR/BS has been successfully installed……”,表明安装成功。
4.然后把grldr,menu.lst文件复制到C盘根目录。
(如果你需要中文菜单,记住要复制chinese文件夹里的grldr文件。
)(这里还要说明一下:本人制作的时候,是用FbinstTool.exe从U盘多系统中提取的.fba包中提取grldr,menu.lst和message,复制到C盘(199M的)5.从刚才备份的C盘文件中把以下文件复制回C盘:其中boot文件夹下保留内容:6.把一些用FbinstTool.exe从fba包中提取出来的实用小工具(。
RHEL开机时的先后顺序BIOS —> MBR —> Kernel —> init1、当电脑一打开电源时电脑就会进入BIOS(BIOS的工作主要是检测一些硬件设备);2、检测完后会进入MBR也就是boot loader(MBR位于硬盘的第一个扇区总共512bytes,其中前446bytes里面的编码是在选择引导分区也就是决定要由哪个分区来引导);3、载入系统的Kernel(核心),在Kernel里主要是载入电脑设备的驱动程序,以便可以控制电脑上的设备,并且以只读方式来挂载根目录,也就是一开始只能读取到根目录所对应的那个分区,所以/etc、/bin、/sbin、/dev、/lib这五个目录必须同根目录在一个分区中;4、最后启动init这个程序,所以init这个程序的进程编号为1,是Linux中第一个执行的程序;init这个程序会根据Run level来执行以下这些程序:·/etc/rc.d/rc.sysinit;·/etc/rc.d/rc 和etc/rc.d/rc?.d/·/etc/rc.d/rc.local·如果有适当的图形界面管理程序二、BIOS初始化时主要的三个任务BIOS(B asic I nput/O utput S ystem)1、电脑周边设备的检测,加电自检POST (Power on self test);2、BIOS会选择要由哪一个设备来开机,例如:软盘启动、光盘启动、网络启动、最常见的从硬盘启动;3、选择好由哪个设备开机后,就开始读取这个设备的MBR 引导扇区;三、介绍Boot Loader中的主要工作1、Boot Loader可以安装在两个地方:·安装在硬盘的MBR中;·当有时候MBR中被其他开机管理程序占用就可以将Boot Loader 安装在硬盘中的其中一个分区的引导扇区上,;2、Boot Loader的程序码分为两个阶段:(1)Boot Loader第一阶段的程序码非常小,只有446bytes,可以存入在MBR或是某一个分区的引导扇区里,(2)Boot Loader第一阶段的程序码是从boot 分区来载入的,就是说Boot Loader 第二阶段程序码存放在/boot 这个分区中;3、下面来看三个Boot Loader 的开机流程范例,如在一块硬盘中安装了两个系统分别为:windows 2003 和Red hat linux当电脑开机后,会先载入MBR通过第一阶段程序码来载入第二阶段程序码,进入GRUB开机菜单这里选择哪个系统就会载入相应的核心;splashimage=(hd0,0)/grub/splash.xpm.gz开机时使用的背景图案,这里的(hd0,0)意思为(硬盘编号,分区编号)hiddenmenu隐藏开机的菜单(2)用于区分多个系统的设定,如果这台主机中还安装了其它系统并设定了多重启动,在这里还可以看到其它系统的设定;title Red Hat Enterprise Linux AS (2.6.9-11.EL)在GRUB开机菜单中所显示的开机的系统名称root (hd0,0)指定下面的档案位于哪个目录中,这个hd0,0 同样指的是用于指引导的目录,通常指/boot目录kernel /vmlinuz-2.6.9-11.EL ro root=LABEL=/ rhgb quiet设定kernel镜像的存放位置,这个位置相对于上面root 那一行所指定的位置的相对位置,ro root=LABEL=/ 是设定/在根目录的位置,ro是只读的意思,也就是以只读方式挂载根目录,也可以使用root=/dev/hda2 类似于这种形式来挂载根目录;rhgb 意思是以图形界面显示开机过程,去掉则以文字界面显示;quiet 意思是设定开机过程中不显示错误信息;initrd /initrd-2.6.9-11.EL.img 将这个指定的文件载入到内存中,这个文件里都是存放一些驱动程序;3、如果我们修改完grub.conf 这个配置文件后,设定为立即生效;4、另外,如果硬盘上的MBR被清除掉了,可使用下面的指令来重新安装boot loader 到MBR中:/sbin/grub-install /dev/hda5、介绍进入GRUB的开机管理程式可以做哪些动作(开机前改Kernel的参数)(1)开机后在进入GRUB界面后,先选择要使用的系统(这里选择Linux)(2)按下a键,可以在开机修改Kernel的参数,也就是可以传一个参数给Kernel;这时可以看到下面这个界面(3)上图中root=LABEL=/ 这部分不可以动,将后面的都去掉后,先输入一个空格再输入一个1,如下图:这个1 就是附加的一个参数,表示要进入单用户模式,不需要输入root密码就可以以root 身份登录;(4)当进入到#提示字元时,就可以设定root 密码了。
如何设置电脑的多重启动系统多重启动系统的设置方法在日常使用电脑的过程中,我们可能会需要安装多个操作系统,比如Windows和Linux。
为了方便切换和使用不同的操作系统,我们可以设置电脑的多重启动系统。
本文将介绍如何进行多重启动系统的设置。
一、准备工作在进行多重启动系统的设置之前,我们需要做一些准备工作。
首先,确保你已经备份了重要的数据,因为设置多重启动系统可能会对你的硬盘进行分区操作,有一定的风险。
其次,准备一个可启动的安装盘或U盘,里面需要有你想要安装的操作系统的安装文件或映像文件。
最后,确保你已经了解了每个操作系统的安装要求和步骤。
二、分区硬盘在设置多重启动系统之前,我们需要在硬盘上分区。
这样可以将不同的操作系统安装在不同的分区中,互不干扰。
一般来说,我们可以使用Windows自带的磁盘管理工具来进行分区操作。
1. 打开磁盘管理工具,在Windows中可以通过按下Win + X键,然后选择“磁盘管理”来打开。
2. 在磁盘管理中,找到你想要分区的硬盘,在其上点击鼠标右键,选择“收缩卷”。
3. 在弹出的对话框中,输入你要收缩的空间大小。
根据你的实际需求来确定,一般建议为新的操作系统分配至少50GB的空间。
4. 完成收缩后,你会在磁盘管理中看到一个新的未分配空间。
5. 右键点击这个未分配空间,选择“新建简单卷”,按照向导完成新分区的设置。
三、安装操作系统在完成硬盘分区之后,我们可以开始安装操作系统了。
这里以Windows和Linux为例。
1. 插入Windows安装盘或U盘,重启电脑。
2. 在启动时,按下相应的按键(通常是Del、F2、F12等)进入BIOS设置界面。
3. 在BIOS设置界面,将启动顺序调整为从光驱或U盘启动。
4. 保存并退出BIOS设置界面,电脑将从安装盘或U盘启动。
5. 按照Windows安装向导的提示,选择分区并进行安装。
6. 安装完成后,重启电脑。
7. 插入Linux安装盘或U盘,重启电脑。
Grub —菜单多系统grub引导# vi /etc/grub.conf<Enter> // Grub的配置文件# 第一个title标记的操作系统将引导default=0# 十秒之内用户没有作出选择的话,将以默认的选项操作系统引导timeout=10# 背景图片路径splashimage=(hd0,0)/grub/splash.xpm.gz# title标记,后面的内容在GRUB菜单中被显示title Red Hat Linux (2.4.18-14)# 从哪个分区引导操作系统,即GRUB定位分区操作系统root (hd0,0)# 指定分区中给出内核的路径,以便引导系统kernel /vmlinuz-2.4.18-14 ro root=LABEL=/# 系统镜像文件路径initrd /initrd-2.4.18-14.imgtitle Dos# 从特定分区使用链式的引导方式rootnoverify (hd0,1)chainloader +1# sync<Enter> // 磁盘同步# reboot<Enter> // 重启若不想安装GRUB,使用Windows的OS loader步骤如下1.linux下,备份MBR# dd if=/dev/hda2 of=/bootsect.lnx bs=512 count=12.将bootsect.lnx复制到Windows boot.ini所在的分区3.编辑boot.ini文件,加入C:\bootsect.lnx=”LINUX”多系统lilo引导1.拷贝示例文件# cp /etc/lilo.conf.anaconda /etc/lilo.conf2.编辑配置文件# vi /etc/lilo.confPrompt # 若没指定,LILO将立即引导缺省作系统timeout=50 # 超时时长为50秒default=linux # 缺省操作系统boot=/dev/hda # 将LILO安装在MBR,作为主引导管理器map=/boot/map # 指定“map”文件为/boot/mapinstall=/boot/messagelinear# 设置包含linux核心引导映像的文件或设备。
ONE DAY TEST PLANTEST-1摘要: GRUB是多系统引导管理器,简单的说既能引导Linux,同时也能引导Windows;从讨论区近四年的观察来看,大多初学者并不能在短时间内掌握GRUB 的用法,为了解决初学者在最短时间内掌握GRUB,重写GRUB入门文档还是有必要的;本文重点介绍了GRUB的menu.lst的写法,另外通过GRUB命令行引导系统也做了详述;这些无论是对Windows版本的WINGRUB还是Linux版本的GRUB都是适用的;一、什么是多重操作系统引导管理器,什么是GRUB;1、什么是多重操作系统引导管理器及工作原理;系统启动引导管理器,是在计算机启动后运行的第一个程序,他是用来负责加载、传输控制到操作系统的内核,一旦把内核挂载,系统引导管理器的任务就算完成退出,系统引导的其它部份,比如系统的初始化及启动过程则完全由内核来控制完成;Briefly, boot loader is the first software program that runs when a computer starts. It is responsible for loading and transferring control to the operating system kernel software (such as the Hurd or the Linux). The kernel, in turn, initializes the rest of the operating system (e.g. GNU).在X86 架构的机器中,Linux、BSD 或其它Unix类的操作系统中GRUB、LILO 是大家最为常用,应该说是主流;Windows也有类似的工具NTLOADER;比如我们在机器中安装了Windows 98后,我们再安装一个Windows XP ,在机器启动的会有一个菜单让我们选择进入是进入Windows 98 还是进入Windows XP。
NTLOADER就是一个多系统启动引导管理器,NTLOADER 同样也能引导Linux,只是极为麻烦罢了;在Powerpc 架构的机器中,如果安装了Linux的Powerpc 版本,大多是用yaboot 多重引导管理器,比如Apple机目前用的是IBM Powerpc处理器,所以在如果想在Apple机上,安装Macos 和Linux Powerpc 版本,大多是用yaboot来引导多个操作系统;因为目前X86架构的机器仍是主流,所以目前GRUB和LILO 仍然是我们最常用的多重操作系统引导管理器;2、什么是GRUB;为什么我要选择GRUB;1)什么是GRUB;GNU GRUB 是一个多重操作系统启动管理器。
GNU GRUB 是由GRUB(GRand Unified Bootloader)派生而来。
GRUB 最初由Erich Stefan Boleyn 设计和应用;GNU GRUB is a Multiboot boot loader. It was derived from GRUB, GRand Unified Bootloader, which was originally designed and implemented by Erich Stefan Boleyn.2)“GRUB太不好用”──对GRUB的认识的误区;GRUB真的不好用吗?不是的,通过 社区近四年来的运行,我发现了大多新手弟兄还是不太了解GRUB;当然这也有中文Linux社区的责任,虽然也有GRUB的中文译本,初学Linux的弟兄可能有点看不懂;我们欣喜的看到 社区的好多弟兄都曾经或正在写GRUB实践文档,也有的弟兄也总结了GRUB的一些基础知识,比如probing兄弟的《GRUB 学习笔记》;由于每个人的写文档时风格不同,可能同一份文档不同的人来写就有不同的风格;所以今天也抖胆也一篇入门级的教程,由于北南不会写高级教程,所以还得请高手弟兄指教,先谢过;3)为什么要选择GRUB;基于在X86架构的CPU而开发操作系统,系统引导管理器不仅仅有GRUB ,而且也有LILO,但对于多重系统引导管理器,你只能选择其一而用;不能两个同时使用;目前这两个多重系统引导管理器是大家最常用的,也是主流Linux发行版而采用的;有的弟兄喜欢GRUB,比如我个人,有的弟兄喜欢LILO ,比如etony兄(谁是etony,请参见 );主流发行版Fedora、Redhat、Centos等基于RPM包的系统,在最新版本中都默认GRUB 引导;Slackware 目前仍采用LILO;而Debian发行版目前最新的版本也是采用GRUB;从目前看来,GRUB有逐渐取代LILO之势,GRUB 2.0正在开发之中;所以我们有理由用GRUB,我也有理由写GRUB使用教程;二、GRUB软件包版本选择和安装;1、GRUB的版本选择,Linux版本的GRUB及Windows版本的GRUB的说明;GRUB不但有Linux版本,也有Windows版本;现我们一一介绍;如前面所说,目前在在Unix类的操作系统中,大多是都有GRUB;GRUB几乎能引导所有X86架构的操作系统;功能之强,使用简单是GRUB最大的卖点;由于Windows 操作系统的先入为主的优势,使得大家对Windows的NTLOADER了解的比较多,而对开源社区的GRUB显得有点寞生,由此而带来使用上的“心理恐惧”;究其初学者对GRUB“恐惧”的主要原因还是对GRUB没有太多的了解和深入;无论是WINGRUB还是Linux版本的GRUB,最方便的还是对GRUB命令行的操作;一谈到命令行(Command)的操作,可能初学者对此恐惧;其实没有什么难的,象北南这样低级的写手,还能操作得起来,您也应该能行;2、GRUB的Windows版本WINGRUB;请参考:《以WINGRUB 引导安装Fedora 4.0 为例,详述用WINGRUB来引导Linux的安装》3、GRUB的Linux版本软件包的安装;其实对于Linux的GRUB,几乎所有的Linux主流发行版都有打包,如果您安装了Linux,并且在开机后出现GRUB字样的,证明您已经安装了GRUB;而无需再次安装;Linux的GRUB软件包安装部份并不是本文的重点;如果您的Linux系统没有安装GRUB,或者采用的是LILO,而您想用GRUB,可以用系统安装盘自带GRUB软件包来安装,或者到相关发行版本的软件仓库下载后安装;GRUB 的Linux版本目前在各大发行版中都有打包;比如Fedora/Redhat/Centos/Mandrive/Mandriva/SuSE等以RPM包管理机制的系统,可以通过如下的命令来安装;请参考《Fedora / Redhat 软件包管理指南》[root@localhost ~]# rpm -ivh grub*.rpm如果是Slackware 您可以用如下的办法来安装;[root@localhost ~]# installpkg grub*.tgz其它的发行版本请用其自己特色的软件包管理工具来安装;当然您也可以通过源码包,在任何Linux的发行版上安装;至于源码包的安装方法;请参考:《如何编译安装源码包软件》[root@localhost ~]#tar zxvf grub*.tar.gz[root@localhost ~]#cd grub-xxx[root@localhost ~]#./configure;make;make install确认您是否成功安装了GRUB,您可以测试是否有如下两个命令;[root@localhost ~]# grub[root@localhost ~]# grub-install如果您不能找到这两个命令,可能您的可执行程序的路径没有设置;请参考:《设置可执行程序路径》,当然您可以用绝对路径;比如下面的;[root@localhost ~]# /usr/sbin/grub[root@localhost ~]# /usr/sbin/grub-install如果您还是找不到GRUB软件包安装在哪了;您可以用下面的命令来解决和查找;[root@localhost ~]# updatedb 注:这个要花很长时间;是索引slocate 的库,然后再通过locate来查找;[root@localhost ~]# locate grub比如找到的是有类似如下的;[root@localhost ~]# locate grub/sbin/grub-md5-crypt/sbin/grub/sbin/grub-install/sbin/grub-terminfo在一般情况下,在路径中带有bin或sbin中字样的,这些路径下都是可执行程序;sbin 是超级权限用户才能使用的管理命令;要使用这些命令一般的情况下得切换到root用户下才能使用;比如[beinan@localhost ~]$ su - 注:切换到root用户,并且切换到其家目录;Password:[root@localhost ~]#/sbin/grub 注:用绝对路径来运行grub命令;三、在Linux中,GRUB的配置中的安装和写入硬盘的MBR;1、在Linux中,GRUB配置过程中的安装grub-install;grub-install 命令有何用呢?其实就是把我们前面已经安装的软件包中的一些文件复制到/boot/grub中;对于新安装GRUB软件包后,也是一个必经的过程;我们前面所说的GRUB 软件包的安装;而现在我们说的是GRUB配置的过程中的安装;虽然在洋文中都是install ,但表达的意思是不一样的;我们首先要运行fdisk -l 来确认到底是硬盘的标识;这个过程主要是确认硬盘的标识是哪个调备,到底是/dev/hda还是/dev/hdb 还是其它的;[root@localhost ~]# fdisk -lDisk /dev/hda: 80.0 GB, 80026361856 bytes255 heads, 63 sectors/track, 9729 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesDevice Boot Start End Blocks Id System/dev/hda1 * 1 970 7791493+ 7 HPFS/NTFS/dev/hda2 971 9729 70356667+ 5 Extended/dev/hda5 971 2915 15623181 b W95 FAT32/dev/hda6 2916 4131 9767488+ 83 Linux/dev/hda7 4132 5590 11719386 83 Linux/dev/hda8 5591 6806 9767488+ 83 Linux/dev/hda9 6807 9657 22900626 83 Linux/dev/hda10 9658 9729 578308+ 82 Linux swap / Solaris如果通过fdisk -l 出现有/dev/hda字样的,我们就要用下面的命令来安装;[root@localhost ~]# grub-install /dev/hdaInstallation finished. No error reported.This is the contents of the device map /boot/grub/device.map.Check if this is correct or not. If any of the lines is incorrect,fix it and re-run the script `grub-install'.(fd0) /dev/fd0(hd0) /dev/hda如果是您fdisk -l 出现的有/dev/hdb呢,那就如下运行;[root@localhost ~]# grub-install /dev/hdb如果既有/dev/hda和/dev/hdb 就安装到/dev/hda中;[root@localhost ~]# grub-install /dev/hda值得注意的是如果您有一个/boot分区,应该用如下的办法来安装;[root@localhost ~]#grub-install --root-directory=/boot /dev/hda[root@localhost ~]#grub-install --root-directory=/boot /dev/hdb注解:具体是/dev/hda还是/dev/hdb,请以fdisk -l 为准;如果两个都有,就看您把/boot分区是放在第一块硬盘还是第二块硬盘上了,以实际情况为准;2、设定GRUB的/boot分区并写入MBR;;在Linux中,GRUB软件包的安装,及在配置过程中安装grub到/boot中还是不够的,还要把GRUB,写入MBR才行;有时我们重新安装了Windows,Windows会把MBR 重写,这样GRUB就消失了;如果您出现这样的情况,就要进行这个过程;[root@localhost ~]# grub会出现grub>提示符,这是grub命令行模式,如果能在开机中出现提示符,没有引导不起来的系统,除非您的系统破坏的极为严重。