CentOS minimal 上安装 VirtualBox 虚拟机自启动

VirtualBox 4.3 可以配置为自动启动虚拟机。下面步骤是在 CentOS 6.5 x86 64位系统上的实施,用的是 minimal 版本,使主机成为 Headless PC (无头主机,即没有显示器,没有键盘鼠标等),在此主机系统上接上网线,安装 VitrualBox,并创建几个虚拟机。经过配置后,实现主机上电启动后,同时自动启动几个虚拟机系统(虚拟的 Windows 2003,Ubuntu 等系统)

1. 安装宿主系统

首先在硬件主机上安装 CentOS 6.5 minimal x86_64。从官网下载 ISO 文件,完成系统安装。作为 VirtualBox 的宿主,不运行其它服务,选择 Minimal 版本,装完只有几百 M 大小,比其它版本或系统动辄几个 G 的系统,真是轻巧多了。

1.1 启动网卡
默认安装完成后,系统只开了一个 lo 的本机网络接口,物理网卡驱动后,默认是关闭的,需要修改配置文件来打开
使用 ifconfig 查看,只能看到一个 lo,但用 ifconfig -a 可以看到其它网卡,如果还是看不到,则网卡系统不认识,没有驱动,需要先安装驱动
修改配置文件:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=no
HWADDR=A4:BA:DB:37:F1:04
TYPE=Ethernet
BOOTPROTO=dhcp将 ONBOOT=no 改为 ONBOOT=yes


默认的 IP 地址是 DHCP,如果要改为静态地址,如下:

DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=A4:BA:DB:37:F1:04
TYPE=Ethernet
BOOTPROTO=static
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
IPADDR=192.168.1.44
NETMASK=255.255.255.0使用静态地址,还需要继续配置网关及 DNS

# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=centos6
GATEWAY=192.168.1.1重新启动网络接口,使上面的配置修改生效

# service network restart继续配置 DNS

# vi /etc/resolv.conf
nameserver 8.8.8.8      # Replace with your nameserver ip
nameserver 192.168.1.1  # Replace with your nameserver ip(注:不同的网卡设备,在系统中的名称会有不同,如上面的是 eth0,有的则是 p3p1, p3p2 等,后者可能是千兆网卡)


1.2 配置防火墙
在后面,我们创建的虚拟机在 Command-Line 模式下,没有 GUI,如果要安装如 Windows 之类的图形操作系统,需要使用远程桌面来连接操作,因此需要开启远程桌面连接的端口。

# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3389 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT上面的示例中,我们增加了一行,打开了 VRDP 默认的端口 3389
重启防火墙,让刚才的配置生效

# service iptables restart


1.3 挂载 CDROM

比如要安装 Windows2003 的虚拟机,需要有 Windows2003 的安装光盘,如果你是使用物理光盘,就要挂载到 CentOS 中。
创建挂载点

# mkdir /mnt/cdrom挂载 CDROM

# mount /dev/cdrom /mnt/cdrom查看 cdrom

# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root  14G  1.6G  12G  13% /
tmpfs                        246M    0  246M  0% /dev/shm
/dev/sda1                    485M  54M  407M  12% /boot
/dev/sr0                      626M  626M    0 100% /mnt/cdrom(注:参数 -h 表示 human,以 M,G 为单位显示。其中 /dev/cdrom 实际指向的是 /dev/sr0,与光驱插在哪个接口上有关)


1.4 挂载 ntfs 格式的移动存储设备
你也有可能将安装光盘的 ISO 文件存放在移动硬盘上,而且很有可能是 NTFS 格式的。在挂载之前,则需要安装 ntfs-3g 来支持。
在官方的软件仓库中,没有 ntfs-3g,这里推荐使用 EPEL 第三方软件仓库。

# cd /tmp
# wget Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
# rpm -Uvh epel-release-6*.rpm
# ls /etc/yum.repos.d/
CentOS-Base.repo      CentOS-Media.repo  epel.repo
CentOS-Debuginfo.repo  CentOS-Vault.repo  epel-testing.repo可以看到,除了 CentOS,多了两个 epel 的 repo,第三方软件仓库就已经可以用了,如果要尝试测试版软件,打开 epel-testing.repo,将里面的 enabled = 0 改为 enabled = 1


# yum install ntfs-3g用上面简单的命令即完成 ntfs-3g 的安装


将移动硬盘插入 USB 口,查看一下设备:

# fdisk -l在列出来的清单中,可以看到 USB 盘的设备名称,如:/dev/sdc1 等。用 mount 来进行挂载:

# mkdir /mnt/usb
# mount -t ntfs-3g /dev/sdc1 /mnt/usb
# ls /mnt/usb/要移除硬盘:

# umount /mnt/usb

VirtualBox 的详细介绍请点这里
VirtualBox 的下载地址请点这里

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18754.html