系统安装了win7+Ubuntu16.04双系统,一直用的好好的,直到前两天手贱在Win7中使用了360系统急救,结果病毒没有消灭掉,反而把Grub给搞没了,导致一开机就直接进入了Windows系统,Ubuntu的引导直接没了,在网上找了各种解决方案,都没有用,直到按照下面这篇博客才重新找回来,博客地址:
本文主要记录一下找回的过程,以防止后面再次犯了同样错误时可以再次找回。
问题:之前安装的是win7+ubuntu双系统,重装win7后启动选项没有了,直接进入的是win7系统,无法进入ubuntu系统了。
解决办法:我们需要修复grub,将ubuntu系统重新挂载一下,具体步骤如下:
1、进入到一个ubuntu系统中,打开终端
我是用U盘安装Ubuntu系统的,可以用U盘进入到试用Ubuntu那个选项中,然后打开终端(当然也可以使用其他的方式进入,如liveCD)。
2、获取管理员权限: sudo -i(可能会让您输入密码)
运行命令:fdisk -l
结果一般如下所示:
Disk /dev/sda: 500.1 GB, 500107862016 bytes
设备 启动 起点 终点 块数 Id 系统
/dev/sda1 * 63 167782859 83891398+ 7 HPFS/NTFS/exFAT
/dev/sda2 167782860 335565719 83891430 7 HPFS/NTFS/exFAT
/dev/sda3 335565720 976768064 320601172+ f W95 扩展 (LBA)
/dev/sda5 335565783 587256074 125845146 7 HPFS/NTFS/exFAT
/dev/sda6 587256138 976768064 194755963+ 7 HPFS/NTFS/exFAT
Disk /dev/sdb: 120.0 GB, 120034123776 bytes
设备 启动 起点 终点 块数 Id 系统
/dev/sdb1 * 63 104872319 52436128+ 7 HPFS/NTFS/exFAT
/dev/sdb2 104873982 234440703 64783361 5 扩展
/dev/sdb5 104873984 226365439 60745728 83 Linux
/dev/sdb6 226367488 234440703 4036608 82 Linux 交换 / Solaris
说明:
(1)电脑上安装了两块硬盘,系统被安装在固态硬盘上,也即是上面显示的sdb,当是使用U盘进入的时候还会显示一个U盘存储设备sdc。sd大概是存储设备(storage device)的缩写,按a,b,c…依次进行编号,如上面的sda、sdb。
(2)据说可以根据命令fdisk -l,显示出的ld值来判断linux安装的位置,其ld值为83
这里指的是上面的结果中的蓝色那一行,每个人的电脑会有不同,注意记住这一行的内容,下面会用到
3、挂载ubuntu所在的根分区(/dev/sdb5 104873984 226365439 60745728 83 Linux)
命令:mount /dev/sdb5 /media
这条命令后面的/media参数是固定的,前面的参数就是上面的显示结果中的蓝色部分,根据每个人的结果不同使用不同的参数
如果有将/boot单独分区,那么还得执行命令:mount /dev/sdbx /media/boot
说明:/dev/sdbx是/boot分区所在的位置,如果进行了单独分区的话会单独显示那一条目。(如果显示结果跟上面的结果类似,表明是没有单独分区的,那么这条命令是不需要的)
4、安装grub
命令:grub-install –root-directory=/media/ /dev/sda
稍等一下将会显示:Installation finished. No error reported.如果提示的是一些其它的信息则是安装错误,需要再仔细看看!
本文参照《linux入门很简单》 P36和博客http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=23733005&id=309494完成,如果本文中出现纰漏,可以参看上面给出的链接地址。