GRUB 安装

关于安装GRUB
·下载并安装GRUB包:
  你可以到< ftp://alpha.gnu.org/gnu/grub/>;得到GRUB,然后:
  # zcat grub-0.5.94.tar.gz | tar xvf -
  会生成一个目录grub-0.5.94,再:
  # cd grub-0.5.94
  # ./configure
  # make install
  这样GRUB就安装好了,下面你需要在你的硬盘或者软盘引导区上安装GRUB引导代码。
  a. 制作GRUB引导软盘:
  # cd /boot/grub
  # dd if=stage1 of=/dev/fd0 bs=512 count=1
  # dd if=stage2 of=/dev/fd0 bs=512 seek=1
  grub>; root (hd0,0)
  这里牵涉到GRUB的设备命名规则,这在GRUB基础已经讲过了。此处(hd0,0)是指第一块硬盘的第一个分区。
  如果你不能够确定安装GRUB所在的分区号的话,可以通过find指令查找:
  grub>; find /boot/grub/stage1
  GRUB将会查找文件/boot/grub/stage1并显示包含这个文件的设备名,当然就是我们安装GRUB所在的分区。下面就可以写引导记录了:
  grub>; setup (hd0)
  这条命令将会在第一块硬盘的MBR安装GRUB引导,如果你不想在MBR安装GRUB,而是希望将GRUB安装在分区的引导扇区的话,你可以用下面指令指定安装设备:
  grub>; setup (hd0,0)
  这将会在第一块硬盘的第一个分区的引导扇区安装GRUB。
  OK,现在你就可以重新启动由GRUB引导你的系统。
其中的问题:
通过我很多次试验,如果把GRUB装载在操作系统的引导区——(hd0,0),也就是硬盘的(0,1,1)扇区,并且该分区是FAT32,将会出现问题。
问题是,用DOS无法访问该分区,因为GRUB的引导代码装载到(0,1,1)扇区时,有部分代码覆盖了FAT32的分区信息,但是这个问题只会在DOS访问这个分区时出现,但是如果把NTLOADER提取为一个文件,用GRUB引导之,则可以启动XP。其实这个问题还是比较严重的,因为DOS不可以访问这个分区的时候,基本上所有的DOS软件已经没有能力读取这个分区了。如果分区上放着,GRLDR、IELDR等引导文件也会出错误,无法引导。所以建议如果这个分区装的是微软的操作系统无论是98还是2000、XP都不要把GRUB装到操作系统的引导区——(hd0,0)。
不过还是有解决的办法的,这个办法就是提取GRLDR文件的某个扇区。具体做法参看下面用GRLDR安装GRUB方法:
------------------------------------------------------
用 grldr 安装GRUB
将 GRLDR 的第四扇区经过修改之后放置到软盘的第一扇区,然后将 GRLDR 拷贝到软盘根目录。
具体步骤可以这样:
a. 格式化一张FAT格式的软盘,或者用任何一张现有的已经格式化了的FAT格式的软盘。
b. 将软盘第一扇区读入内存区域1,将 GRLDR 第四扇区读入内存区域2。
c. 将 内存区域1 的 0x02 至 0x3d 这 60 个字节复制到 内存区域2 的 0x02 至 0x3d。
d. 将更改后的 内存区域2 写入软盘第一扇区。
e. 把 GRLDR 文件复制到软盘根目录。【这一步任何时候做都行,不在乎先后】。
以上假定软盘是 FAT12 或者 FAT16 的格式。如果软盘是 FAT32 格式,则需要将上述 b,c 两个步骤改写为:
b. 将软盘第一扇区读入内存区域1,将 GRLDR 第三扇区读入内存区域2。
c. 将 内存区域1 的 0x02 至 0x59 这 88 个字节复制到 内存区域2 的 0x02 至 0x59。

将 GRUB 安装到硬盘主引导磁道(MBR 以及紧接 MBR 之后的几个扇区)的方法:
a. 将硬盘第一扇区(MBR)读入内存区域1,将 GRLDR 开头 16 个扇区读入内存区域2。
b. 将 内存区域1 的 0x01b8 至 0x01ff 这 72 个字节复制到 内存区域2 的 0x01b8 至 0x01ff(这个区域是Windows 的 disk signature 以及硬盘分区表)。
c. 将更改后的 内存区域2(其长度是 16 个扇区)写入硬盘开头的 16 个扇区上(也就是 MBR 以及紧接着它后面的 15 个扇区上)。
(声明:以上步骤写入 MBR,危险!!操作一定要谨慎,千万避免出现阴差阳错,一定保证不要失误!)
注:GRLDR 只可以按照如上所说安装到软盘引导区或者硬盘的“主引导区”,不可以安装到硬盘上某个“分区”的引导区。
---------------------------------------------------------
(经我测试,对软盘有用,对硬盘也有用。原文说不能装到操作系统引导区有误。)
按上述方法把GRUB装到操作系统引导区就可以了,这样装好后,经我测试,没有发现问题。
不过装到操作系统引导区(在后面称DBR,即DOS BOOT RECORD),还是要满足点条件的。
我自己做过试验:
1、当DBR为WIN98时,也就是DOS7.1。不能加载GRLDR或IELDR,可以加载NTLOADER;(NTLOADRER是我自己提取的以前WINXP的DBR,即系统为XP时的(0,1,1)扇区,512字节)
2、用BOOTPART.EXE(修复微软DBR的工具)“BOOTPART WINNT BOOT:C:”修复后,GRLDR、IEDLR可以加载。(注,我还做了个试验,把DOS7.1的DBR放到0,0,63扇区后,此时GRUB无法引导这个DBR,如果有SYS.COM C:修复后,DOS7.1的DBR才可以引导,此时在用BOOTPART.EXE修复,DOS7.1的DBR、NTLOADER、GRLDR、IELDR全部可以引导。

综上,GRUB可以安装到 MBRDBR、或者 通过NTLOADER加载GRLDR文件
但装到DBR是最危险的,也是问题最多的,稍有不慎就会出问题。
不论装到哪里,都应该先做好备份
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值