新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 网络学院 > 操作系统 > Unix系统 > FreeBSD教程 > 正文:FreeBSD和Linux共享swap区

FreeBSD和Linux共享swap区

新客网 XKER.COM 2008-01-17 来源:新客网编辑整理 佚名 收藏本文
  【新客网FreeBSD教程】在一台电脑上安装有FreeBSD和Linux两个系统时,可以让这两个系统使用同一个硬盘分区作为swap区,节省一定的硬盘空间。这里介绍一种实现共享swap区的方法,当然可能有其他方法也可以解决这一问题。这一方法在RedHat Linux release 4.1和4.1(Linux kernel 版本2.0.29 和2.0.30)和FreeBSD2.2.2上通过测试,高版本的系统应该同样可以实现。首先安装哪个系统都无所谓,只需要注重一下FreeBSD的slice分区的次序。
  
  第一步,安装Linux。
  按照正常的步骤安装Linux,注重为安装FreeBSD留出硬盘空间。安装Linux时不必设定swap分区,假如你想加一个swap分区,那么把swap分区放到为FreeBSD留出的硬盘空间上。这样可以删除掉这个swap分区,然后安装FreeBSD。
  安装完Linux,必须重新编译内核,加入UFS文件系统支持和BSD disklabel(FreeBSD分区表)支持。
  UFS filesystem support (read only) (CONFIG_UFS_FS) [N/y/m/?] y
  BSD disklabel (FreeBSD partition tables) support (CONFIG_BSD_DISKLABEL) [N/y/?]
  (NEW) y
  安装新kernel并重新启动机器。注重假如你设定了swap分区,删除/etc/fstab文件中包含swap的一行。确定你有一张可以启动新内核的启动盘。然后安装FreeBSD。
  
  第二步,安装FreeBSD。
  按照正常步骤安装FreeBSD,假如为Linux分配了swap分区,可以用FreeBSD的fdisk删除掉。注重FreeBSD的slice分区的次序,假如使用默认分区,那么第二个分区是FreeBSD的swap分区。完成FreeBSD安装后重新启动到Linux。
  
  第三步,在Linux中设定使用FreeBSD的swap分区。
  重新启动到Linux中后,运行dmesg,在输出信息中可以看到如下的信息:
  Partition check:
  hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 hda8 >
  这表示/dev/hda4是你的FreeBSD slice,/dev/hda5、/dev/hda6、/dev/hda7、/dev/hda8是FreeBSD的分区。假如FreeBSD的swap分区在这个slice上的第二个分区,那就是/dev/hda6。
  那么就把下面一行加入/etc/fstab中:
  /dev/hda6 none swap sw 0 0
  由于FreeBSD可以使用任何形式的分区作为swap分区。而Linux需要在swap分区上设定一个非凡标识。这个标识是是用mkswap生成的。FreeBSD在使用swap分区时破坏了这个标识。所以在每次启动Linux时都要运行mkswap来重新设定这个标识。为自动完成这个工作,找到启动时执行swapon的script文件。在RedHat Linux中这个文件是/etc/rc.d/rc.sysinit,将下面一行加在swapon -a 的前面。
  awk -- '/swap/ && ($1 !~ /#/) { system("mkswap "$1"") }' /etc/fstab
  这样在每次启动Linux时就会在/etc/fstab中设定的swap分区上运行mkswap。
  
  好了,完成了设定,可以重新启动到FreeBSD看看swap分区是否工作,再重新启动到Linux看看是否工作。但愿你能顺利的设定完成。
  
收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐