win7+Ubuntu11.04双系统:修复Grub(MBR)之三重门

本文介绍了一种解决Ubuntu启动故障的方法,通过使用Live-CD启动并手动挂载硬盘分区,最终成功修复了GRUB启动加载器,使双系统能够正常工作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

来源:http://blog.chinaunix.net/space.php?uid=22414998&do=blog&id=364472

在学生的Win7电脑上安装了Ubuntu11.04,做成了双系统,利用Ubuntu作为Ulteo主机服务器。谁知不想学生昨晚QQ call me:老师,开机进不去系统了,现在一开机就是一个下划线不断的闪。 

于是,今天早上开始解决问题。

首先,重启笔记本,ESC进入BIOS启动选项,选择硬盘最先引导,重启无效。排除BIOS问题。

接着,拿Ubuntu11.04Live-CD光盘,进入系统,一进去就出现安装界面,选择试用而不安装N久没有反应,只是鼠标变成圆圈状不断转着。无奈,点击关闭,把安装窗口关掉,结果便顺利地进入了Live_CD的桌面。

找到终端,输入命令,直接转入#:

sudo -s

在google上看到很多仁兄的grub重写方案,自己也试了下:

fdisk -l

看到了自己的分区方案,Ubuntu被装到了最后一个分区中,即sda下的sda6,sda5是SWAP。所以:

root (hd0,6)
find /boot/grub/stage1

结果说,没有stage1这个文件,后来又试了menu.lst也没有,还有人说Ubuntu下也可以试试/boot/stage1,试了也没有。又看到有人说分区选错了,我就开始一个一个的试,事实证明我没选错分区,但该分区中没有stage1。
怎么办?冷静了一下,开始分析是不是总是对live-cd系统进行的操作,而非硬盘?终于在一篇博客的启发下试验成功了:

mkdir /mnt/root
#在Live系统下建立/mnt/root文件夹
mount /dev/sda6 /mnt/root
#挂载实际系统盘
mount -t proc none /mnt/root/proc
mount -o bind /dev /mnt/root/dev
#以上这两步很重要,如果不挂载,系统会找不到proc无法顺利重新安装Grub
chroot /mnt/root /bin/bash
#进入虚拟系统
grub-install /dev/sda
#重新安装grub到启动盘
reboot


OK罗,大功告成。

虽说系统成功引导,但每次都是默认Ubuntu启动,学生还是用Win7多,于是到Ubuntu下,发现/boot/grub里面没有menu.lst这个文件,也没有grub.conf,看来和红帽的有许多不同啊。上网一搜,发现需要编辑grub.cfg(需要根用户身份,否则是只读属性),修改默认启动项为1(原来是0):

set default="1"

再删除修复模式、内存检测等menuentry杂项,就剩Ubuntu和Win7即可。保存重启,O(∩_∩)O哈哈~,大功告成!

说明:这里介绍了grub损毁后导致无法启动的linux下的解决办法,通过各种外界手段(比如光盘,U盘等)启动linux后,运行sudo -s获得权限之后,从mkdir /mnt/root开始操作即可。不过很奇怪,我记得好像用sudo su不行,非要用sudo -s,搞不懂这sudo的用法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值