windowsxp/windows7/ubuntu三系统共存的方案

windowsxp/windows7/ubuntu三系统共存的方案[转]内容导读: 那么以后在安装ubuntu的时候就注意不要写入主引导记录(mbr)了,手动修改上述c盘的grub文件menu.lst即可。 以下为转载 今天我们一起来探讨如何让这三个系统和谐共处。 由于系统内核不同,它们引导方式也不尽相同,系统一般启动顺序是这样的: 1.按下电源按钮...

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

  以下为转载

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

  由于系统内核不同,它们引导方式也不尽相同,系统一般启动顺序是这样的:

  1.按下电源按钮,计算机首先运行poweronselftext(post),加电自检;

  2.将mbr(硬盘主引导记录)调入内存,接着开始查找活动分区和主引导扇区;

  3.将控制权交给引导程序;

  4.列出操作系统选择菜单,根据不同选择进入各自系统,完成各自初始化操作。对于xp来说,它的mbr是nt52格式引导记录,引导程序则是活动分区下的ntldr文件,接着ntldr通过读取c:\boot.ini配置文件,并列出操作系统供用户选择进入。对于vista、windows7来说,它的mbr是nt60格式引导记录,引导程序则是活动分区下的bootmgr文件,接着bootmgr读取c:\boot\bcd配置文件列出操作系统供用户选择。

  对于ubuntu来说,它的mbr是grub格式引导记录,引导程序则是活动分区下的grldr,它会读取ubuntu安装分区下的“/boot/grub/menu.lst”文件,列出操作系统选择菜单。由于ubuntu8.01开始会自动读取原来xp系统引导菜单,因此对于使用正常的先xp后ubuntu用户,在安装ubuntu后grub会将引导记录写入硬盘。自检后读取的是grub的mbr,它会读取ubuntu安装分区下的“/boot/grub/menu.lst”文件,列出操作系统选择菜单。在列出的启动菜单如果选择“microsoftwindowsxpprofessional”则将引导权交给“c:\ntldr”,完成xp的启动。如果选择“ubuntu8.10kernel2.6.27-7-generic”,则开始引导ubuntu。ubuntu首先使用kernel命令装载linux内核,接着使用initird进行ubuntu系统初始化。

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

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

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

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

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

  第二步:进入光盘启动的ubuntu后,单击桌面上方的“application→附件→终端”。启动终端后依次输入下列命令重写mbr,

  sudogrub

  root(hd0,5)

  setup(hd0)

  quit

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

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

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

  第二步:单击桌面上方的“application→附件→文本编辑器”,启动程序后单击“文件→打开”,打开“/filesystem/boot/grub/menu.lst”文件,在文中“enddefaultoption”下添加如下内容并保存即可,这样重启后就可以修复了。

  title启动到windows7

  root(hd0,0)

  savedefault

  makeactive

  chainloader+1

  故障3:可以启动系统,但只能进入bootmgr启动,无法进入ubuntu这种情况大多出现在安装ubuntu后,用户又使用原来gho备份恢复系统所致(或者重装windows7)。由于恢复更改了硬盘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文件,代码如下(#后为注释无需输入):

  titleubuntu

  #grub中0-3为主分区,ubuntu安装在第二逻辑分区,所以分区标示为(hd0,5)root(hd0,5)

  #加载位于第二逻辑分区boot目录下的内核(加载简体中文语言文件)并进行初始化,启动设备是hda6,在ubuntu中1-4是主分区序号

  kernel(hd0,5)/boot/vmlinuz-2.6.27.7-genericroot=/dev/hda6rolocal=zh_cnquiet

  splash

  initrd(hd0,5)/boot/initrd.img-2.6.27.7-generic

  quit

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

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

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

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

  第一步:如果活动分区是fat32格式,在ubuntu单击桌面“untitledfolder”,打开ubuntu文件浏览器,单击上方的“computer”按钮,打开类似windows资源管理器界面,按提示插入windows7光盘,复制其中的bootmgr到c:\下即可。

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

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

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

  第二步:重启后进入windows7后,从网上搜索并下载运行easybcd,然后切换到“add/removeentries”,在“addaentry”下切换到“windows”,按提示添加windowsxp启动,这样就修复“xp+windows7”双系统启动。不过由于使用上述的修复命令,硬盘主引导记录又会变成nt60,接下来只要添加ubuntu启动即可。具体可参考上述“故障3”的介绍。

  故障6:可以显示多重启动,但是只能进入windows7或者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启动,如果可以进入其中一个系统,则可以在这个系统中对其他系统进行手动修复操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值