Chinaunix首页 | 论坛 | 博客
  • 博客访问: 479175
  • 博文数量: 120
  • 博客积分: 1853
  • 博客等级: 上尉
  • 技术积分: 1177
  • 用 户 组: 普通用户
  • 注册时间: 2011-10-22 22:40
文章分类

全部博文(120)

文章存档

2013年(16)

2012年(104)

分类: LINUX

2012-09-17 14:27:21

可以使用如下两种方法之一,修复 Ubuntu 的启动:

使用 LiveCD/LiveUSB 或者硬盘安装的方法,进入一个 live 环境,挂载上原来的根分区,比如挂载为 /mnt/temp,运行命令: 创建 /mnt/temp:

sudo mkdir /mnt/temp

挂载原来的根目录:

sudo mount /dev/sda5 /mnt/temp

如果是单独分的 /boot (以 sda6 为例),则挂载它,如没有则跳过此步:

sudo mount /dev/sda6 /mnt/temp/boot

挂载系统目录:

for i in /dev /dev/pts /proc /sys; do sudo mount -B $i /mnt/temp$i; done

chroot 进入原系统:

sudo chroot /mnt/temp

重新安装 Grub2 到 MBR 并更新启动项:

grub-install /dev/sda update-grub

退出环境:

exit

还原系统目录:

for i in /dev/pts /dev /proc /sys / ; do sudo umount /mnt/temp$i ; done

下载 GRUB4DOS,将其中的 grldr 或者 g2ldr 放在 Windows 的 C 盘根目录中,然后修改

C:\boot.ini

添加一行

C:\grldr = GRUB4DOS 或者 C:\g2ldr = GRUB4DOS

并删除 C 盘中的 menu.lst (或者 grub.cfg boot/menu.lst boot/grub.cfg 等) 文件。 重启系统,选择 GRUB4DOS 项,选择自动探测 menu.lst(或者 grub.cfg)那一项,就可以带您进入 Ubuntu 系统了。 然后运行命令:

sudo grub-install /dev/sda sudo update-grub



-------


当mount的时候如果不确定哪个盘分区具体是干吗用的,可以先mount到一个地方看下。尤其是当看是不是boot分区的时候。这点很重要。

PS:像我就有一个分区就200M(里面居然是一个我原来废弃不用的boot分区,里面有所有boot分区的内容,不过内核比较老了是2.6的有可能是原来做实验的时候用的,我没事老装机器玩)我刚开始以为是/boot结果就按boot分区给mount上了,及其能正常启动,但是好多东西都用不了,包括上不了网。后来一看内核才知道,居然是2.6的而我里面所有的软件都是在3.2内核的基础上装的。哎。。。。。。


阅读(1263) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~