(问题已解决)见后文 老鸟:grub无法引导已安装完成的Ubuntu1004,内含详细代码,真诚求解

启动讨论 grub/grub2/syslinux/grub4dos/Lilo
回复
头像
xiaoqiushu
帖子: 41
注册时间: 2009-03-29 17:29
来自: 西南大学
送出感谢: 0
接收感谢: 0

(问题已解决)见后文 老鸟:grub无法引导已安装完成的Ubuntu1004,内含详细代码,真诚求解

#1

帖子 xiaoqiushu » 2010-05-01 3:16

前话,前不久因为ati的显卡驱动(我的是hd4650,不是老卡)升级到beta2后出现低画质且驱动无法卸载,于是删掉了910,重新安装1004beta2,结果每次都提示
stdin error 0
limit line7:
cant open /dev/sr0:no medium found
一般情况就是一直刷屏……刷了2分钟,就停了……
我怀疑之beta2有问题,我用的是硬盘法安装的,把grub4dos 0.44全解压到c盘,加载和iso和其中的两个文件(iso中casper目录下的initrd.gz和vmlinuz),修改了了menu.lst,
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper
iso-scan/filename=/Ubuntu-9.04-desktop-i386.iso
ro quiet
splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz


今天用正式版安装,还是出现了同样的问题,于是我翻过去用910的iso安装,结果出现的代码

initrd (hd0,0)/initrd.gz
error 15:file not found
press any key to continue

当然iso文件名字换成了相应版本的,
擦,以前不管是8.10和9,04 9.10的都没有问题啊,而且我的grub是在gnu下载的,不会有问题,
后来听人说不能要grub.exe
于是只留下了grldr和编写后的menu.lst,居然进了1004的live cd= =@!
后来安装的时候,在第7步,我没有安装引导器,想用xp引导grub在引导ubuntu,结果不行,我删掉了 c盘的iso只留了grldr,在进入xp的界面有grub进入,但是进不了ubuntu,想起以前重装了xp恢复ubuntu的方法,但是开机就是
一行
grub>
后来用光盘的diskgen恢复了mbr(不修复mbr,我连xp都进不来),重装了1004,/boot单独分区,引导器安装在/boot分区,结果还是不行,开机直接进入grub……没有文字菜单,貌似ubuntu的grub文件夹下面没有menu.lst……
于是我又用diskgen恢复mbr装了1004,这次只有一个/swap和/分区,第7步直接安装在/dev/sda,哎,就让它写入mbr吧……
后来在终端执行了一条命令
sudo grub-install /dev/sda

好像提示grub安装成功了的,那时候我真高兴了,以为解决了问题在重启后

结果又和上一次一样,开机进入
grub>……

下面我又试了试以下代码
grub> find /boot/grub/stage1
hd(0,9)
grub> root (hd0,9)
checking if "/boot/grub/stage1" exists... yes
checking if "/boot/grub/e2fs_stage1_5" exists... yes
running "embed /boot/grub/e2fs_stage1_5 (hd0)" ...17 sectors are embedded succeeded
running "install /boot/grub/stage1 (hd0) (hd0) 1+17 9(hd0,9) boot/grub/stage2
/boot /grub/menu.lst"...suceeded
于是我再次搜寻menu.lst,结果……悲剧啊
grub> find /boot/grub/menu.lst
error 15:file not found
而且每次我用diskgen修复mbr后,开机xp很慢,一般只要30秒,但是修复后要1分钟开机,还提示硬件不全 要重启,有截图


那位老鸟,求你们拯救我吧
快疯掉了,我怎么感觉我的grub老鼠安装不了啊,就上面的安装,你们数数我安装了几次了……
如果告诉你们今天我还重装了xp一次,备份一次,还原了3次……估计没人受得了了
写完这篇求助帖子的时候,我快虚脱了,因为我自己都烦死了 :em20



我的理解是这段代码是搜索Ubuntu的分区并且设置引导,明明就把Grub的menu.lst写入成功了,怎么我重新find的时候,说没有发现menu.lst呢
如果这样开机的话,进入的就只有一个Grub环境
我的问世怎么修复Ubuntu的开进引导,并且能让Ubuntu和xp都能够引导???


解决方法

)用livecd修复grub
用ubuntu9.10的livecd启动后,打开终端
假如你的ubuntu的 / 分区是sda7,又假如 /boot分区是 sda6,用livecd启动,在终端下输入
sudo -i
mount /dev/sda7 /mnt
mount /dev/sda6 /mnt/boot (如果没 /boot 单独分区这步跳过)
grub-install --root-directory=/mnt /dev/sda

和前面一样,要装入第二硬盘的把sda改为sdb。

如果grub.cfg己丢失,或grub.cfg出现错误,需要重建的继续执行下面操作:
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
exit
我用的是1004的修复盘(软碟通u刻录,不是USB-CDROM,是USB-HDD)
参考 引导板块置顶帖子Grub2教程关于引导修复
懒得看那个帖子的直接下载提供的pdf教程 :em06
附件
未命名.JPG
上次由 xiaoqiushu 在 2010-05-02 7:55,总共编辑 2 次。
头像
速腾1994
论坛版主
帖子: 17363
注册时间: 2008-11-01 20:43
系统: Arch+gnome
送出感谢: 23 次
接收感谢: 8 次

Re: 老鸟:grub无法引导已安装完成的Ubuntu1004,内含详细代码,真诚求解

#2

帖子 速腾1994 » 2010-05-01 8:47

下载10.04的Desktop ISO放c盘根目录,并且解压ISO在casper文件夹取vmlinuz和initrd.lz到c盘根目录,在C盘搜索menu.lst,用记事本打开:在里面添加
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper iso-scan/filename=/ubuntu-10.04-rc-desktop-i386.iso ro quiet
splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
保存
不要grub4只要grldr就行
头像
qcpass
帖子: 107
注册时间: 2009-10-31 19:58
送出感谢: 0
接收感谢: 0

Re: 老鸟:grub无法引导已安装完成的Ubuntu1004,内含详细代码,真诚求解

#3

帖子 qcpass » 2010-05-01 9:02

title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper
iso-scan/filename=/Ubuntu-9.04-desktop-i386.iso
ro quiet
splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
你这里是不是kernel (hd0,0)/vmlinuz boot=casperiso-scan/filename=/Ubuntu-9.04-desktop-i386.isoro quiet分成几行了?
ISO镜像名称也不对
initrd (hd0,0)/initrd.gz
error 15:file not found
press any key to continue
是initrd.lz才对,/initrd.gz当然找不到

想用xp引导grub在引导ubuntu
10.04采用grub2 ,menu.lst无效,要引导ubuntu请看置顶帖GRUB2教程
后来在终端执行了一条命令
sudo grub-install /dev/sda
多此一举
头像
xiaoqiushu
帖子: 41
注册时间: 2009-03-29 17:29
来自: 西南大学
送出感谢: 0
接收感谢: 0

Re: 老鸟:grub无法引导已安装完成的Ubuntu1004,内含详细代码,真诚求解

#4

帖子 xiaoqiushu » 2010-05-01 20:58

qcpass 写了:
title Install Ubuntu
root (hd0,0)
kernel (hd0,0)/vmlinuz boot=casper
iso-scan/filename=/Ubuntu-9.04-desktop-i386.iso
ro quiet
splash locale=zh_CN.UTF-8
initrd (hd0,0)/initrd.lz
你这里是不是kernel (hd0,0)/vmlinuz boot=casperiso-scan/filename=/Ubuntu-9.04-desktop-i386.isoro quiet分成几行了?
ISO镜像名称也不对
initrd (hd0,0)/initrd.gz
error 15:file not found
press any key to continue
是initrd.lz才对,/initrd.gz当然找不到

想用xp引导grub在引导ubuntu
10.04采用grub2 ,menu.lst无效,要引导ubuntu请看置顶帖GRUB2教程
后来在终端执行了一条命令
sudo grub-install /dev/sda
多此一举

大哥,现在我是进不了Ubuntu了,还终端……

你这里是不是kernel (hd0,0)/vmlinuz boot=casperiso-scan/filename=/Ubuntu-9.04-desktop-i386.isoro quiet分成几行了?
ISO镜像名称也不对

这一段,你说的,我在安装1004正式版的时候改成了一行,忘了说出来,而且我说了ISO文件名字改成了相应的版本,1004的正式版是安装成功了的,但是

我现在的问题是进不了Ubuntu,用diskgen修复mbr能进入xp,我在进入xp后,在c盘添加了grldr,boot.ini添加 c:\grldr="Grub"在重启后,选择grub,然后输入命令

下面我又试了试以下代码
grub> find /boot/grub/stage1
hd(0,9)
grub> root (hd0,9)
checking if "/boot/grub/stage1" exists... yes
checking if "/boot/grub/e2fs_stage1_5" exists... yes
running "embed /boot/grub/e2fs_stage1_5 (hd0)" ...17 sectors are embedded succeeded
running "install /boot/grub/stage1 (hd0) (hd0) 1+17 9(hd0,9) boot/grub/stage2
/boot /grub/menu.lst"...suceeded
于是我再次搜寻menu.lst,结果……悲剧啊
grub> find /boot/grub/menu.lst
error 15:file not found

我的理解是这段代码是搜索Ubuntu的分区并且设置引导,明明就把Grub的menu.lst写入成功了,怎么我重新find的时候,说没有发现menu.lst呢
如果这样开机的话,进入的就只有一个Grub环境
我的问世怎么修复Ubuntu的开进引导,并且能让Ubuntu和xp都能够引导???
e2002
帖子: 245
注册时间: 2006-06-07 18:15
送出感谢: 1 次
接收感谢: 2 次

Re: (问题已解决)见后文 老鸟:grub无法引导已安装完成的Ubuntu1004,内含详细代码,真诚求解

#5

帖子 e2002 » 2010-05-02 11:12

昨天安装Kubuntu 是装在 sdb的,安装时要选择一下grub2的安装t位置,疏忽了....
用 live cd启动修复很简单的 ,不需要命令行mount那些, 在 Nautilus 中直接点击安装有系统的那个分区(如果 /boot单独分区的话,直接挂这个单独分区应该也可以,未测试), 然后 sudo grub-install --root-directory=/media/YOUR_SYS_PART /dev/sdX 即可
回复

回到 “启动和引导”