grub-install --root-directory=/mnt /dev/hda
三、修改Grub配置文件
1)创建挂载目录
mkdir /mnt/boot
2)挂载硬盘或相关设备
mount /dev/hda1 /mnt/boot
3)修改device.map文件, 删除(fd0),(hd1)之类整行语句
vi /mnt/boot/grub/device.map
4)创建或添加grub/grub.conf文件,并添加如下内容
vi /mnt/boot/grub/grub.conf
title Little Linux
root (hd0,0)
kernel /vmlinuz ro root=/dev/hda quiet
initrd /initrd.gz
(注:此处vmlinuz为内核文件,initrd.gz为内存根文件系统)
四、复制内核文件和内存根文件系统到硬盘或相关设备的根目录下并命名为vmlinuz及initrd.gz
cp ....../..... /mnt/boot/vmlinuz
cp ....../..... /mnt/boot/initrd.gz
五、重启测试,应该可以看见启动菜单了
PS:手动方式(假设宿主系统已有/boot/grub,且目标设备为/dev/hda)
1、mkidr /mnt/boot (创建挂载目录)
2、mount /dev/hda1 /mnt/boot (挂载硬盘或相关设备)
3、mkdir /mnt/boot/grub (目标盘建立grub目录)
4、cp /boot/grub/device.map /mnt/boot/grub (拷贝宿主盘中的grub必要文件)
5、cp /boot/grub/stage1 /mnt/boot/grub (拷贝宿主盘中的grub必要文件)
6、cp /boot/grub/stage2 /mnt/boot/grub (拷贝宿主盘中的grub必要文件)
7、vi /mnt/boot/grub/grub.conf (修改grub配置文件)
default=0
timeout=10
title Linux
/vmlinuz ro root=/dev/hda quiet
initrd /initrd.gz
8、cd /mnt/boot/grub (进入目标盘grub目录)
9、ln -s grub.conf menu.lst (创建一个链接)
10、/sbin/grub --batch --device-map=/dev/null <<EOF (执行安装grub动作命令)
device (hd0) /dev/hda
root (hd0,0)
setup (hd0,0)
quit
EOF
11、重启测试