之前电脑上装的ubuntu 14.04和win7,最近重装windows, 升级到win8之后,需要重新修复grub。参考了网上的一些解决办法,没有完全适用的。经过自己的摸索,搞定了。这里把解决过程说一下。
首先需要准备一个live usb,用来从u盘启动ubuntu,并重新安装grub。制作live usb有很多方法,我用到的是universal-usb-installer这个工具。从ubuntu官网上下载好livecd的镜像以后,用该工具很快就能创建一个live usb。过程很简单。
接下来就可以开始修复grub。
重启电脑,选择从usb启动,进入live ubuntu。下面是具体步骤(需要root权限执行以下命令)
1、找到根目录所在的分区和/boot目录所在的分区(如果/boot目录没单独分区请忽略)
用fdisk -l可以列出windows和linux分区的位置。找到根目录和/boot目录所在分区。我的电脑之前安装ubuntu的时候分区比较多,所以在确定分区的时候还进每个分区看了一下里面的内容,才确定哪个是根目录和/boot目录的分区。
我电脑上根目录的分区是/dev/sda9, /boot目录的分区是/dev/sda8
2、加载根目录和/boot目录分区
mkdir -p /tmp/mnt/root && mount /dev/sda9 /tmp/mnt/root && mount /dev/sda8 /tmp/mnt/root/boot (/boot目录没单独分区的不必执行后面这条命令)
3、安装grub
grub-install --root-directory=/tmp/mnt/root /dev/sda
4、重启
重启时,记得拔掉u盘。这时就进入了grub命令界面。
5、设置kernel
kernel /vmlinz(tab键补全) --root=/dev/sda9(linux根分区位置)
6、设置linux启动文件