关于grub的疑问

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
bakyo
帖子: 16
注册时间: 2007-10-03 2:28

关于grub的疑问

#1

帖子 bakyo » 2007-10-22 14:26

先说一下我艰苦的安装过程。。
我是在官方网下载 ubuntu-7.10-alternate-i386.iso 照着<<图解硬盘安装 Ubuntu 7.04 >>的方法通过 grub for dos 安装 Ubuntu 7.10 的。 在进行到 “选择安装软件” 安装 Desktop 这一步出错了,试了几次都不行,Desktop 安装不了,只装了个基本系统。进入系统后,在纯文本界面上想通过修改源然后 apt-get install ubuntu-desktop 安装桌面,但由于源地址抄错了一直更新不了源(后来发现是把 deb http://tw.archive.ubuntu.com/ubuntu gutsy main restricted universe multiverse 抄成 deb http://tw.archive.ubuntu.com/ubuntu/gutsy main restricted universe multiverse ,在 "ubuntu" 后面多了一个"/",好像其它的源这里都是一个 "/"的,就这个源是个空格)。没办法只能回到XP下直接去复制粘贴来修改 sources.list ,但这时候 windows 的引导已经被删掉了,而且安装不了桌面启动的时候是不会有操作系统选择的,直接进入linux,这时候的 /boot/grup/mune.lst 是空白的。只能在DOS下 fdisk 设置c盘为活动分区(没有这一步的话我的机子启动时会 "missing load operating system"),再 fdisk /mbr 重写windows 引导。然后在XP下修改 sources.list (我已经有装了etx3forwindws了)。这时候 ubuntu 又进不去了,只能再次通过 grub for dos 来引导,在 C 盘下新建一个文件 mune.lst, 加入下面代码

代码: 全选

root (sd0,2)
kernel (sd0,2)/boot/vmlinuz-2.6.22-14-generic ro root=/dev/sda8 --typelinux=ext3
initrd (sd0,3)/boot/initrd.img-2.6.22-14-generic
boot
进入系统后再 apt-get install ubuntu-desktop。 OK。。漫长的等待,花了一个多小时,学校的网速被限在120K。。
安装完后可以进入桌面了,但还有一个问题, windos的引导又被删掉了,,而且启动的时候还是没有选系统选择的过程,也没有 ubuntu 的启动画面和进度条,都是纯文本的,还会花很长的时间在检查硬件,也就是跟刚才只有基本系统时的启动一样,但安装系统的时候我已经把windows的mbr导进grub了,而且这时候的 mune.lst 也已经有东西了。。

代码: 全选

default		0

timeout		10

## ## End Default Options ##

title		Ubuntu 7.10, kernel 2.6.22-14-generic
root		(hd0,2)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=bbc8b96d-bfa0-4ac0-b94c-dd8799ec595d ro quiet splash
initrd		/boot/initrd.img-2.6.22-14-generic
quiet

title		Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)
root		(hd0,2)
kernel		/boot/vmlinuz-2.6.22-14-generic root=UUID=bbc8b96d-bfa0-4ac0-b94c-dd8799ec595d ro single
initrd		/boot/initrd.img-2.6.22-14-generic

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title		Other operating systems:
root


# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/hda1
title		Microsoft Windows XP Professional
root		(hd0,0)
savedefault
makeactive
chainloader	+1
好像不起作用,启动的时候不去读这些的。于是我又想把 c 盘里的 mune.lst 换成上面的内容,以后直接通过 grub for dos 引导 linux 。又得重复上面的 fdisk 步骤了。
修改后在启动时选择 grub for dos 可以看到熟悉的统系择界面了,选择了第一个 Ubuntu 7.10, kernel 2.6.22-14-generic 进入 ubuntu ,这时候启动过程跟以前的一样了,有启动画面进度条了, 也快了很多。
本来以为搞定了,但再次重启的时候问题又出来了, windows 的引导又被删了,这样子 grub for dos 也没了,又回到了刚才纯文本启动的样子了。
后来又在论坛里找了一种方法

代码: 全选

sudo dd if=/dev/hda of=/media/linux.lnx bs=512 count=1
把生成的 linux.lnx 文件拷到 c 盘,修改 c:\boot.ini 文件,添加 c:\linux.lnx=ubuntu 。。当然还是得再一次重复 fdisk 步骤了。。。
重启后选择操作系统时选 ubuntu 进入 ubuntu ,还是纯文本的启动过程,但这次不会再把 XP 的引导给删了。
也就是说现在是两个系统都可以进了。。就是不是像以前那样通过 linux 引导 windows 了,而是通过 windows 引导 linux ,而且 ubuntu 的启动只能是纯文本形式的,最最那个的就是每次启动都要经历漫长的硬件检查过程。
我这里有几个问题
为什么通过 grub for dos 引导 ubuntu 会把 windows 的引导给删了?
为什么启动界面是纯文本的,好像不读取 vmlinuz initrd.img mune.lst 这些文件的?
论坛里有说通过安装盘重写 grub 可以恢复过来,但我没安装盘要怎么样才能重写 grub ?而且让系统是从 grub 启动的,我发觉好像现在系统的引导不是通过 grub 的。。好像启动的时候第一行字是 lilo loading linux .......。。
因为刚接触 linux ,有些东西还很陌生,论坛里面有很多关于 grub 的帖子,我有看过,有一些看不懂,但好像有很多都是说 grub 坏了,我感觉我的应该不是坏了,而是一些设置的问题。
希望高手门不吝赐教。。。
回复