2008年3月2日星期日

如何将Slax/Fanx安装到硬盘并添加启动项

如何将Slax/Fanx安装到硬盘并添加启动项

由于Slax由4系列发展到5系列,发生了很大的变化,所以对于这两个系列的安装方法是有一些差别的。两者都存在两种安装模式,一种是Live模式,一种是Real模式,前者只是把ISO中的模块文件和其他必要的启动文件拷贝到硬盘上,即由Live
CD变成了Live HardDisk,后者则是真正意义上的Linux安装。


对4系列来说


1.以Live模式安装到硬盘




(1)在dos下引导




解压iso文件到某个FAT分区中,例如d:\fanx\

修改fanx\dos目录下的config文件如下:



\fanx\vmlinuz


root=/dev/ram0

rw

initrd=\fanx\initrd.gz

init=linuxrc

load_ramdisk=1

prompt_ramdisk=0


ramdisk_size=7777

max_loop=255

livecd_subdir=/fanx/



然后进入dos,执行fanx\dos下的linux.bat即可启动fanx


(2)用grub引导




假设 fanx-1.0.iso里的文件都放到了c盘fanx目录下,

grub引导时,参数是



kernel (hd0,0)/fanx/boot/vmlinuz max_loop=255 init=linuxrc livecd_subdir=/fanx/
hdsubdir=/fanx/
load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=15000 root=/dev/ram0
rw

initrd (hd0,0)/fanx/boot/initrd.gz



如果放在其它盘或其它目录的话就更改相应的参数。

这种方法能引导fanx的任何版本,但是对于5系列来说,蓝色的字是没有必要的


2.以Real模式安装到硬盘


就是像安装其它Linux版本一样安装在硬盘,这样需要一个Linux分区。为了方便安装,请先用自己熟悉的分区工具(推荐使用Pqmagic)分出一个ext2(ext3或其他日志文件系统也可以)分区来,1个G的空间是绰绰有余了,SLAX放到硬盘大概是500M多一点。在SLAX中包含了一个安装到硬盘的脚本slax-install,虽然还不是很完善,但是我们仍然可以使用它。用cd启动后运行
slax-install ,选择你准备好的ext分区即可开始复制文件。如果读者无法启动安装脚本也不要紧,手动安装也并不麻烦。进入KDE后在根目录下直接将usr、opt、bin、sbin、lib、var、root、etc文件夹复制到准备好的分区中,一般情况下,该分区已经被挂载到/mnt目录下。其他文件夹创建一个空文件夹就行,这样的文件夹有dev、boot、mnt、proc、tmp,然后将光盘目录下的vmlinuz复制到选择安装分区的boot文件夹下。


接下来是引导问题了,如果已经有其它的linux系统的话就容易的多,你可以将关于fanx中的相关项目添加到引导菜单中。无论是lilo还是grub,都可以。FanX中是有lilo的,你可以尝试将其装在MBR,这里提供用loadlin引导的方法:复制光盘目录下的vmlinuz和dos目录下的loadlin.exe到某个fat分区下运行:



loadlin vmlinuz root=/dev/hda4 //这里根据你安装的分区会有不同




即可启动硬盘上的fanx


对5系列来说


无论是安装还是引导都要容易的多。


1.以Live模式安装到硬盘



(1)安装同上1-(1),引导也一样




(2)安装同上1-(1),但是没有必要修改config文件



用Slax-5 的光盘启动计算机,等待载入vmlinuz和initrd.gz后立刻取出光盘,系统会自动搜寻到硬盘上的SLAX,并且启动它。



(3)用Live模式将Slax装入硬盘并用lilo引导




光盘启动进入系统并以root用户登录桌面。运行/usr/share/slax/下的slax-install.kmdr可以启动系统自带的安装程序,第一空白栏选择目标源,/boot、/mnt、/hdc都可以。第二空白栏选择要安装SLAX的分区,这个分区是已经被挂载到/mnt下的,这里比如要装到/mnt/hda10/slax5。既然是用lilo来引导的,lilo就应该装到硬盘的MBR,所以第三空白栏应该选择/dev/hda。“Installaton
method”项应该选中第一项Live。







需要注意的是,Slax只安装自己的引导程序,lilo会覆盖Windows的引导菜单,而且Windows的引导菜单不会被添加到lilo的引导菜单中,所以还需要手动添加Windows的启动菜单。幸运的是,这个过程并不复杂。马上修改/mnt/hda10/slax5下的lilo.conf文件,假设我们的Windows是装到C:盘,并且在FanX中看到的/mnt/hda1,也就是装在磁盘的第一分区,那么这个文件的内容就应该是:




boot = /dev/hda


prompt

timeout = 1200 //这儿是等待时间,1200就是120秒

bitmap=/etc/splash.bmp

change-rules

reset

vga = normal


image = /boot/vmlinuz

root = /dev/hda10 //这儿将原来的current改为/dev/hda10

label = slax

read-write

other = /dev/hda1 //从这儿开始是需要添加的

label = Windows XP


table = /dev/hda



如果具体位置不同需要做对应的更改。做到这一步还是不够的,重启机器后你会发现还是只能进入SLAX,这时还需要做的就是运行一下lilo命令:



lilo –C /mnt/hda10/slax5/lilo.conf //注意参数C是大写的



所有的设置在下次重启后才能生效。关于lilo更详细的用法可以参考它的文档。



2.以Real模式安装到硬盘


另一种就是像安装其它Linux版本一样安装在硬盘,这样需要一个Linux分区。为了方便安装,请先用自己熟悉的分区工具(推荐使用Pqmagic)分出一个ext2(ext3或其他日志文件系统也可以)分区来,1个G的空间是绰绰有余了,SLAX放到硬盘上大概是500M多一点。



(1)用lilo引导:



同样运行/usr/share/slax/下的slax-install.kmdr程序,在第一空白栏中输入/,第二空白栏中选择要安装SLAX的分区,第三栏是设置引导程序lilo的,如果想要用lilo引导就选hda,也就是MBR,否则清空这一栏。然后选中“Real”模式,点击Install开始安装。在lilo中添加windows的启动菜单和上面完全相同。








(2)用loadlin引导



用loadlin启动需要使用读写参数来引导。将光盘根目录下的vmlinuz和dos目录下的loadlin.exe复制到某个非NTFS分区的根目录下,例如d:\,然后启动到DOS下:


D:\>

D:\>loadlin vmlinuz root=/dev/hda10 rw //安装分区为hda10



(3)用grub引导



如果读者已经有grub引导程序了,Slax的引导必须是读写模式下,否则系统不可启动。添加Slax的相关行只要有vmlinuz就行了,添加关于initrd.gz文件的行是没有必要的,有了反而启动不了。例如笔者的grub.conf的内容如下:



timeout = 10

default = 0




title WindowsXP

root (hd0,0)

makeactive

chainloader +1



title SLAX-5


root (hd0,9)

kernel /boot/vmlinuz rw root=/dev/hda10 //这儿的rw即为读写模式


Fanx-1.0中安装了grub引导程序和kgrub图形界面管理工具,需要用grub引导的朋友可以使用这两个小软件。Fanx下grub安装到MBR需要的命令为:




grub //运行grub命令

grub> //出现这样的提示符


root (hd0,9) //root和(hd0,9)之间有一个空格,0代表是第一块硬盘,9代表你的主分区是hda10,这是grub的理解方式,需要特别注意!


setup(hd0) //将grub安装到MBR

然后可以用kgrub添加其它的系统。


注意:无论以何种方式安装到硬盘,系统在重新启动之前都要弹出光盘。如果是从CD来启动的,这样做当然是最好不过,可是安装到硬盘后还要弹出光盘就有点过头了。这是关机脚本的一个小bug,是/etc/rc.d/rc.6这个脚本来执行的,我们所要做的就是将这个脚本中有关弹出光盘的行前面加#号注释掉:



# eject cdrom devices


# ../usr/lib/liblinuxlive

# echo "Ejecting all CDROMs..."

# list_cdrom_devices | while read DEVICE; do

# cdrecord dev=$DEVICE -eject >/dev/null 2>/dev/null

# can't use eject because it's not working with our kernel


# eject -s $DEVICE >/dev/null 2>/dev/null

# done


以Real模式安装到硬盘这样做就没有问题了,可是对以Live模式安装到硬盘的Slax稍麻烦一点。我们可以专门为这个脚本做一个小模块,这个模块就只有这一个文件并让其在启动时自动加载;也可以在Fanx下重新将etc目录做一个模块,放置到对应的目录中;还有一个相对简单的办法,不知道读者是否注意到光盘目录下的rootcopy目录没有,按照系统的的组织形式放置到这儿的一切文件都将在系统启动时自动加载,现在我们就可以在这个目录中按目录顺序建立etc/rc.d文件夹,然后将修改过的rc.6文件复制到rc.d目录中就可以实现这个功能了。可以感觉得到Slax做的非常的人性化,进行系统定制的时候千万不要忘了这个目录的作用。


没有评论: