文章目录
  1. 1. 修复ubuntu grub引导

一直都安装windows 7 和 ubuntu双系统。最近一两周window 7的一个安装一直都不成功, 每次进入win7都需要重启三次才行,真是难以忍受了。本想跳过这次个更新,可每次关机都会再安装一次。查看安装信息是非windows loade进入系统时会导致更新安装不成功, 需要切换成windows主引导。

真是折腾的一件事。 首先要解决的是将windows7的引导安装到MBR,但手上没有现成的安装CD,也没有修复CD。 搜索一番后, 先是在windows 7的菜单下维护文件夹的一项里记录了一张修复光盘, 但启动后的选项里只有还原系统,也没找到bootrec/bootset之类的工具。 横下心,用一夜时间下载了Windows 7 安装ISO, 刻成CD,启动后发现有修复系统引导的工具,很顺利就重写MBR成window7。

但捉弄人一幕出现了: 当我打开windows 7 更新列表准备安装KB3033929, 却发现上次的安装已经是成功的了。 这不是玩我嘛? 重写MBR白做了,现在得改回Grub启动,引导回ubuntu。

修复ubuntu grub引导

就为这事折腾了好几天了,都是泪! 自己学艺不精。

找回了之前刻录的一张ubuntu server CD, 和使用上次安装ubuntu iso制作的启动U盘,都没能够成功引导,只能想其它办法。

最后成功的是使用Kali live CD制作的启动U盘,启动Live CD后,chroot到硬盘里ubuntu安装分区,再grub-install.

chroot 命令参考了Archlinux Wiki Change_root. 一定感谢下,archlinux的文档真好。

mount /dev/sda7 /mnt/d1
cd /mnt/d1
mount -t proc proc proc/
mount --rbind /sys sys/
mount --rbind /dev dev/
chroot /mnt/d1 /bin/bash
source /etc/profile
source ~/.bashrc

然后就可以安装grub了,会重写MBR:

/usr/sbin/grub-install /dev/sda

一定要注意的是,grub-install后面device一定不能带分区数字,也就是要写成/dev/sda, 而不能是/dev/sda7. 我错误的试了好多次,才在某个搜索结果里发现这个原因。

得到的教训是,更改之前,一定要备份。 一定要备份。另, grub的两个命令是grub-installupdate-grub

$ sudo fdisk -l
$ sudo dd if=/dev/sda of=./ubuntu-mbr.bin bs=512 count=1
文章目录
  1. 1. 修复ubuntu grub引导