`
provista
  • 浏览: 121828 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

系统启动备忘 + windows 7 / XP / linux三系统共存的方案(转)

阅读更多
MBR为WIN7/VISTA的系统光盘写入的情况下,MBR会找bootmgr文件的,所以,为了让grub接管下面的步骤,就可以让grub的grldr改名为bootmgr,当然同时将WIN7的bootmgr改为其他名字,比如bootmgrw,接下来就可以在grub要查找的menu.lst里写启动项了。如下:

引用
title Microsoft Windows 7 Ultimate
find --set-root /bootmgrw
chainloader /bootmgrw
boot

##接下来是引导linux的选项。
title Ubuntu 8.04 LTS, kernel 2.6.24-16-generic
root (hd0,9)
kernel /boot/vmlinuz-2.6.24-16-generic root=UUID=F71FBE6E-6D19-4BAD-B782-F729B774FD1D ro quiet splash
initrd /boot/initrd.img-2.6.24-16-generic
quiet


那么以后在安装ubuntu的时候就注意不要写入主引导记录(MBR)了,手动修改上述C盘的grub文件menu.lst即可。


以下为转载
今天我们一起来探讨如何让这三个系统和谐共处。

由于系统内核不同,它们引导方式也不尽相同,系统一般启动顺序是这样的:
1.按下电源按钮,计算机首先运行Power OnSelf Text(POST),加电自检;
2.将MBR(硬盘主引导记录)调入内存,接着开始查找活动分区和主引导扇区;
3.将控制权交给引导程序;
4. 列出操作系统选择菜单,根据不同选择进入各自系统,完成各自初始化操作。对于XP来说,它的MB R是NT52格式引导记录,引导程序则是活动分区下的NTLDR文件,接着NTLDR通过读取c:\boot.ini配置文件,并列出操作系统供用户选择进入。对于Vista、Windows 7来说,它的MBR是N T60格式引导记录,引导程序则是活动分区下的BOOTMGR文件,接着BOOTMGR读取c:\boot\bcd配置文件列出操作系统供用户选择。

   对于Ubuntu来说,它的MBR是GRUB格式引导记录,引导程序则是活动分区下的GRLDR,它会读取Ubuntu安装分区下的“/boot /grub/menu.lst”文件,列出操作系统选择菜单。由于Ubuntu8.01开始会自动读取原来X P系统引导菜单,因此对于使用正常的先XP后Ubuntu用户,在安装Ubuntu后Grub会将引导记录写入硬盘。自检后读取的是G RUB的MBR,它会读取Ubuntu安装分区下的“/boot/grub/menu.lst”文件,列出操作系统选择菜单。在列出的启动菜单如果选择 “MicrosoftWindowsXPProfessional”则将引导权交给“c:\ntldr”,完成XP的启动。如果选择“Ubuntu 8.10 kernel 2.6.27-7-generic”,则开始引导Ubuntu。Ubuntu首先使用kernel命令装载Linux内核,接着使用initird进行Ubuntu系统初始化。

   从上可以看出,引导故障的出现主要就是由于引导记录和引导程序不同导致的。比如,对于先Ubuntu后XP的安装,安装了XP后会将引导记录更改为N T52,导致安装后只能进入XP,同样故障也发生在先Windows 7后XP安装情况下。因此三系统正确安装程序应该是:先Windows XP,接着Windows7,最后Ubuntu。

   这样可以保证正常的引导。不过由于Ubuntu不会自动读取BOOTMGR引导信息,即使最后安装Ubuntu,我们也需要进入Ubuntu添加BOOTMGR的引导才能修复三系统的引导。

   对症下药解决常见引导故障从启动流程图可以看到,整个的引导实际上是一个多级嵌套的引导过程,一级是GRUB主引导记录启动,二级是grub引导Ubuntu和BOOTMGR,三级则是BOOTMGR引导XP和Windows 7。

故障1:开机没有出现正常的GRUB启动,三个系统都无法进入从流程图可以知道,这时由于系统GRUB主引导记录被破坏导致。常见的原因是由于系统感染了引导记录病毒,或者自行对引导记录进行错误编辑所致。由于本地硬盘系统已经无法启动,要恢复GRUB主引导记录,可以借助Ubuntu的系统光盘启动进行修复。


第一步:进入BIOS将光驱设置为第一启动,插入Unbuntu安装光盘启动电脑,在启动界面选择“试用Ubuntu而不改变计算机中的任何内容”,用光盘启动系统。

第二步:进入光盘启动的Ubuntu后,单击桌面上方的“application→附件→终端”。启动终端后依次输入下列命令重写MBR,
sudo grub
root (hd0,5)
setup (hd0)
quit

第三步:当屏幕提示“succeeded”则表示成功写入MBR,此时重启系统就可以恢复原来的启动了。

故障2:可以启动系统,但只能进入Ubuntu,没有显示“启动到Windows 7”菜单如果开机可以顺利进入Ubuntu,这说明硬盘M BR并没有损坏。从流程图可以知道,这是由于menu.lst菜单丢失,或者进行错误编辑所致。解决方法是在Ubuntu编辑menu.lst,重新添加 BOOTMGR启动项即可。

第一步:由于Ubuntu对重要系统文件采取保护措施,这里先要取得menu.lst完全读取权限。进入Ubuntu桌面后,单击桌面上方的 “application→附件→终端”。启动终端后输入“sudo chmod 777 /boot/grub/menu.lst”,按提示输入管理员账户密码更改权限。

第二步:单击桌面上方的“application→附件→文本编辑器”,启动程序后单击“文件→打开”,打开“/filesystem/boot /grub/menu.lst”文件,在文中“end defaultoption”下添加如下内容并保存即可,这样重启后就可以修复了。
title 启动到Windows 7
root (hd0,0)
savedefault
makeactive
chainloader +1

故障3 : 可以启动系统,但只能进入BOOTMGR启动,无法进入Ubuntu这种情况大多出现在安装Ubuntu后,用户又使用原来gho备份恢复系统所致(或者重装 Windows 7)。由于恢复更改了硬盘MBR,导致无法使用Grub引导Ubuntu。因此解决的方法是重新添加Ubuntu启动。因此也可以使用上述方法进行修复,如果没有Ubuntu光盘,可以直接在XP下进行Ubuntu启动的添加。

第一步:到http://download.gna.org/grub4dos/grub4dos-0.4.4.zip下载grubdos,下载后将其中的grldr复制到c:\,打开“c:\boot.ini”,在文件最后添加如下启动项:C:\grldr=启动到Ubuntu

第二步:用记事本在C盘新建一个menu.lst文件,代码如下(#后为注释无需输入):
Title Ubuntu
# grub中0-3为主分区,Ubuntu安装在第二逻辑分区,所以分区标示为(hd0,5)root (hd0,5)
#加载位于第二逻辑分区boot目录下的内核(加载简体中文语言文件)并进行初始化,启动设备是hda6,在Ubuntu中1-4是主分区序号
Kernel (hd0,5)/boot/vml inuz-2.6.27.7-generic root=/dev/hda6 ro local=zh_cn quiet
splash
Initrd (hd0,5)/boot/initrd.img-2.6.27.7-generic
quit

第三步:重新启动系统,在XP系统中显示的多重启动菜单选择“启动到Ubuntu”即可引导进入Ubuntu操作系统了。

故障4:开机选择“启动到Windows 7”后,无法进入任何系统,屏幕提示BOOTMGR丢失

   从启动流程图可以看到, 这是在BOOTMGR三级引导中出现的启动故障,其实就是“XP+Windows 7”双系统启动故障了。故障看上去和上述“故障2”类似。实际上前面故障修复的前提是假设“XP+Windows 7”双系统启动文件没有受损。现在的故障则是由于BOOTMGR启动文件受损所致。

   由于误操作删除重要启动文件BOOTMGR,导致无法加载多重启动菜单,但是仍可进入Ubuntu,因此可以在Ubuntu中进行修复。只要把启动文件BOOTMGR重新复制到活动分区下即可,文件可从Windows 7安装光盘中获取。

第一步:如果活动分区是FAT32格式,在Ubuntu单击桌面“untitled folder”,打开Ubuntu文件浏览器,单击上方的“computer”按钮,打开类似Windows资源管理器界面,按提示插入Windows7 光盘,复制其中的BOOTMGR到C:\下即可。

第二步:对于采用NTFS格式系统分区,我们需要手动加载NTFS驱动。同上,启动终端后输入“sudo mount -tntfs-3g /dev/hda1/media/hda1 -oforce”,命令的意思是将NTFS分区hsda1加载到/media目录,这是可以读写的加载。操作同上,将提取的BOOTMGR文件复制到 /media目录即可。

故障5:开机选择“启动到Windows 7”后,显示Windows 7+XP的多重启动菜单,但是却无法进入任何一个操作系统从上面流程图可以可知道,这个原因主要是由于c:\bbot\bcd启动配置文件受损或者丢失所致。解决方法是重置BCD配置文件。具体可使用Windows7安装光盘的自动修复功能。

第一步:准备winbdows 7安装光盘启动电脑,在出现启动提示时按下任意键光盘启动。在出现的安装界面单击左下角的“修复计算机”,接着在出现的操作系统列表选择Windows 7,继续单击“下一步”,在“系统恢复选项”窗口,单击“启动修复”,按屏幕提示完成修复。

第二步:重启后进入Windows7后,从网上搜索并下载运行Easybcd,然后切换到“Add/RemoveEntries”,在“Addaentry”下切换到“Windows”,按提示添加WindowsXP启动,这样就修复“XP+Windows 7”双系统启动。不过由于使用上述的修复命令,硬盘主引导记录又会变成NT60,接下来只要添加Ubuntu启动即可。具体可参考上述“故障3”的介绍。

故障6:可以显示多重启动,但是只能进入Windows 7或者XP中的一个系统这种故障的主要是由于BCD配置文件会受损所致,由于我们仍然可以进入其中一个系统,只要使用前面介绍的Easybcd添加另外一个系统的启动即可。

Tips
  本文Ubuntu主要是介绍使用独立分区安装,GRUB引导文件和Ubuntu内核默认安装在ext3分区,在Windows下是无法访问的,因此 windows下操作并不会删除Ubuntu启动文件。这里只要添加Ubuntu启动入口即可。即使是正常三系统,我们也可以使用上述方法,把 Ubuntu启动迁移到boot.ini中。

Tips
   命令中的(hd0,5)为安装Ubuntu分区,(hd0,5)是指第一硬盘的第二逻辑分区。在GRUB中,主分区编号是0~3,扩展分区中的逻辑分区从(hd0,4) 开始。如果你不记得Ubuntu在哪个分区,也没有问题。可以先输入“ find /boot/grub/stage1”查找,然后再输入“setup(hd0)”写入即可。

写在最后
   三系统的启动故障比较复杂,出现的情况也多种多样。最后我们总结一下一般修复思路。由于ubuntu和windows7系统安装光盘均具备修复功能。因此首先要准备这些修复光盘,其次要了解三系统的启动流程,在出现故障的时候,能够根据故障表现判断出产生的可能原因,然后对症下药解决即可。一般来说如果三个系统都无法进入,则要使用ubuntu光盘添加grub启动,如果可以进入其中一个系统,则可以在这个系统中对其他系统进行手动修复操作。
  • 大小: 23.5 KB
  • 大小: 13.9 KB
分享到:
评论

相关推荐

    备忘录系统(源码+项目说明).zip

    备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统(源码+项目说明).zip备忘录系统...

    基于C++的网页版备忘录系统源码+项目说明.zip

    基于C++的网页版备忘录系统源码+项目说明.zip基于C++的网页版备忘录系统源码+项目说明.zip基于C++的网页版备忘录系统源码+项目说明.zip基于C++的网页版备忘录系统源码+项目说明.zip基于C++的网页版备忘录系统源码+...

    基于C++的网页版备忘录系统开发源码+项目说明.zip

    基于C++的网页版备忘录系统开发源码+项目说明.zip基于C++的网页版备忘录系统开发源码+项目说明.zip基于C++的网页版备忘录系统开发源码+项目说明.zip基于C++的网页版备忘录系统开发源码+项目说明.zip基于C++的网页版...

    基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip

    基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip 基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip 基于SpringBoot+Vue的备忘录系统源码+sql数据库(课程大作业).zip 【资源说明】 项目...

    Win7/Vista/XP资源管理器多标签QTtab

    浏览器中的多标签(Tab)功能非常受欢迎,但是你有没有想过在资源管理器Windows Explorer中使用Tab方式来管理文件呢? 目前有一些多标签的文件管理器软件,但都是独立软件,操作习惯上不象使用Windows默认的资源管理...

    飞雪桌面日历6.61+注册机(已经测试XP/Windows7可用)

    飞雪桌面日历6.61 (适用XP/Vista/Windows7),经过测试上传的,没有骗任何人,下载后请给真实评价,补加1分,等于扣3分。 文件内包含注册机,适用于6.X以前所有版本飞雪桌面日历注册(已经测试过6.3、6.6的飞雪版本...

    windows xp 系统文件 1

    ### Windows XP系统文件详解 #### 一、概述 Windows XP作为微软公司推出的一款经典操作系统,在全球范围内拥有大量的用户群体。其稳定性和兼容性受到了广泛的好评。本文将围绕“Windows XP系统文件”这一主题,对...

    beiwanglu.rar_windows xp beiwang_备忘录

    标题中的"beiwanglu.rar_windows xp beiwang_备忘录"表明这是一款适用于Windows XP操作系统的备忘录软件,名为“beiwang”,并以RAR压缩格式提供。RAR是一种流行的文件压缩格式,由WinRAR软件创建,用于打包多个文件...

    BWL_MFCc++备忘录系统_

    【BWL_MFCc++备忘录系统】是一款基于Microsoft Foundation Classes (MFC)库的C++应用程序,用于实现简单的备忘录功能。MFC是微软提供的一套面向对象的类库,它使得Windows应用程序开发更为便捷。在这个系统中,用户...

    WINDOWSXP系统封装

    WINDOWSXP系统封装,封装细节备忘录

    Android备忘录系统的开发

    在Android平台上,开发一个备忘录系统是一项常见的实践任务,对于初学者来说,这是一个极好的学习项目,因为它涵盖了Android开发的基础知识以及一些高级特性。在这个实例中,我们将深入探讨如何构建这样一个系统,从...

    java+Mysql开发的备忘录系统

    5. 打开系统工具:集成Windows API,Java程序能调用系统命令启动记事本或计算器等应用程序,为用户提供额外的功能。 这个备忘录系统的设计和实现涉及到了GUI编程、数据库设计、SQL操作和系统交互等多个IT领域的知识...

    小程序源码 备忘录 (代码+截图)

    小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+截图)小程序源码 备忘录 (代码+...

    备忘录系统设计

    7. **多用户协作**:如果系统支持多人协作,需要实现权限管理,如只读、编辑和管理员权限,以控制谁可以查看和修改备忘录。 8. **版本控制**:为了追踪备忘录的修改历史,可以引入版本控制机制,让用户可以回溯到...

    Linux备忘手册.zip

    Linux备忘手册推荐阅读

    Android 备忘录+闹钟

    3. 查询所有备忘录:在应用启动或需要时,从数据库查询所有备忘录并填充到`RecyclerView`中。 三、登录验证 1. 用户界面:设计包含用户名和密码输入框的登录页面,以及登录按钮。 2. 验证逻辑:在用户点击登录时,...

    Linux速查备忘命令手册.zip

    这份"Linux速查备忘命令手册"是为那些在Linux环境中工作的人们准备的一份实用工具,无论你是初学者还是经验丰富的系统管理员,都能从中受益。 1. **基础命令** - `ls`:列出目录内容,`-l`选项可以以详细模式显示...

    Windows7系统助手1.0 正式版

    Windows7系统助手是一款综合型系统软件,并且永久免费,完美支持Windows7操作系统。 功能简介: 系统设置 集成了多项系统个性设置功能,根据自己需求来选择设置就是了,所有设置都可以通过[恢复默认]键恢复到...

    Linux命令备忘手册

    Linux命令备忘手册是每一位Linux用户或系统管理员必备的参考资料,它涵盖了在Linux操作系统中进行日常操作、系统管理以及问题排查所需的各种命令。Linux是一种开源的类UNIX操作系统,以其稳定性和灵活性著称,广泛...

    10备忘录系统(ssm+mysql)

    基于SSM(Spring+SpringMVC+MyBatis)框架和MySQL数据库的备忘录系统,其功能设计通常围绕着用户的日常备忘需求展开,旨在提供一个高效、便捷的信息记录和检索平台。以下是对该系统功能的详细描述: 1. 用户管理 ...

Global site tag (gtag.js) - Google Analytics