FreeBSD中VirtualBox安装手册

本文摘自FreeBSD手册

在过去的几年中 FreeBSD 并没有任何可用的并被官方支持的虚拟化解决方案。 一些用户曾时使用过利用 Linux 二进制兼容层运行的 VMware 陈旧并多半已过时的版本 (比如 emulators/vmware3)。 在 FreeBSD 7.2 发布不久, Sun 开源版本 (Open Source Edition OSE) 的 VirtualBox 作为一个 FreeBSD 原生的程序出现在了 Ports Collection 中。

VirtualBox 是一个开发非常活跃, 完全虚拟化的软件, 并且可在大部份的操作系统上使用, 包括 Windows, Mac OS, Linux 和 FreeBSD。同样也能把 Windows 或 UNIX 作为客户系统运行。 它有一个开源和一个私有两种版本。 从用户的角度来看, OSE 版本最主要的限制也许是缺乏 USB 的支持。 其他更多的差异可以通过链接 http://www.virtualbox.org/wiki/Editions 查看 “Editions” 页面。 目前, FreeBSD 上只有 OSE 版本可用。

安装 VirtualBox

VirtualBox 已作为一个 FreeBSD port 提供, 位于 emulators/virtualbox-ose, 可使用如下的命令安装:

# cd /usr/ports/emulators/virtualbox-ose
# make install clean

在配置对话框中的一个有用的选项是 GusetAdditions 程序套件。 这些在客户操作系统中提供了一些有用的特性, 比如集成鼠标指针 (允许在宿主和客户系统间使用鼠标, 而不用事先按下某个特定的快捷键来切换) 和更快的视频渲染, 特别是在 Windows 客户系统中。 在安装了客户操作系统之后, 客户附加软件可在 Devices 菜单中找到。

在第一次运行 VirtualBox 之前还需要做一些配置上的修改。port 会安装一个内核模块至 /boot/modules 目录, 此模块需要事先加载:

# kldload vboxdrv

可以在 /boot/loader.conf 中加入以下的配置使此模块在机器重启之后能自动加载:

vboxdrv_load="YES"

在 3.1.2 之前版本的 VirtualBox 需要挂接 proc 文件系统。 在新版本中不再有此要求, 因为它们使用了由 sysctl(3) 库提供的功能。

当使用旧版本的 port 时, 需要使用下面的步骤来挂载 proc:

# mount -t procfs proc /proc

为了使配置能在重启后始终生效, 需要在 /etc/fstab 中加入以下这行:

proc   /proc   procfs  rw  0   0

注意: 如果在运行 VirtualBox 的终端中发现了类似如下的错误消息:

VirtualBox: supR3HardenedExecDir: couldn’t read "", errno=2 cchLink=-1
此故障可能是由 proc 文件系统导致的。 请使用 mount 命令检查文件系统是否正确挂载。

在安装 VirtualBox 时会自动创建 vboxusers 组。 所有需要使用 VirtualBox 的用户必须被添加为此组中的成员。 可以使用 pw 命令添加新的成员:

# pw groupmod vboxusers -m yourusername

运行 VirtualBox, 可以通过选择你当前图形环境中的 Sun VirtualBox, 也可以在虚拟终端中键入以下的命令:

% VirtualBox

获得更多有关配置和使用 VirtualBox 的信息, 请访问官方网站 http://www.virtualbox.org。 鉴于 FreeBSD port 非常新, 并仍处于开发状态。请查看 FreeBSD wiki 上的相关页面 http://wiki.FreeBSD.org/VirtualBox 以获取最新的信息和故障排查细则。

FreeBSD 8.0开始官方支持VirtualBox虚拟机了

FreeBSD 从8.0开始终于有官方支持的宿主虚拟服务了VirtualBox。 VirtualBox有一个开源版本和一个私有版本。

FreeBSD运行的是开源版本(OSE 版本),这个版本不支持的功能主要是:

    USB
    OpenGL support

基本安装见 FreeBSD操作手册[URL:http://www.freebsd.org/doc/zh_CN.GB2312/books/handbook/virtualization-host.html]。

CD/DVD使用:

在/etc/devfs.conf中设置:

  perm cd0 0666
  perm xpt0 0666
  perm pass0 0666

网络配置:
默认为NAT模式;在/boot/loader.conf配置如下;

    vboxdrv_load="YES"
    atapicam_load="YES" 

如果使用网桥模式,在/boot/loader.conf配置如下:

    vboxdrv_load="YES"
    vboxnetflt_load="YES"
    atapicam_load="YES"

atapicam模块作用是启动CD/DVD支持,apapicam模块需要在vboxdrv模块之后运行。

原文链接:http://wiki.freebsdchina.org/software/v/virtualbox

在VirtualBox中增强FreeBSD虚拟机

在 VirtualBox 中增强 FreeBSD 虚拟机

注:以 VirtualBox 3.2.12、FreeBSD 8.1 为例。
在VirtualBox中安装完FreeBSD后,会遇到无法调整桌面分辨率(最大800×600)、鼠标无法移动、无法启用Seamless窗口的问题。这皆因没有安装“VirtualBox增强功能包 for FreeBSD”的原因。VirtualBox程序本身并不提供该安装软件,只提供了Windows、Linux、Solaris版的增强包。但我们可以安装VirtualBox OSE的增强包(virtualbox-ose-additions)来代替。
VirtualBox OSE是VirtualBox的GPL开源版本,与闭源版在功能上有少许不同。我们平时在FreeBSD中安装的VirtualBox就是OSE版。

安装步骤如下:

一、首先要先让鼠标动起来

我们在sysintall中配置鼠标时点击enable启用鼠标服务后,点击鼠标左键这时屏幕会出现指针图标但指针就是不会动。在X-Window中也是如此。这是因为VirtualBox自作主张的启用了鼠标集成功能,当指针从主机移到虚拟机窗口中时,VirtualBox会自动让虚拟机捕获到鼠标,这功能在Linux和Windows作虚拟机时工作的挺好但在FreeBSD中就造成鼠标不会动的问题。
我们要先关闭VirtualBox的鼠标集成功能。将鼠标移入虚拟机中,再按右Ctrl+I键(右Ctrl是默认的热键)禁止自动独占鼠标,这样FreeBSD中的鼠标就会动了。如果要将鼠标移出虚拟机,按右Ctrl键切换到主机。
二、安装VirtualBox OSE增强功能包

1、用root执行
# pkg_add -r virtualbox-ose-additions

# cd /usr/ports/emulators/virtualbox-ose-additions && make install clean

2、在/etc/rc.conf中增加
vboxguest_enable=“YES”

3、在xorg.conf中修改
显卡部分:
  Section "Device"
      ### Available Driver options are:-
      ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
      ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
      ### [arg]: arg optional
      Identifier  "Card0"
      Driver      "vboxvideo"  (修改)
      VendorName  "InnoTek Systemberatung GmbH"
      BoardName   "VirtualBox Graphics Adapter"
      BusID       "PCI:0:2:0"
  EndSection
鼠标部分:
  Section "InputDevice"
      Identifier  "Mouse0"
      Driver     "vboxmouse"  (修改)
  EndSection

4、拷贝HAL fdi文件;
# cp /usr/local/share/hal/fdi/policy/10osvendor/90-vboxguest.fdi /usr/local/etc/hal/fdi/policy/
上面做完后,鼠标可以自由在主机与虚拟机中移动(仅限X-Window环境中,文字模式下参看第一节),可以选择更高的分辨率。但FreeBSD分辨率还是固定的,不能随虚拟机窗口调整,不能共享剪切板,不能启用Seamless窗口。

5、用root执行
# VBoxClient –clipboard 共享剪切板
# VBoxClient –display 自动调整分辨率
# VBoxClient –seamless 启动seamless窗口模式
可惜的是没有共享文件夹(分配数据空间)功能。

参考:VirtualBox in FreeBSD wiki (http://wiki.freebsd.org/VirtualBox)

原文链接:http://wiki.freebsdchina.org/software/v/virtualbox-additions

FreeBSD 8.0通过VirtualBox 3.1.2安装Windows XP虚拟机

FreeBSD 8.0通过VirtualBox 3.1.2安装Windows XP虚拟机

一直以来,在FreeBSD里都想虚拟一个Windows XP让儿子可以玩LEGO的设计,但总是有各种各样的问题。今天,发现VirtualBox到3.1.2了,想试试如何,首先安装VirtualBox。

1, 安装VirtualBox

$cd /usr/ports/emulators/virtualbox-ose
$sudo make install clean

2, 然后安装VirtualBox的内核模块,这个过程会在/boot/modules/下产生vboxdrv.ko,vboxnetadp.ko,vboxnetflt.ko几个内核模块

$cd /usr/ports/emulators/virtualbox-ose-kmod
$sudo make install clean

3, 在/boot/loader.conf里添加

vboxdrv_load="YES"

4, 在/etc/rc.conf里添加

vboxnet_enable="YES" #这会产生一个虚拟网卡vboxnet0,用ifconfig可以看到。

5, 重启系统 (有可能FreeBSD内核需要升级,如果vboxdrv加载失败)

$sudo shutdown -r now

6, 启动VirtualBox, 创建Windows XP的虚拟机

$VirtualBox

7, 为虚拟机使用Bridge Adapter网络模式,网卡为系统当前帮定IP的网卡。

8, 为虚拟机创建共享盘,指向当前用户目录的某个目录,比如 /home/hoo/share

9, 安装Windows XP (啊,非常快,好像比物理机还快)

10, 虚拟机启动后,安装Guest Additions,这一步可以通过网络下载VBoxGuestAdditions_3.1.2.iso(click虚拟机的菜单Devices–>Install Guest Additions..,然后按提示做),挂载这个文件到虚拟机光驱,Windows XP启动后,就会自动安装了。

11, 安装VBoxGuestAdditions后,虚拟机可以全屏方式工作,和FreeBSD的桌面分辨率一样(我以前一直都是只能工作在1024×768或800×600,现在是1280×800,而不用考虑Windows XP的分辨率)

12, 配置Windows XP网络及防火墙,可以和FreeBSD互相ping通。

13, 安装VBoxGuestAdditions后,在虚拟机里可以映射FreeBSD的共享盘,比如 Z:盘 映射到 \\vboxsvr\share (vboxsvr是virtualbox固定的名字,share是你在创建共享目录时取的共享名)

14, 在自己bin目录下,比如我的 \home\hoo\bin,建立一个shell程序,可以直接启动windows XP

$vi bin\vwin

#!\bin\sh
VBoxManage startvm winxp –type gui &

$chmod +x bin\vwin
$rehash

$vwin

到此,虚拟的Windows XP已经完全可以正常工作了,全屏方式下,几乎感觉不到是虚拟机,包括速度。而且,虚拟的Windows XP和宿主FreeBSD里可以通过网络及共享盘进行方便的交互。以前,用NAT网络模式时是不可能的。 VirtualBox运行界面

VirtualBox全屏效果

VirtualBox系统开销

VirtualBox运行LEGO Designer时的开销

原文链接:http://blog.chinaunix.net/u/29188/showart_2158762.html

在远程FreeBSD服务器上运行VirtualBox

VirtualBox可以在远程运行,并把界面通过 ssh 的 X11 转发放到管理员的桌面。

在 FreeBSD 上可以用 port 来安装 VirtualBox:

# portsnap fetch update
# cd /usr/ports/emulators/virtualbox-ose
# make install clean

接着配置 VirtualBox 所需要的内核模块:

echo ‘vboxdrv_load="YES"’ >> /boot/loader.conf
echo ‘vboxnet_enable="YES"’ >> /etc/rc.conf.local

将需要使用VirtualBox的用户添加到vboxusers组:

# pw groupmod vboxusers -m delphij

安装 xauth:

# cd /usr/ports/x11/xauth
# make install clean

重启系统,或手工加载模块之后,就可以从远程 ssh 进来运行 VirtualBox 了:

desktop% ssh -Y vsvc.example.com # 【注1】
vsvc% VirtualBox

VirtualBox的管理界面会出现在客户端系统上(当然,在列出文件时仍然是服务器端的文件)。

在安装、调试之后,就可以用VBoxHeadless来启动远程的虚拟机了。

【注1】这里使用的是"Trusted Forwarding",如果远程主机不可信,这样做会提高安全风险。

原文链接:https://blog.delphij.net/2010/10/freebsdvirtualb.html