微软FixIt 2010-11-04
先说一下我的电脑上,实际安装了3个系统,xp,win7,ubuntu,但因为xp的系统启动项由win7管理着,所以一直都没出问题(只要win7不出问题),本来3个系统好好的(ubuntu是默认进入的系统,因为之前是先装xp,再装win7,最后装的ubuntu10.10),但因为出了点问题,需要重装win7,于是我就重装了,但是重装之后发现ubuntu的系统启动项消失了,而且在win7下也看不到ubuntu所在的系统盘。
这是因为我之前是硬盘安装的ubuntu(注意,非wubi,网上很多讲找回wubi启动项的方法在这里不适用),我装的ubuntu10.10,网上的解决方案是找个livecd,进入系统再修复grub(ubuntu的系统启动管理工具),但我只有9.04的cd,所以就将就用了。
1,先从cd启动进入ubuntu的试用系统,打开终端;
2, df 命令查看一下现在所有的硬盘大小,这一步主要是为了帮助你找到每一个盘所对应的sda号;比如我记得我的ubuntu当时分了100M的boot,27G的/空间,所以一下就认出了ubuntu所在的盘符
先把之前安装的ubuntu系统挂载到livecd的系统里:
cd mnt
mkdir ubuntu
mkdir ubuntu/boot
mnt /dev/sda9 /mnt/ubuntu (sda9是我的ubuntu所在盘符,那个26G空间)
mnt /dev/sda7 /mnt/ubuntu/boot (sda7是我ubuntu的boot空间,100M)
mnt -o bind /dev /mnt/ubuntu/dev
source /etc/profile (这个命令,我也不太确定管不管用,但反正我是执行了)
然后,现在相当于之前的ubuntu系统已经加载到livecd里了,我们可以直接进入之前的系统,一个神奇的命令:
chroot /mnt/ubuntu
登录
login
用户名
密码
(也可能不需要用户名密码,直接以root‘身份登录了,登录的时候主要看终端提示符的前缀,root@ubuntu;这个就算登录成功了,)
登录
现在,执行命令,安装grub:
grub-install /dev/sda
重启(看网上说,重启之后会进入grub界面,然后需要引导系统进入之前的ubuntu大, 我重启之后久违的系统启动项就直接出现了,不过第二个选项变成了recovery mode)
3,进入ubuntu系统,运行 sudo update-grub,修复之后就和以前一模一样了。
当然,在第二步里,我还执行了其他一些命令,不过都出错了,所以就不写在上面,也不知道这些命令对我回复grub有没有帮助,列在下面:
grub-install /dev/sda5 (sda5是我win7所在的盘符,但安装grub失败)
update-grub (直接在livecd里执行这个命令,不知道对回复grub有多大帮助,但如果实在不行,我觉得这个命令执行一下也没坏处)
我所参考的一篇文章: