VirtualBox 从本地磁盘启动脚本

Kvm、VMware、Virtualbox、Xen、Qemu 等
回复
头像
berryboy2012
帖子: 352
注册时间: 2012-08-05 20:55
系统: OpenSUSE

VirtualBox 从本地磁盘启动脚本

#1

帖子 berryboy2012 » 2013-01-29 18:45

取自我的博客 VirtualBox 从本地磁盘启动脚本
虽说 VirtualBox 相对于 KVM、Xen、qemu 之流效率并不高,但优点在于配置较简便,且针对图形界面做了优化。参照 VirtualBox 的帮助文档,制作了这个小脚本。

警告:请在运行任何从互联网以及自己未知的地方获得的脚本文件之前,一定要查看其中的内容,并且仅在自己确认脚本的每两个空格之间的内容不会造成危害时,再运行脚本文件。

注意:这个脚本只适用于 Linux 主系统,其它平台请参阅 VirtualBox 的帮助手册。

以下是这个脚本的内容:

#!/bin/sh
echo 正在注销并删除之前的虚拟机文件...
VBoxManage unregistervm "Windows XP" --delete
echo 正在删除之前的虚拟机磁盘链接文件...
rm /root/file.vmdk
echo 正在获取磁盘的读写权限...
chmod 666 /dev/sda
chmod 666 /dev/sda1
chmod 666 /dev/sda2
chmod 666 /dev/sda3
chmod 666 /dev/sda4
chmod 666 /dev/sda5
chmod 666 /dev/sda6
chmod 666 /dev/sda7
chmod 666 /dev/sda8
echo 正在生成新的虚拟机磁盘链接文件...
VBoxManage internalcommands createrawvmdk -filename /root/file.vmdk -rawdisk /dev/sda -relative
echo 正在开启虚拟化模块...
/etc/init.d/vboxdrv start
/etc/init.d/vboxweb-service start
/etc/init.d/vboxballoonctrl-service start
echo "正在新建名为'Windows XP'的虚拟机..."
VBoxManage createvm --name "Windows XP" --ostype "WindowsXP" --register
echo "正在设置之前创建的虚拟机的内存大小为 768MB..."
VBoxManage modifyvm "Windows XP" --memory 768 --acpi on --ioapic on
echo "正在建立虚拟磁盘链接文件与之前创建的虚拟机的联系..."
VBoxManage storagectl "Windows XP" --name "SATA" --add sata
VBoxManage storageattach "Windows XP" --storagectl "SATA" --port 0 --device 0 --type hdd --medium /root/file.vmdk
echo "正在启动虚拟机..."
VBoxManage startvm "Windows XP" --type gui&echo "虚拟机已经启动,现在将返回至 shell 模式..."
sleep 3 && clear_console

为安全起见,不提供文件下载,保存为脚本后,请为它授予运行权力,并以 root 用户运行。
回复