使用Bootmgr引导Ubuntu实例

运维 系统运维
ubuntu系统实用的界面和完全免费的优点吸引了越来越多的用户,而ubuntu系统的技巧都是在用户的摸索中总结出来的,下面就是用户使用Bootmgr引导Ubuntu的一个实例。

ubuntu系统实用的界面和完全免费的优点吸引了越来越多的用户,而ubuntu系统的技巧都是在用户的摸索中总结出来的,下面就是用户使用Bootmgr引导Ubuntu的一个实例。

现在没事就喜欢玩玩Ubuntu,今天早上一打开电脑,登上百度,就看到有人问关于Windows和Ubuntu双系统的问题。我玩Ubuntu的时间其实也不长,有一年多一点的时间了吧。去年11月,笔记本的系统坏了一次,F11还原的时候崩溃了,每次开机就进入还原,而且还原不成功,很快就重启……没办法,拿去惠普金牌给重装了系统,当时硬盘的分区表坏掉了,把整个硬盘都格式化了,我有很多东西在里面的,全丢了……

那个时候,对重装系统一无所知,没想过那些问题的,不知道一个操作系统的引导有那么麻烦,对引导程序写在MBR和DBR(PBR)里面,而不是以文件形式存在,在操作系统里面看不到,感到很困惑。从那以后,意识到弄懂操作系统的安装非常重要,于是在网上下载了很多操作系统光盘来自己联系安装,微软原版的、修改版的以及Ghost版本的都用过不少。一次无意中在网上看到了Ubuntu,说这个系统蛮好,还可以安装在U盘上,这算是初步接触Ubuntu了。后来一次同寝室的同学,F11还原的时候点了取消,结果可想而知,和我一样,出现了分区表损坏,使用PE光盘,都找不到硬盘了,想要使用Ghost来安装系统,结果行不通。后来我用我的UbuntuU盘竟然成功地启动了他的计算机,可以识别他的硬盘,于是通过U盘在Ubuntu中将Ghost拷贝到他的硬盘,再安装了一个含Ghost的Dos工具箱,在DOS里面启动Ghost,给他安装了一个Ghost版本的WindowsXP。那次事件让我觉得Ubuntu这家伙还真是很牛啊!对Ubuntu愈加喜爱,后来了解了一些Ubuntu的知识,它每6个月都会发布一个新版本,新版本一出来,我就赶忙下载了下来,从Ubuntu9.10一直到现在的Ubuntu10.10。

玩Ubuntu,把我的好多U盘都做成了引导盘了,我的U盘不少,但是可以用的却一个都没有了……

好多U盘里面都是多重引导,觉得在一个U盘里面只做一个系统太浪费。用了这么多引导程序,还是觉得Bootmgr是***用的,所以习惯用Bootmgr去引导所有的系统。Bootmgr本来是用来引导Vista和Windows7,在硬盘和光盘上都可以引导,而且使用非常方便,微软提供的bcdedit命令非常好用!想要用它来引导WindowsXP和Ubuntu却不成功。WindowsXP在硬盘和光盘上使用的引导不同,直接将光盘拷贝到U盘是用不了的,想把光盘放在U盘里面用,不过没有成功过,只有修改版的才可以,原版根本不行。我向来是希望以最小的改动来达到目的的,不喜欢使用被别人修改过的,而自己不了解的东西,太不透明了,而且每个人的习惯差异很大,别人改动的,对我来说不一定好用,可能有太多冗余,累赘!干脆不用别人的,自己动手!Bootmgr引导WindowsXP光盘看来是不行了,引导已经安装好的WindowsXP倒是可以,但是要把微软的系统安装在USB可移动存储设备上,实在是太困难了,只能用PE,加载Wim镜像到内存。

Bootmgr引导Ubuntu,试验了很久,先是从UbuntuLiveUSB开始的。以前版本的Ubuntu都很容易就成功了,Ubuntu10.10不知怎么回事,刚开始试了几次都不行,后来又好了,其实采用的方法都是一样的。大概是一种***的办法,但是成功确实是要讲概率的。先制作一个UbuntuLiveUSB,引导程序是syslinux,(LiveCD用的是isolinux),使用bootice提取U盘分区的DBR(PBR),命名为syslinux.pbr,存放在U盘根目录,www.6688.cc然后把Windows7的PE光盘解压到U盘根目录,将Bootmgr引导程序写入MBR,使用,命令"Bootsect/nt60X:/force/mbr",然后使用bcdedit命令:

 

  1. bcdedit/storeX:\boot\bcd/create{45c374b2-8460-11df-8950-0024814b7667}/d"Ubuntu"/applicationbootsector  
  2.  
  3. bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}deviceboot  
  4.  
  5. bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}path\syslinux.pbr  
  6.  
  7. bcdedit/storeX:\boot\bcd/displayorder{45c374b2-8460-11df-8950-0024814b7667}/addfirst 

 

这样Ubuntu的引导项就添加进去了,显示在选择菜单的最上面。

这样还是UbuntuLiveUSB,启动太慢,每次都要选择使用,跟安装好的Ubuntu相比,处于劣势,而且一般不会讲casper-rw文件设置太大,这就对安装软件产生了限制,所以希望安装一个Ubuntu系统。习惯把Windows7的PE和Ubuntu放在一个U盘上。在硬盘上,使用wubi安装使用过Ubuntu,也完全安装过,虚拟机里面也用过,在虚拟机里面用得最多,因为要解决锐捷比较麻烦,Ubuntu无法识别我的网卡,还要安装网卡驱动……真要崩溃,我没办法联网,也不知道需要什么样的网卡驱动,惠普根本就没有提供Linux的驱动……自锁了!没办法,只好在虚拟机里面玩玩。

做Ubuntu和Windows的双系统,还是很简单,但是大多都是先安装Windows,www.linuxidc.com再安装Ubuntu,***MBR里的引导程序是Grub或者Grub2,这样会自动添加Windows的引导项,以供选择。但是我们平常使用Windows还是比Ubuntu要频繁得多的,每次都要这样一次一次的选择,太麻烦了,希望能够用Bootmgr来引导Ubuntu。这种想法很早就有了,一直都没能成功,在网络上搜索,都没有找到解决方案。今天看到有人跟我有同样的想法,于是我想再试试看,争取把它解决。想到了使用wubi,在使用wubi安装的Ubuntu中就是由Bootmgr来引导Ubuntu的,但是拷贝了wubi的两个关键文件-wubildr和wubildr.mbr,还是不行。觉得问题用该是出在另外一个文件-wubildr.cfg,这个是配置文件,这个文件里面写的是wubi安装使用的虚拟磁盘root.disk和swap.disk,现在我的Ubuntu是完全安装的,直接使用这个文件肯定不行,必须要进行修改。经过多次修改最终终于获得了成功,活动的主分区的根目录里面有4个启动Ubuntu的关键文件,以上3个和grub.cfg,grub.cfg是Ubuntu分区的grub目录拷贝过来的,不需要修改。

wubildr.cfg文件修改后如下:

 

  1. setshow_panic_message=true 
  2.  
  3. setroot=(hd0,2)  
  4.  
  5. if[-e/boot/grub/grub.cfg];then  
  6.  
  7. ifconfigfile/boot/grub/grub.cfg;then  
  8.  
  9. setshow_panic_message=false 
  10.  
  11. fi  
  12.  
  13. else  
  14.  
  15. if[-e/grub/grub.cfg];then  
  16.  
  17. ifconfigfile/grub/grub.cfg;then  
  18.  
  19. setshow_panic_message=false 
  20.  
  21. fi  
  22.  
  23. fi  
  24.  
  25. fi  
  26.  
  27. if[${show_panic_message}=true];then  
  28.  
  29. echo"ItisnotpossibletobootfromtheUbuntuimage."  
  30.  
  31. echo"PleaseverifythattheUbuntuinstallationwasnotremoved."  
  32.  
  33. echo"Ifthatisnotthecase,pleasecheckthattheWindowsfilesystem"  
  34.  
  35. echo"isnotcorrupted:rebootintoWindowsandrun:chkdsk/r"  
  36.  
  37. echo"Thentryagain."  
  38.  
  39. fi  
  40.  
  41. 修改BCD文件的命令:  
  42.  
  43. bcdedit/storeX:\boot\bcd/set{bootmgr}locale"zh-CN"  
  44.  
  45. bcdedit/storeX:\boot\bcd/set{bootmgr}description"Windows启动管理器"  
  46.  
  47. bcdedit/storeX:\boot\bcd/timeout10  
  48.  
  49. bcdedit/storeX:\boot\bcd/set{default}description"Windows7PE"  
  50.  
  51. bcdedit/storeX:\boot\bcd/set{default}locale"zh-CN"  
  52.  
  53. bcdedit/storeX:\boot\bcd/set{memdiag}locale"zh-CN"  
  54.  
  55. bcdedit/storeX:\boot\bcd/set{memdiag}description"内存检测工具"  
  56.  
  57. bcdedit/storeX:\boot\bcd/create{45c374b2-8460-11df-8950-0024814b7667}/d"Ubuntu10.10"/applicationbootsector  
  58.  
  59. bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}deviceboot  
  60.  
  61. bcdedit/storeX:\boot\bcd/set{45c374b2-8460-11df-8950-0024814b7667}path\wubildr.mbr  
  62.  
  63. bcdedit/storeX:\boot\bcd/displayorder{45c374b2-8460-11df-8950-0024814b7667}/addfirst  
  64.  
  65. bcdedit/storeX:\boot\bcd/enumall/v 

 

向磁盘写入主引导:

bootsect/nt60X:/force/mbr

写入这些之后,一切OK!终于成功了,不容易啊,花了好久才解决!

还有其他方法,可以使用bootice提取Ubuntu分区,保存为ubuntu.pbr,在将它写入引导文件BCD的,一种***的方法,但是,并不一定能成功。也可以使用EasyBCD,这种方法简单,但是不透明,对软件的依耐性太高,也不太好。还是自己动手解决是***的。

总结:

希望本文介绍的使用Bootmgr引导Ubuntu实例能够对读者有所帮助,更多有关linux系统的知识还有待于读者去探索和学习。

【编辑推荐】

  1. Ubuntu10.10里如何安装中文man?
  2. Ubuntu备份恢复安装的软件的命令行
  3. Ubuntu系统安装drcom出现error的解决方法
  4. ubuntu系统与windowsXP互相远程连接的方法
  5. Ubuntu Linux面板如何增加农历日期和气象报告?
责任编辑:韩亚珊 来源: 之秀网
相关推荐

2010-05-10 14:58:29

Unix系统

2010-01-04 11:30:07

Ubuntu GRUB

2010-01-06 18:26:10

Ubuntu内核

2010-01-05 10:50:48

2011-04-25 14:26:32

Ubuntu菜单

2010-02-06 16:34:16

Ubuntu Linu

2012-09-25 09:43:45

Windows 8Ubuntu

2010-03-03 10:21:15

Ubuntu GRUB

2020-04-08 13:05:03

TraefikKubernetes树莓派

2010-05-10 14:20:22

Unix引导串

2010-02-07 11:07:13

Ubuntu 8.04

2010-06-13 10:11:46

Ubuntu Grub

2010-06-13 09:27:18

Grub安装Ubunt

2010-03-08 09:40:30

Ubuntu所需文件

2010-02-06 17:02:35

Ubuntu9.10

2011-08-16 14:08:01

windowslinux

2010-06-13 10:44:57

Ubuntu Grub

2015-09-16 16:16:47

可引导设备UbuntuLinux

2022-06-14 15:45:52

UbuntuLinux

2011-03-04 15:05:25

UbuntuFileZillaiPad
点赞
收藏

51CTO技术栈公众号