ubuntu +win7双系统 重装win7后进入不了ubuntu[转]

我本机是ubuntu +win7双系统的,由于win7中病毒了,所以重装了win7,但是之后就进入不了ubuntu了,也就是只有windows的启动项。于是去网上找解决办法。

说的是从ubuntu光盘启动,然后选择“试用ubuntu”,进入系统后执行如下操作:

1
2
3
4
5
6
7
8
9
10
11
12
sudo -i  (获得超级用户权限)
mount /dev/sda7 /mnt  (也就是你的Ubuntu的“/”的挂接硬盘分区,比如sda7,根据你的具体安装情况确定,/mnt是你建立的一个用来挂接的目录)
如果你单独划分了Ubuntu的boot分区,那么还需要做如下操作:
mount /dev/sda6 /mnt/boot (假设你的boot分区是在sda6)
挂载你其他的分区,如果有的话
重建grub到sda的mbr
grub-install --root-directory=/mnt /dev/sda
然后,重启,就应该可以了

但是我不知为何,可能是当时操作盘符失误了。开机以后反倒黑屏了进入了以下grub命令行,运行什么命令都不行了,于是去网上搜索。原来我把grub的配置文件弄坏了,无法引导了,由于分区调整或分区UUID改变造成GRUB2不能正常启动,从而进入修复模式(grub rescue)也称救援模式。

在救援模式下只有很少的命令可以用:
set  ,  ls , insmod , root , prefix

(1)set  查看环境变量,这里可以查看启动路径和分区。
(2)ls   查看设备
(3)insmod  加载模块
(4)root  指定用于启动系统的分区,在救援模式下设置grub启动分区
(5)prefix 设定grub启动路径

 

一、分区乱了,我不知道boot目录在什么地方

(1)ls  #查看一下设备状态—-会列出你所有的分区,其中ext2的就是Linux的分区,网上有的说ls后如果编号是83的那个是,但是我发现我有两个盘都是。(我是单独把boot分区给分出来了。分的是100M ,所以一看大小就知道了。)

(2)还有就是在设置环境变量prefix的时候按tab键看是否能在那个磁盘下找到/boot这个目录进行排除

二、设置grub的启动分区和路径
set root=(hd0,msdos1)  #设置grub启动分区,就是/分区
set prefix=(hd0,msdos1)/boot/grub/  #设置grub启动路径
查看一下设置情况:
grub rescue> set
prefix=(hd0,msdos1)/boot/grub
root=hd0,msdos1

三、加载基本模块
insmod /boot/grub/normal.mod  #加载基本模块

四、进入正常模式
normal  #进入正常模式,出现菜单,如果加载grub.cfg(错误的)可能出现问题,按shift可以出现菜单,之后按c键进入控制台
进入正常模式后就会出现grub>这样的提示符,在这里支持的命令就非常多了。

我这里执行三四步的时候提示我已经是normal模式了,应该可以不用执行的。

五、引导系统

1
2
3
4
5
linux /vmlinuz ....  ro text root=/dev/sda1 #这个视情况而定,有的是在/boot/vmlinuz ....下面
initrd /initrd ....  #加载initrd.img,可能有的是在/boot下面
boot #引导

等待一会就会发现进入ubuntu系统了。但是到这里还不算完哦,他只是让你进入系统了而已。

转自:http://yzswyl.cn/blread-1509.html

ubuntu +win7双系统 重装win7后进入不了ubuntu[转]》上有 1 条评论

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注


*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>