说明:以下教程未作测试,只做笔记备用。
win7/vista系统下恢复wubi安装的Ubuntu启动项
首先:把d:\ubuntu\winboot\wubildr*的所有文件复制到C盘根目录下(这个非常重要)
奶牛的ubuntu是用wubi安装的,因为从前都是重新分区安装,感觉分区什么的挺麻烦的,而且多系统有时候就会造成系统的mbr或者grub引导错误而无法启动,所以很复杂,而且wubi安装奶牛感觉效果也没啥区别,还省去很多麻烦.
呃,言归正传,这里我们要讲解的是win7或者vista系统下用wubi安装的ubuntu启动项丢失后的修复。
首先看下win7下ubuntu的启动选项记录:
实模式启动扇区
———————
标识符 {39bed8be-0619-11df-a4ea-f49453e653f3}
device partition=D:
path \ubuntu\winboot\wubildr.mbr
description Ubuntu
从这些记录我们可以很容易读出我系统是安装在D:盘下,引导文件是\ubuntu\winboot\wubildr.mbr,知道了这些我想我们的恢复工作应该就很简单了~~~
以管理员身份运行windows7 或者 vista的命令提示符:
执行
bcdedit /create /d “Ubuntu” /application bootsector
此时系统会自动生成一个{id}
bcdedit /set {id} device partition=D:——(D:为wubi安装的ubuntu所在的盘符)
bcdedit /set {id} path \ubuntu\winboot\wubildr.mbr——-(这个是引导文件的路径)
bcdedit /displayorder {id} /addlast
ok,一系列操作完成后重新启动你的系统,看看ubuntu的启动项是不是又回来啦~~~
——————————————————————————————
关于win7、Ubuntu、xp三系统引导恢复
以前一直在用xp、Ubuntu双系统,最近又安了个win7来看电影听歌,期间引导问题让人无比头疼,已解决,现总结了一下网上的方法,跟大家分享下经验。
首先说明一下,我硬盘分了5个区。第一分区装了xp,第二分区ext4格式装了Ubuntu10.04,第三分区用作交换分区,第四分区空闲,第五分区存放所有数据,我的win7就是装在空闲的第四分区。
因为windows得操作系统是高版本可以自动引导低版本,所以win7装完后没有什么问题,开机启动菜单自动生成了“早期版本的windows”,然后我用bcdedit命令改了个名字“windows xp”。但这时Ubuntu已经没了,我以前是改写的mbr用Ubuntu的grub引导的xp,现在再恢复grub引导估计得绕N个弯(所以最好在装Ubuntu时最好把grub装在Ubuntu分区,再去用其他系统去引导,否则一旦涉及到重装操作后悔莫及),所以我选择了重装Ubuntu10.04,这次我是把它装在了第二分区,最后把grub也装在了这个分区,因为没有改写mbr,装完后并不能立即看到Ubuntu的引导选项,需要在win7中手动添加引导(Ubuntu10.04使用grub2,所以网上的很多方法都过时了)。
下面是在网上搜索到的Ubuntu10.04的方法
1.让Windows 7能够启动Ubuntu,需要一个启动文件,就是刚才安装到Ubuntu分区的Grub内容。一般这些内容在Ubuntu分区的头512字节。在Ubuntu中可以用dd命令很方便地提取出来(dd if=/dev/sda2 of=/ubuntu.bin bs=512 count=1),在Windows中需要借助工具,我这里用的是WinHEX。
启动win7,下载WinHEX(太大没法传),打开WinHEX,点击Tools->Open Disk,选择Physical Media中的硬盘,OK。选中Ubuntu分区,点击Edit->Copy Sector->Into New File,保存到C盘根目录(我的win7物理位置并不是第一个分区,但系统自动识别win7系统分区为c盘,这倒方便了不少),文件名Ubuntu.bin
2.打开命令行窗口,添加Ubuntu启动项 bcdedit /create /d “Ubuntu 10.04” /application bootsector
3.此时会返回一个{GUID}号,例如{798718923-7891274-。。。}之类的,把你的那个复制下来,以下的{GUID}就用这个代替
4.bcdedit /set {GUID} device partition=C:
5. bcdedit /set {GUID} path \Ubuntu.bin
6. bcdedit /displayorder {GUID} /addlast
至此就可以了,开机你就会发现多出了Ubuntu10.04的开机菜单了,选择进入可以看到熟悉的grub引导菜单了,在grub引导菜单里面还会有一个windows 7 Loder的选项,选择可以返回win7引导菜单。如果你也是选择的windows引导Ubuntu的话,以上算是一种很完美的了。
下面介绍一下grub4dos引导方法(因为悲剧所以才学会了这个方法)
一开始我按上面提到的的方法,解决了win7引导xp,Ubuntu的问题。因为我的xp是最常用的系统,但因为很久没换速度慢的跟蜗牛似地,昨天便重装了一下,我用的原版xp,装在了第一分区。虽然事前万分小心,可最后还是悲剧的破坏掉了里第一分区最近的第二分区的引导信息,致使没法在重装后用上面的方法提取引导扇区,恢复Ubuntu。
下面介绍具体方法(参考http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=229387)
1。在win7 xp双系统下重装xp,因为xp是比较低的版本,所以无法自动引导win7,借助工具BCDautofix (),修复了一下(具体操作件附件bcdautofix附件中的说明文档)
2。下载已经修改的grldr(,http://forum.ubuntu.org.cn/viewtopic.php?f=139&t=229387也有下载),解压后把 g2ldr.mbr 和 g2ldr 放在win7的启动分区根目录 下,就是包含 bootmgr 的那个分区(因为我是用bcdautofix修复的双系统,所以转移到了装有xp的第一分区,只有win7系统的,就在win7分区就可以了)
3。然后在该分区根目录下新建 boot.ini(最后一行的C:可以换成具体你的分区,那个Grub4Dos可以改成任何名字)
[boot loader]
timeout=0
default=c:\g2ldr.mbr
[operating systems]
C:\g2ldr.mbr=”Grub4Dos”
XP系统或XP/Win7双系统的,修改boot.ini 在最后加一行
C:\g2ldr.mbr=”Grub4Dos”
这时已经可以了,重启后,win7loader自动识别出boot.ini中新加的启动项Grub4Dos,选择可以进入Grub4Dos,然后它自动找到Ubuntu分区,然后载入grub(这个绕了太大的弯),然后就可以启动Ubuntu了。因为是在boot.ini添加的,所以当你选择xp启动时,会看到二级启动菜单,里面多了个Grub4Dos,显然这个二级启动菜单已经没必要了,可以把xp启动菜单等待时间改为0,这样就看不见这个多余的Grub4Dos了。
undefined以上三系统过程已经包括了其中任意两个组成的双系统的启动修复方法,对于大多数情况都适用。