1. 找到ubuntu的镜像文件
可以从官网http://www.ubuntu.com/上下载镜像文件。(此镜像文件的版本不必和硬盘里装好的ubuntu的版本保持一致,因为它只是用来临时执行的一些linux命令。我的镜像文件为:ubuntu-12.04-dvd-amd64.iso)
2. 把相关文件复制到C盘
将下载的Ubuntu的镜像文件放到C盘的根目录下,然后用虚拟光驱或解压缩软件将iso打开,将casper文件夹目录下的vmlinuz和 initrd.lz复制或解压到C盘根目录下。
3. 用EasyBCD增加系统启动项
下载EasyBCD最新版并安装,然后启动软件:
按照上图的序号(随手画的,字比较难看)点击,点到3后出面下面的界面:
点击上图红框中的按钮,会用记事本打开一个文件,将如下代码粘贴到文件尾部:
#begin
title Install Ubuntu 11.04
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-12.04-dvd-amd64.iso ro quiet splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
#end
上面代码的有下划线的部分是可能需要修改的地方。此处的iso文件名一定要和放在C盘的镜像文件的文件名保持一致。
((hd0,0)表示是第0块硬盘的第0个分区,一般就是C盘。如果你的PC是单硬盘的,一般情况下,D盘就是(hd0,1),E盘就是(hd0,2),以此类推。由于我的PC是双硬盘的,C盘在第二块硬盘上,所以改成了(hd1,0)才成功。镜像文件放在C盘的好处就在于,多硬盘的情况下,可以很快地一个个尝试:(hd0,0)、(hd1,0)、(hd2,0)…)
到此,EasyBCD部分就操作完了。
重新启动PC,选择NeoGrub Bootloader启动项,就会进入Ubuntu桌面。
4. 恢复ubuntu引导
进入到ubuntu桌面后,打开终端(快捷键组合是Ctrl+Alt+T);
1)在终端下输入sudo -i(获得管理员权限)
2)在终端下输入fdisk -l(是小写的字母'L',查看盘符列表),会出现类似下面的信息:
Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x907ffc47Device Boot Start End Blocks Id System
/dev/sda1 * 2048 250066943 125032448 7 HPFS/NTFS/exFATDisk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xb60dfb88Device Boot Start End Blocks Id System
/dev/sdb1 * 2048 852219903 426108928 7 HPFS/NTFS/exFAT
/dev/sdb2 852221950 976771071 62274561 5 Extended
Partition 2 does not start on physical sector boundary.
/dev/sdb5 852221952 960327679 54052864 83 Linux
/dev/sdb6 960329728 976771071 8220672 82 Linux swap / Solaris
然后找到ID为83的盘符,根据上面显示的信息可知,当初ubuntu是装在sdb5这个分区。
3)在终端输入 mount /dev/sdb* /mnt (*代表ubuntu系统所在的分区,即上一步显示结果中ID为83的分区号,如上面显示的是在sdb5这个分区,所以输入的是mount /dev/sdb5 /mnt 注意:mount后面有一个空格,sdb5后面也有一个空格,这两个空格千万不要漏掉,否则会报错)
4)上一步结束之后,继续在终端中输入grub-install --root-directory=/mnt /dev/sdb
等待一会儿,若只出现Installation finished,No Error Reported则表示成功了
(注意:grub-install之间没有空格,--root前面有一个空格,--root前面是两个'-',/mnt后面有一个空格)
5)到此,ubuntu引导基本恢复,重启电脑后,就可以看到熟悉的ubuntu引导界面了,进入ubuntu系统,打开终端输入
sudo update-grub
等待片刻,如果没报错,恢复工作便全部完成了。
(注意:由于我的电脑是双硬盘,原来的Ubuntu在sdb上,所以上述所有命令都用sdb。单硬盘的电脑应该输入以下的命令:
sudo –i
fdisk –l
mount /dev/sda* /mnt
grub-install --root-directory=/mnt /dev/sda
)
参考文献
[1]win7-ubuntu双系统安装教程
[2]重装win7后恢复ubuntu