Re: [原创]重装windows后 无法进入ubuntu 最简单的修复方法!
发表于 : 2009-01-08 13:53
好贴。正好用到。 

这两天最新的 grub4dos 已经支持 uuid 命令了。新版本 grub4dos 还有一些恐怖的功能,比如 dd...billbear 写了:很久以前,bean 大侠在 viewtopic.php?f=139&t=140421 里写道,bean 的 grub2 我没试过,我曾试验用类似的做法引导 grub4dos,有趣的是,vista里尽管使用BCD,但其实也会读取boot.ini的内容。因此你可以在C:\下建立一个boot.ini文件:
[boot loader]
timeout=30
[operating systems]
C:\g2ldr="Start GRUB2 (vista)"
该项目会自动加到vista的启动菜单里,你就不需要使用bcdedit来增加启动项了。总是不行,根本没有启动项。我于是怀疑 bean 是在 xp/vista 双系统下误得出这个结论。[boot loader]
[operating systems]
c:\grldr.mbr=grldr
今天机缘巧合,发现了原因,原来一定要使用一对引号, bean 老师留了一手 ...
不用 bcdedit,从 vista (无 xp 系统)引导 grub4dos 的方法:
在 c 盘根目录自建 boot.ini,写入:(需要提升权限)[boot loader]
[operating systems]
c:\grldr.mbr="grldr"
到 http://download.gna.org/grub4dos/ 下载某个版本的 grub4dos,并把其中的 grldr, grldr.mbr 拷贝到 c 盘根目录。完工。
另外,请尽量使用最新版的 grub4dos,对于由 8.10 安装程序格式化出来的新式 ext3 分区,因为 inode size 从 128 字节变成了 256 字节,所以老的 grub4dos 0.4.3 不认识,也就无法找到其中的 menu.lst 和 linux 内核,因而无法启动。
8.10 menu.lst 中新的 uuid 命令倒是在绝大多数情况下完全不会影响 grub4dos 引导 ubuntu,因为 grub4dos 会忽略 menu.lst 中它不认识的行,使用了新的 uuid 命令的 menu.lst 在 grub4dos 看来只是一个缺少了指定 root(hdx,y) 行的 menu.lst,而由于 grub4dos 的内置菜单寻找 menu.lst 的过程是这样,所以当 ubuntu 的 menu.lst 没有显式地指定 root (hdx,y) 时,从 grub4dos 内置菜单传递过来的 root 值=(找到并使用的 menu.lst 所在分区)default 0
timeout 1
fallback 1
title find /menu.lst
find --set-root --ignore-floppies /menu.lst
configfile /menu.lst
title find /boot/grub/menu.lst
fallback 2
find --set-root --ignore-floppies /boot/grub/menu.lst
configfile /boot/grub/menu.lst
title find /grub/menu.lst
fallback 3
find --set-root --ignore-floppies /grub/menu.lst
configfile /grub/menu.lst
...
恰恰是正确的,除非你画蛇添足地把 menu.lst 拷贝到 windows 分区。
哈哈,这个比喻很 diao 。。。billbear 写了: 这两天最新的 grub4dos 已经支持 uuid 命令了。新版本 grub4dos 还有一些恐怖的功能,比如 dd...
而且我发现它可以访问超出 bios 所及的磁盘区域
grub4dos 已经完全变成一只怪兽了。 gnu grub 相比之下就是个发育不良的小孩。
sun391 写了:2008年9月19日 ptptptptptpt 注:
1. 最标准的答案在5楼;
2. grub4dos 官方下载地址: http://download.gna.org/grub4dos/ ,grldr 包括在其中。
2008年9月21日 billbear 建议:
如果出现 file not found 说明 linux 分区的序号有变,或者除了 linux 分区外硬盘其它分区存在别的 menu.lst 文件。在确保硬盘里只有一份 menu.lst 的情况下,参照
viewtopic.php?t=135358&postdays=0&posto ... c&start=15
里17楼
光标移动到某个ubuntu启动项,按e键进行编辑,把 root (hd0,x) 那一行按d删掉,然后按b启动
进入系统后再永久修改 /boot/grub/menu.lst , 把里面所有的 root (hd0,x) 行要么行首加 # 注释掉,要么填入正确的 x 值。
这样就比较全面了。
重装windwos后 无法进入ubuntu
只要把 Linux下的 /boot目录放到windwos的C盘 顺便再把 grldr文件也放到C盘
然后修改boot.ini
它可能隐藏和只读 自己改下属性
再最后加入一句
C:\grldr=ubuntu
就可以了
grldr文件提供下载
http://sun391.netfast.org/grldr
如果你已经不能进入 linux了 请用下面这个win下的小工具 它可以读linux的分区
把/boot 目录 拷过来 就可以
http://sun391.netfast.org/explore2fs.exe
如果是UBUNTU9.04的话就要下最新的GRUB才行huangjiahua 写了:只拷贝 grldr , 修改 boot.ini ,
不要拷贝 boot 目录 ( 拷了的删除 C: 下的 boot 目录)
重启, 在 XP 启动菜单选 Ubuntu ,
grldr 应该会自己寻找 Linux 的 /boot 的。