📄 00000068.htm
字号:
<HTML><HEAD> <TITLE>BBS水木清华站∶精华区</TITLE></HEAD><BODY><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER>发信人: trigger (Smashing Dreams), 信区: Linux <BR>标 题: Lilo+Linux+FreeBSD+Win98实战(common swap) <BR>发信站: BBS 水木清华站 (Tue Jan 25 09:53:15 2000) <BR> <BR> 小弟虽然是Redhat的忠实用户,但对FreeBSD神往已就久。 <BR>两个月前第一次装FreeBSD,虽然装上了,但很别扭,装在 <BR>第二块硬盘上的Primary partition上,由于Linux是用loadlin <BR>启动(没装LILO),而且FreeBSD带的Boot Manager也没装上, <BR>所以每次要使用FreeBSD,只能把将第二块硬盘设置成第一块, <BR>麻烦! <BR> 前几天刚从suzhe(这里就写过suzhe大虾了:))那儿拿到 <BR>FreeBSD 3.4 Realease的光盘,在加上机器上的98经常崩溃, <BR>所以打算将那块15G的硬盘重新分区,装上RedHat 6.1、 <BR>FreeBSD 3.4 Release、win98,统一用Lilo启动, <BR>linux和FreeBSD共享交换分区。 <BR>折腾了一天,终于搞定。小弟在安装前,搜索了一下水母的Linux版 <BR>和Freebsd版,发现关于这方面的文章都很简略(至少我觉得), <BR>所以想把自己的体会写出来,以方便后来者。如有不对之出,欢迎 <BR>指正。 <BR> <BR>1. 硬盘分区 <BR>由于FreeBSD和Win98都必须装在Primary Partition,所以安装前的分 <BR>区策略十分重要.为了能在一个硬盘上分出一个以上的Primary Partition, <BR>我使用Linux的fdisk工具(也可以用Smartfdisk或PQ Magic):使用redhat <BR>6.0的光盘启动,然后进入fdisk界面,重新分区,具体如下: <BR> <BR>The 1st Primary Partition:/dev/hda1 前2个G 类型设为FAT32/FAT16 <BR> <BR>The 2nd Primary Partition:/dev/hda2 接下去的2.5G 类型为Linux native <BR>The 3th Primary Partition:/dev/hda3 接下去的4G 类型为BSD/386 <BR> 剩余的空间可以都分成Fat32 extend分区.我把剩下的全划给了fat extend, <BR> 就是: /dev/hda4 <BR> <BR> 其实除了第一个分区的类型必须为FAT32/FAT16,其它分区的类型 <BR>可以随便,后面 还有机会修改。 <BR> <BR> <BR>2.安装阶段 <BR> 首先在第一个Primary Partition安装win98(这个我就不费口舌了〕,对extend <BR>分区(/dev/hda4)分继续分成及格逻辑分区,单暂且不要使用它,或至少空出一个 <BR>逻辑分区来,以用来暂时作为Linux的swap分区。我将它分成两个逻辑分区。 <BR> 接着安装Linux,在安装Linux过程中要注意两点: <BR> 1〕swap分区可以使用/dev/hda4中的空间(这部分空间在装98时并未使用〕 <BR> 2〕Lilo建议安装于MBR。 <BR> <BR>安装完Linux,已经可以使用LILO启动linux和98了,但为了使lilo能够启动FreeBSD <BR>须重新编译内核,因为第一次安装时使用的缺省内核不支持ufs(也就是FreeBSD <BR>使用的文件系统〕。在重新配置内核时,必须选中UFS filesystem support和 <BR>FreeBSD disklabel support。然后配置lilo.conf,使用新内核。 <BR> 最后安装FreeBSD。将/dev/wd0s3(即linux中的/dev/hda3〕分配给FreeBSD, <BR>然后安装。(FreeBSD中slice和partition的区别就参看王波先生的大作吧〕 <BR>安装过程中注意不要安装FreeBSD的BootManage,在选择第三项none, <BR>以免覆盖了Lilo.如果怕不慎覆盖Lilo,可以事先将新编译的Linux内核拷出来, <BR>一旦Lilo被覆盖,使用Loadlin启动Linux. <BR> <BR>3。配置Lilo <BR> 安装完FreeBSD后重新进入Linux,然后编辑lilo.conf,加入 <BR>以下各行: <BR>other=/dev/hda3 #/dev/hda3:FreeBSD所在分区 <BR> table=/dev/hda <BR> label=FreeBSD <BR>然后运行Lilo,使新配置生效。 <BR>到此为止,已经完成了3个OS的安装和Lilo对它们的启动管理。 <BR> <BR>4。Linux与FreeBSD共享交换分区 <BR> 现在首先看看Linux启动过程中的分区检查信息(以我的安装为例): <BR> <BR> hda: hda1 hda2 hda3! hda4 < hda5 hda6 > < hda7 hda8 hda9 hda10 > <BR> <BR> 然后在Linux下使用fdisk查看分区信息: <BR> <BR> Command (m for help): p <BR>Disk /dev/hda: 255 heads, 63 sectors, 1869 cylinders <BR>Units = cylinders of 16065 * 512 bytes <BR> Device Boot Start End Blocks Id System <BR>/dev/hda1 1 262 2104483+ b Win95 FAT32 <BR>/dev/hda2 263 589 2626627+ 83 Linux <BR>/dev/hda3 * 590 1112 4200997+ a5 BSD/386 <BR>/dev/hda4 1113 1869 6080602+ f Win95 Ext'd (LBA) <BR>/dev/hda5 1113 1800 5539386 b Win95 FAT32 <BR>/dev/hda6 1801 1869 548294+ 82 Linux swap <BR> <BR>比较可知,< hda7 hda8 hda9 hda10 >实际上是/dev/hda3(或者说/dev/wd0s3 <BR>slice)中的FreeBSD分区,其中hda7是root分区,hda8是交换分区,hda9和hda10 <BR>是其它分区。 <BR> Linux与FreeBSD能够共享交换分区建立在以下事实的基础上: <BR> a. Linux能够访问ufs <BR> b.FreeBSD能够使用任何类型的分区作为交换分区。 <BR> <BR> 为了共享FreeBSD的交换分区,首先修改Linux下的/etc/fstab文件,注释掉 <BR>原来的与swap分区相关的行,然后添加一行: <BR>/dev/hda8 none swap sw 0 0 <BR> 接着,由于Linux在自己的交换分区上作了一个标记,该任务由命令mkswap完成。 <BR>但在进入到FreeBSD后,FreeBSD会破坏该标记,为此每次启动进入LInux系统,必须 <BR>重新执行mkswap。在Red hat中,需要在启动脚本文件 /etc/rc.d/rc.sysinit中紧接 <BR>swapon -a命令之前添加如下行: <BR>awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab <BR> 之后,Linux就可以共享FreeBSD的swap分区了。 <BR> <BR> 对于Linux原来的借用extend分区的swap分区,可以使用Linux的fdisk重新划分 <BR>extend中逻辑分区的大小,标记分区类型,但不能改变分区数。因为一旦改变了分区 <BR>数FreeBSD slice中的分区的编号就变了,swap分区就可能不再是hda8了。其实最稳妥的 <BR>解决办法是将临时的swap分区分在第二块硬盘上(如果条件许可的话)。 <BR>在Linux的mini howto Linux+FreeBSD还提供了另一种方法,但小弟没试过,哪位 <BR>如果试验过,不妨讲讲! <BR> <BR> <BR> <BR>-- <BR> * * * <BR> CHANGE THE WORLD!! <BR> <BR>※ 来源:·BBS 水木清华站 smth.org·[FROM: 162.105.17.242] <BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -