重装windows后 用live cd修复ubuntu启动gurb
一般安装windows 和 linux双系统, 都是先安装windows, 然后安装linux, 那么linux的grub安装会加入windows启动的选项, 开机时就能选择启动进入哪个系统了。
但是如果重装了windows, windows会重写mbr分区表, 导致grub的信息丢失, 开机就不能进入linux了。 下面就用ubuntu例子来修复grub启动项。
**第一步, 用livecd 启动系统**
进入livecd里的ubuntu, 连这一步都不知道的代表你没硬盘安装过Ubuntu,用wubi重装一次吧...
**第二步, 获取root权限
** 打开终端,输入如下命令:
** sudo passwd
#两次输入自己设的密码
su - root
#输入上面密码
** **第三步, 获得安装linux的根目录/分区编号。
** 执行:
fdisk -l
如上图,可以根据文件格式和分区大小来判断。 我这个台机器ubuntu是安装在/dev/sdb6 这个分区下面的。
但是要把grub恢复安装到第一块硬盘/dev/sda 下面会提到
**第四步, 挂载/dev/sda6 到livecd 的系统下
** 输入如下命令:
** mkdir -p /media/sdb6 && mount /dev/sdb6 /media/sdb6**
**第五步, 挂载Livecd的/dev /sys /proc 到你安装ubuntu的分区下:
** 因为这个3个目录的信息都是实时生成的, 所以要把他们挂到原来的分区下面:
依次执行:
** mount --bind /dev /media/sdb6/dev
mount --bind /proc /media/sdb6/proc
mount --bind /sys /media/sdb6/sys
** **第六步, chroot到硬盘上的ubuntu系统:
** chroot命令是1个很强大的命令。可以改变你当前的环境
执行:
**chroot /media/sdb6
**
**第七步, 安装grub到启动的硬盘**
注意这里是安装grub到硬盘。而不是分区啊
至于哪个硬盘要看你之前安装ubuntu时是选哪个硬盘启动的, 一般来讲都是机器的第一块硬盘,所以这里我要把他安装在/dev/sda
如果安装错硬盘怎么办? 没关系的, 只是系统从/dev/sda启动时找不到grub信息, 照着这篇文章重新来一次就ok 没什么后果。
执行:
**grub-install /dev/sda**
\#注意不要写成/dev/sda1啊
\#再fedora中用的是grub2 就要执行grub2-install /dev/sda
**第八步,更新grub 配置
** grub的配置一般都在/boot/grub/grub.cfg 或者 /boot/grub2/grub.cfg 中zhong
但无需修改他们, 因为他们之前但配置是正确的, 除非你安装啦windows之前还重新分区了..
执行:
**update-grub
\#这个只是1个别名 真正的命令是:
\#grub2-mkconfig -o /boot/grub/grub.cfg
\#grub2-mkconfig /boot/grub/grub.cfg 是重新生成配置文件。
** **第九步,重启进入硬盘的ubuntu
** 现在重启后你就可以见到硬盘的ubuntu了, 但是发现grub菜单没有windows?
不要紧, livecd 修复是不会认出windows,进入硬盘里的ubuntu再一次执行更新grub就ok了le
执行:
sudo update-grub
第十步,再次重启, 这次再grub菜单见到linux和windows的启动选项了,修复完成!
还没有评论,来说两句吧...