一台服务器安装多个linux系统
在公司做网卡驱动,需要在多个内核版本上测试驱动。而服务器只有一台,这样的话,只有两个解决办法,第一个是一个系统带有多个内核,第二个解决办法是安装多个系统,由于公司服务器的linux版本不一致,担心出问题,因此选择了安装多个系统这个思路。
大致过程如下所示,首先用光盘安装一个系统,在分区的时候给第一个系统指定空间大小,由于硬盘太小,才150g,想安装3个系统,因此只划了50g。相当于还剩下100g的free空间,没有分区,没有格式化。使用光碟先装好第一个系统。
下面开始装第二个系统,由于已经有一个系统了,就可以直接使用硬盘安装第二个和第三个系统。(如果有光碟的话就直接继续用光碟就ok)
一、分区
首先进入第一个系统,将剩下的100个g划分2个50g的主分区出来。具体方法如下所示:
首先执行fdisk -l
就会看到 /dev/sda 如果有多块硬盘的话,可能还会有sdb,sdc等, 我这里会显示有sda1(现有系统根分区), sda2(交换分区)
接着 执行 fdisk /dev/sda,这是可以输入m看到提示。
输入n,代表新建一个分区
输入p, 因为装系统需要的是主分区
由于主分区number 1和2已经被第一个系统的根分区和swap分区占了,因此这里只能使用3和4了
输入3,代表第三个主分区
直接回车,代表从默认地址作为新分区的起始地址。
输入分区的大小,这里可以输入柱面数或者直接输入大小,我这边直接输入柱面数,因为根据第一个分区占的柱面数大概是6300个,就是50g左右 +6300
输入w, 保存分区 这样就会得到 /dev/sda3
按同样的方法创建/dev/sda4
接下来需要执行 partprobe /dev/sda 更新一下
mksf.ext3 /dev/sda3 把新的主分区/dev/sda3格式化为ext3, 如果失败可以先重启一下
mksf.ext3 /dev/sda4 把新的主分区/dev/sda4格式化为ext3
接着挂载/dev/sda3, 要不没法对其操作
二、安装前的准备(需要提前下载好对应版本的iso镜像文件,本文以CentOS_6.3_Final.iso为例子)
上面提到了需要挂在/dev/sda3, 我们将其挂载到/sda3下
mkdir /sda3
mount /dev/sda3 /sda3
cd /sda3
将CentOS_6.3_Final.iso复制到/sda3下
这里需要将iso里面的两个文件夹(isolinux和images)取出来
mkdir a
mount -o loop CentOS_6.3_Final.iso a
cp -r a/isolinux .
cp -r a/images .
修改/boot/grub/grub.conf
添加以下类容
title install CentOS6.3
root(hd0,2) #hd0代表的是第一块硬盘,2代表的是/dev/sda3, 因为是从0开始相加的
kernel /isolinux/vmlinuz
initrd /isolinux/initrd.img
三、重启机器,进入系统的时候,选择install CentOS6.3,进入安装界面的时候,记得选择从硬盘安装,选择硬盘的时候选择/dev/sda3去找install.img
装完之后进入新的操作系统后,需要更新grub.conf,否则只能进入到新系统,具体操作如下:
mkdir /sda1
mount /dev/sda1 /sda1
cd /sda1/boot/grub
vi grub.conf
将里面第一个系统的启动参数拷贝出来,就是从title那一行一直到initrd这一行的所有内容(不是我们添加的那个安装的title)
然后添加到当前系统的grub.conf中,重启之后就可以看到有两个系统的选择项了。第三个系统方法类似。