首先从ftp://alpha.gnu.org/pub/gnu/grub 下载grub的源代码,得到文件grub-0.5.96.1.tar.gz,然后:
# tar -xvzf grub-0.5.96.1.tar.gz
这个命令将解开的文件和目录放在一个名为grub-0.5.96.1的目录中。现在运行如下命令:
#cd grub-0.5.96.1
# ./configure
如果你想定制grub,使之包含流行的文件系统和对网卡的支持,或者删除你不需要的网卡,可以运行如下命令:
# ./configure --help
这个命令将输出所有的命令选项。现在可以使用—enable和—disable选项增加或删除对特定网卡的支持。(注意:grub支持网络启动)
为了开始编译过程,键入如下命令:
# make
# make install
至此你已经为安装grub真正做好了准备。
1. 安装到主引导区
将grub的相关文件保存在诸如/boot/grub的目录中。默认状态下,grub所有文件将安装在/usr/share/grub/i386-pc(或者在/usr/local/share/grub/i386-pc目录下,这只取决于shell变量的设置。) 。建立一个叫做/boot/grub的目录,然后拷贝下列文件到这个目录:stage1 stage2 * stage1 5。同时也要把grub(可能在/usr/sbin或者/usr/local/sbin目录下)拷贝到/boot/grub目录下。
#cd /boot/grub
# ./grub
这个命令根据BIOS的设置检测硬件设备,同时产生一些输出信息。这会花较长的时间。
TAB键可列出可能的命令列表。其它情况下TAB会列出设备或文件名。类似下面的提示会出现:
grub>
接下来,需要确定grub的root分区(注意,这不是Linux的root分区),也就是/boot/grub/stage1所在的分区。如果不能确定,可用find命令查找:
grub>find /boot/grub/stage1
找到之后,就可以指定找到的分区了:
grub>root (hdx,y)
其中,x是该分区所在硬盘,y是该分区的分区号。
然后,就可以指定grub的安装位置了:
grub>setup(hdx,y)
其中x是grub所在硬盘,y是grub将会安装到的硬盘分区。若是希望安装到MBR,则用命令setup (hd0)即可。
如果MBR被改写了,可用Linux的安装盘,按F4进入rescue模式,然后在命令行中输入sh#grub。出现grub>的提示符后,按照上面的步骤安装即可。
2. 安装到软盘上
法一:
安装stage1到软盘上: 插入一张已格式化的软盘
#cd /boot/grub
# dd if=stage1 of=/dev/fd0 bs=512 count=1
命令的详细说明如下:
if=输入文件
比如说 stage1
of=输出路径
比如说 软盘(不是在每台机子中软盘都是/dev/fd0,具体可用fdisk –l查看)
bs=读出或是写入的字节数
这里是512字节
count=执行前面操作的次数
安装stage2到软盘 :
# dd if=stage2 of=/dev/fd0 bs=512 seek=1
这里的步骤同stage1的相同,除了一个seek选项外。Seek选项将跳过一个“bs”。例如,在上面的命令中bs的值是512,这样seek=1意味着将跳过软盘上前512个字节 ,从513字节开始。这将使得第一步操作不会覆盖stage1的前512字节。
法二:
将一张空盘插入 1.44MB 软驱,输入:
# mke2fs /dev/fd0
创建了 ext2 文件系统后,需要安装该文件系统:
# mount /dev/fd0 /mnt/floppy
现在,需要创建一些目录,并将一些关键文件(原先安装 grub 时已安装了这些文件)复制到软盘:
# mkdir /mnt/floppy/boot
# mkdir /mnt/floppy/boot/grub
# cp /boot/grub/stage1 /mnt/floppy/boot/grub
# cp /boot/grub/stage2 /mnt/floppy/boot/grub
从 root 用户运行“grub”,该程序实际上是grub 引导装入器的半功能性版本。尽管 Linux 已经启动并正在运行,您仍可以运行 grub 并执行某些任务,而且其界面与使用 grub 引导盘或将 grub 安装到硬盘 MBR 时看到的界面(即grub控制台)完全相同。
在 grub> 提示符处,输入:
grub> root (fd0)
grub> setup (fd0)
grub> quit
即可。