128MB KVM 安装多操作系统, Debian5 + CentOS 5.7为例

From Hostloc by znithy

KVM的虚拟机可以像真机那样安装多操作系统。
Hostigation 128MB KVM 没有提供CentOS镜像,而且CentOS5直接在128MB上安装非常慢(可以说卡住了),CentOS6会直接说内存不够,不够装。
Hostigation还提供了Scientific Linux的镜像,也因内存不够无法安装。
因此我们的方案是先安装debian,之后在debian下硬盘安装CentOS4,再升级到高版本的CentOS。
这儿以Debian5 -> CentOS 4.8 -> CentOS 5.7 为例。
1)首先安装Debian5,这个过程就不详细说明了。
需要注意的是硬盘分区需要手动划分,我这儿debian给了3G,挂载在/位置,CentOS给了7.3G,挂载在/centos,剩余的380MB做SWAP,两个系统公用的。
见图:

kvm1

2)下载CentOS 4.8镜像放在根目录。
cd /
wget http://i586.centos.org/centos/4.8/isos/i386/CentOS-4.8-i386-netinstall.iso
3)下载内核和初始化文件放在/centos4文件夹:
cd /
mkdir centos4
cd centos4
wget http://centos.mirror.freedomvoice.com/4.8/os/i386/isolinux/vmlinuz
wget http://centos.mirror.freedomvoice.com/4.8/os/i386/isolinux/initrd.img
4) 重启进入Grub启动菜单(VNC下才能看见)
看到grub菜单后按c键进入命令模式,依次输入:
root (hd0,0)
kernel /centos4/vmlinuz
initrd /centos4/initrd.img
boot
之后会进入CentOS4的安装程序,注意如果你的分区和我的不同,那(hd0,0)可能需要改变,hd0代表第一个硬盘,后面的0代表第一个分区。

kvm2

上面截图有错,是安装centos6时的截图,但样子差不多。
5)安装CentOS4.8的注意事项
因为是网络安装的iso,安装到某一步时需要选择安装源,我们选HTTP.
在之后出现的界面第一行输入:
centos.mirror.freedomvoice.com
第二行输入:
4.8/os/i386
分区时不要挂载3G的debian分区在/debian位置,不要格式化。
挂载7.3G的分区在/位置,是否格式化随意.

kvm3

2011-9-27 16:04

最小化安装,不要任何组件,免得升级时出错。
另有某一界面是选择grub安装的位置,为了以后配置的灵活,不要选mbr分区,选CentOS安装的分区。
6)重启,仍然进入Debian, 修改Debian 下的grub配置文件:
vi /boot/grub/menu.lst
文件往下拉,在debian的启动项前添加(注意不要添加在default 0 和timeout 5 之前):
title CentOS 4.8 (2.6.9-89.EL)
root (hd0,2)
kernel /boot/vmlinuz-2.6.9-89.EL ro root=LABEL=/
initrd /boot/initrd-2.6.9-89.EL.img
保存后重启。
注意(hd0,2)根据分区不同会有改变。
7)升级CentOS 4.8 到 5.7:
重启后在grub菜单中选CentOS 4.8进入CentOS。
以下过程建议在ssh中完成,因为打长命令容易出错,ssh可以复制粘帖。
如果ssh不上,请手动开启ssh服务,并把防火墙给暂时关了。
service sshd start
/etc/init.d/iptables stop
开始升级过程:
yum -y erase sendmail
yum -y install yum-plugin-fastestmirror
rpm -Uvh http://centos.mirror.freedomvoice.com/5.7/os/i386/CentOS/centos-release-5-7.el5.centos.i386.rpm http://centos.mirror.freedomvoice.com/5.7/os/i386/CentOS/centos-release-notes-5.7-0.i386.rpm
rpm -Uvh –nodeps http://centos.mirror.freedomvoice.com/5.7/os/i386/CentOS/kernel-2.6.18-274.el5.i686.rpm
rpm -e –justdb python-elementtree –nodeps
yum clean all
yum -y upgrade
注:CentOS升级时python-elementtree可能会出错,这是因为CentOS5中这个文件版本比CentOS4中的还低。
所以上面有了rpm -e –justdb python-elementtree –nodeps这行,如果还是不行,可以试下:
wget http://centos.mirror.freedomvoice.com/4.8/os/i386/CentOS/RPMS/python-#elementtree-1.2.6-5.el4.centos.i386.rpm
rpm -e –nodeps python-elementtree
rpm -ivh –nodeps python-elementtree-1.2.6-5.el4.centos.i386.rpm

kvm4

8)再次修改grub启动项:
vi /debian/boot/grub/menu.lst
在刚添加过CentOS4.8的位置添加(把CentOS4.8的那些可以删了):
title CentOS 5.7 (2.6.18-274.3.1.el5)
root (hd0,2)
kernel /boot/vmlinuz-2.6.18-274.3.1.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-274.3.1.el5.img
title CentOS 5.7 (2.6.18-274.el5)
root (hd0,2)
kernel /boot/vmlinuz-2.6.18-274.el5 ro root=LABEL=/
initrd /boot/initrd-2.6.18-274.el5.img
仍然需要注意(hd0,2)因分区不同可能会有改变
9)重启后选CentOS 5.7进入。

kvm5

kvm6

全部搞定了。
!如果要升级到其他版本,只需要在源中找对应的文件就可以了。
安装windows请去四师兄(kowtow01)的blog查看。

2 Responses to 128MB KVM 安装多操作系统, Debian5 + CentOS 5.7为例

  1. vvlaw says:

    一切都很顺利,只是到这里的时候提示错误了。boot文件夹下面没有这些启动程序

    8)再次修改grub启动项:
    vi /debian/boot/grub/menu.lst
    在刚添加过CentOS4.8的位置添加(把CentOS4.8的那些可以删了):
    title CentOS 5.7 (2.6.18-274.3.1.el5)
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.18-274.3.1.el5 ro root=LABEL=/
    initrd /boot/initrd-2.6.18-274.3.1.el5.img
    title CentOS 5.7 (2.6.18-274.el5)
    root (hd0,2)
    kernel /boot/vmlinuz-2.6.18-274.el5 ro root=LABEL=/
    initrd /boot/initrd-2.6.18-274.el5.img

    第一个提示没有文件
    第二个会运行下去,只是挂死在哪里~~~

  2. Ansen says:

    学习了,用这么久的linux,boot这一块还是空白,惭愧啊

Ansen进行回复 取消回复

电子邮件地址不会被公开。 必填项已用*标注