Chinaunix首页 | 论坛 | 博客
  • 博客访问: 308833
  • 博文数量: 321
  • 博客积分: 10055
  • 博客等级: 上将
  • 技术积分: 3780
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-29 13:03
文章分类

全部博文(321)

文章存档

2012年(1)

2010年(7)

2009年(1)

2008年(312)

我的朋友

分类: LINUX

2008-09-20 22:23:54

作者:us.cai

笔者优盘上的slax向来都是由syslinux引导启动。鉴于GRUB的强大,一直在想把GRUB安装到优盘,由GRUB进行引导工作。今日闲于家中,经过测试终于成功。

优盘使用的是Sandisk cruzer micro 512M(当初可是花了300多大洋,如今4G大小的优盘也不过百来块钱),分区为FAT格式。以syslinux引导的时候优盘无需作任何处理; 但要以GRUB引导必须改动分区表,否则会成为未识别设备(unrecognized device)。事前将优盘里面所有的资料考到硬盘上备份。

由于PartionMagic不能识别可移动磁盘,所以这里使用usbboot1.7 对优盘进行处理,选择以USB-HDD即硬盘方式进行分区及格式化,

完成后可以在windows的磁盘管理中看到优盘分区为活动分区。

这样做的目的是给优盘建立分区表(partion table)信息,并将第一个分区(primary partion)标记为活动分区(active)。最后将先前备份出来的slax6.07里面的两个文件夹slax和boot重新拷贝至优盘,同时把硬盘上已经安装好的Fedora 9中/boot下面的GRUB文件夹拷贝到优盘的boot文件夹下面。

设置BIOS以本机硬盘优先方式启动电脑(笔者硬盘MBR已经安装有GRUB,用GRUB4DOS也一样),在出现GRUB引导画面时按C进入GRUB SHELL,输入“setup (hd1)”就会提示安装成功,观察运行结果就会发现实际执行的是:

install /grub/stage1 d (hd1) (hd1)1+23 p (hd0,5)/grub/stage2 /grub/grub.conf

因为事先没有指定root位置,所以GRUB把当前硬盘的引导信息写到了优盘,这会造成以后优盘GRUB启动时找不到stage2以及配置文件。因此重新手动执行GRUB的安装:

install (hd1,0)/boot/grub/stage1 d (hd1) (hd1)1+23 p (hd1,0)/boot/grub/stage2 (hd1,0)/boot/grub/grub.conf

执行完成后显示安装成功。

以后就可以通过编辑优盘/boot/grub/下面的grub.conf来配置GRUB了。笔者的配置文件如下:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,5)
# kernel /vmlinuz-version ro root=/dev/sda7
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd1,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Slax 6.07
root (hd0,0)
kernel /boot/vmlinuz load_ramdisk=1 ramdisk_size=128000 root=/dev/ram0 init=linuxrc max_loop=255
initrd /boot/initrd.gz
title My Fedora 9
root (hd1,5)
kernel /vmlinuz-2.6.25.3-18.fc9.i686 ro root=UUID=5336f882-56cb-4d35-b125-b83dd2296e00 rhgb quiet
initrd /initrd-2.6.25.3-18.fc9.i686.img
title Windows
rootnoverify (hd1,0)
makeactive
chainloader +1

安装完成后测试启动优盘上的slax和硬盘上的fedora 9都没有问题,但是没能启动windows。查阅了一些资料才知道必须要进行硬盘的交换映射才行,使用map命令进行,也可以写进grub.conf:

map (hd0) (hd1)
map (hd1) (hd0)
root (hd1,0)
chainloader (hd1,0)+1

至此结束安装。
阅读(324) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~