安装时能否将Grub安装在分区上,而不是系统默认的硬盘MBR上?

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

安装时能否将Grub安装在分区上,而不是系统默认的硬盘MBR上?

#1

帖子 apen » 2006-08-01 19:53

我在一块盘上安装了多个操作系统,不想用Grub来管理启动,安装时能否将Grub安装在分区上,而不是系统默认的硬盘MBR上?
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53

#2

帖子 jarryson » 2006-08-01 20:24

在livecd中这好像没办法选择

但是你可以先在win下备份mbr

安装完后在还原

在安装grub for dos

然后用winnt的ntloader可以间接启动linux

或者到网站上去搜下fixmbr之类的软件
附件
MBRFixGUI_v1.2.rar
(539.49 KiB) 已下载 294 次
apen
帖子: 39
注册时间: 2006-07-21 14:25

#3

帖子 apen » 2006-08-01 20:55

没有用,我现在用SPFdisk来管理启动,修复了MBR后,在SPFdisk中无法从Ubuntu的安装分区启动,提示该分区无效。
头像
5451vs5451
帖子: 345
注册时间: 2006-07-14 18:56
来自: Apple Valley, Planet Tux, Linux System

Re: 安装时能否将Grub安装在分区上,而不是系统默认的硬盘MBR上?

#4

帖子 5451vs5451 » 2006-08-01 23:58

apen 写了:我在一块盘上安装了多个操作系统,不想用Grub来管理启动,安装时能否将Grub安装在分区上,而不是系统默认的硬盘MBR上?
安装过程最后问你要不要把Grub装到MBR,选否,然后指定你要把Grub装到的那个设备
lmsaga
帖子: 10
注册时间: 2005-07-10 10:26

#5

帖子 lmsaga » 2006-08-02 0:25

我也不喜欢直接装grub在mbr上,但又没有办法用desktopcd直接选,只能先将grub装在mbr上,然后再用windows的安装盘还原mbr,所以我用了以下的方法:

这里假设你要装grub在hdax分区上
首先用desktopcd安装好系统,然后
1.grub-install /dev/hdax
2.dd if=/dev/hdax of=./linux.lnx bs=512 count=1
3.cp linux.lnx (此文件即为引导扇区文件,将之copy到c:用ntrldr来调用)
4.recovery windows bootloader using following:

if you have MS Windows 2000/XP installed, you will need to have the Windows Installation CD. Insert the Installation CD into your CD-ROM drive and reboot your computer. When Windows Setup loads up, follow the onscreen instructions to open the Recovery Console. At the Recovery Console command prompt, type in the command "fixmbr" to reinstall the Windows bootloader into the MBR.

以上方法我个人已经用过好些次,完全没有问题,但不知道是否适用你的情况。
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53

#6

帖子 jarryson » 2006-08-02 0:30

fixmbr只是为了让ntloader引导

我说的是重新用ntloader后 安装grubfordos

有了grub还怕不能启动linux?

用ntloader启动grubfordos

在boot.ini下添加
c:\grldr="Grub for Dos"

具体方法搜一下

然后把在c盘boot下grub下的menu.lst里面添加相关内容用以启动ubuntu

反正我是这样作的

不知道你明不明白我的意思
apen
帖子: 39
注册时间: 2006-07-21 14:25

#7

帖子 apen » 2006-08-02 19:30

我的要求是将GRUB安装在操作系统安装的分区上,不要安装在MBR上,这样的话就可以用第三方的软件来管理启动了,如果安装时不能选择安装在分区上,安装后是否可以将GRUB从MBR移动到分区上?
头像
jarryson
帖子: 4002
注册时间: 2005-08-14 19:53

#8

帖子 jarryson » 2006-08-02 20:11

似乎没有这样的办法

你的概念好像不清楚

据我了解mbr就是硬盘最开始的一点空间(我说的不是专业名词,因为忘了)

好像只有主分区可以选择从哪个分区启动

而一般我们将linux是安装到扩展分区的

至于将grub写到分区上 这个分区上没地方存这个

你说的第3方软件怎么会有grub好 有它快么

有必要用第3方软件么 除非它能启动grub 或者直接支持linux

用这个软件启动这个分区然后启动grub然后启动linux 你麻不麻烦

实在不满意 我就没有其他办法了

你找到记得发帖说下
曾半仙
帖子: 48
注册时间: 2006-06-11 0:23

#9

帖子 曾半仙 » 2006-08-03 7:28

如果你已经安装在C了
那么先fixmbr清理掉C上面的Grub,然后进入Linux,将Grub安装到Linux所在分区.
输入grub就可以安装了,此物再特殊也是一软件,装完系统之后再装都行.
我一般/boot是单独一个100M区,Grub也安装在该分区.
apen
帖子: 39
注册时间: 2006-07-21 14:25

#10

帖子 apen » 2006-08-03 11:26

现在的问题是Ubuntu安装时不允许你将GRUB安装在分区上,只能安装在MRB上,我想知道如何在Ubuntu安装好后将GRUB从MBR移到安装Ubuntu的分区上,我进入GRUB后使用root(hd0,1),setup (hd0,1)也没有用。
曾半仙
帖子: 48
注册时间: 2006-06-11 0:23

#11

帖子 曾半仙 » 2006-08-04 8:24

就是说已经安装在mbr了,要不然干嘛让你重新装.
Grub的引导代码用dd可以从hda传到hdax,
但是安装在非启动分区的grub和启动分区的bootsector(貌似叫做stage0?)是否一样,传递后能不能启动,这个官方并没有说明,你要坚持不安装那你可以自己去验证.
我还是建议你删掉mbr的grub,然后重新安装.
grub-install /dev/hdax

因为fixmbr后,是从ntosloader启动,
如果楼主是想从Grub引导,那么将Grub所在分区设置为active状态.
如果要从ntloader引导Grub的分区
参照以前lilo安装在非mbr时候的操作,在ntloader里面加上hdax的启动扇区文件.
可以用dd做,更方便就用winhex.

刚才特地测过了,在mbr安装的Grub引导代码和在分区上安装的是不一样的.
03~3D和1BE~1DD之间相对于分区的bootsector上多了一些代码.
noah792
帖子: 8
注册时间: 2007-09-26 23:40

安装时能否将Grub安装在分区上,而不是系统默认的硬盘MBR上?

#12

帖子 noah792 » 2007-09-27 16:19

大哥,你这个问题解决了吗,我现在也面临这个问题呢
我用的是sfdisk
用SFdisk做了多主分区引导
第一个主分区装了XP
第二个主分区装了98
第三个主分区就是Ubuntu了
余下的就是扩展分区
扩展分区分两个逻辑盘
第一个是Ubuntu的Swap
第二个是用来存资料的Fat32
我是先安装XP和98后再安装Ubuntu的
但是安装后SFdisk没用了
直接进Ubuntu
于是我用SFdisk修复主引导记录
结果XP和98都能启动
但是Ubuntu挂了
提示Missing operating system
想来应该是SFdisk修复主引导记录的时候把Ubuntu的引导记录给删掉了
大哥帮忙回复一下
要是你解决了这个问题的话教我一下好吗
kazuyuki
帖子: 11
注册时间: 2007-09-15 22:14

#13

帖子 kazuyuki » 2007-10-02 20:44

如果你还能进ubuntu,那么在ubuntu下载用root权限运行:grub-install /dev/hda?
其中第一个主分区是hda0,第二个是hda1,第一个从分区是hda4,第二个是hda5,以此类推。如果是sata的硬盘,hda?要改成sda?才行,第一个是sda1,第二个是sda2,以此类推。
mbr的启动可以用windows原始的。我的方法是下载grub4dos,从中间解压出grldr文件,放到c盘,将原来的ntldr改名为xpldr,再将grldr改名为ntldr,只这样就不会出现xp的启动菜单直接从grub启动了。
回复