virtualbox

Knowledge

顾名思义,该模式的网卡只在 Host OS 的范围内可见。因为该模式只在 Host OS 的范围内可见,所以该模式的网卡是无法访问 Host OS 的外部网络 (也就是无法访问其它电脑)。虽然 Host-Only 网卡不能访问外部网络,但是多个 Host-Only 网卡之间是可以互相访问滴。比如你同时运行多个 Guest OS,把这些 Guest OS 上的网卡都设置为 Host-Only 模式,那么这些 Guest OS 是可以相互访问滴。

NAT全称是"网络地址转换"。考虑到本系列是扫盲性质,俺就不解释 NAT 的原理了。处于 NAT 模式下的网卡,可以访问 Host OS 的外部网络。 比方说你的 Host OS 已经接入互联网,那么 Guest OS 里面的软件可以通过 NAT 模式的网卡上网。但是,Host OS 外部(也就是其它电脑)是看不到这个 NAT 网卡的。对于普通网友,俺建议把网卡设置为 NAT 模式。因为 NAT 模式可以起到类似防火墙的效果, 比较有利于保护你的虚拟系统的安全。

所谓的双向可见就是——Bridge 模式的网卡可以看到外部的电脑,外部的电脑也可以看到该网卡。 普通网友一般不需要 Bridge 模式,NAT 模式就足够了。

Install android in vitrualbox

除了直接新建一个虚拟机来安装 android 外,你还可以试试 genymotion. 相比前一种方法而言,使用体验和感受更为良好,虽然也是需要 vb 的。

Share docs between the guest os and host os

我们假设你的共享文夹的名字叫做 share-folder, 首先安装增强功能,然后设置共享文件夹,你可以在设置中找到 共享文件夹 的设置,或者直接在窗口的右下角的文件夹右击来设置,找到你的共享文件夹所在的位置并选择确定,勾上自动挂载和固定分配。

接下来打开一个 terminal,输入命令

sudo mkdir /mnt/share
sudo mount -t vboxsf share-folder /mnt/share

这时候你应该能够看到在 /mnt/share 文件夹下你 share-folder 中的文件了。

Get access to your Virtual machine

场景:你在你的虚拟机内写了一个 Flask 的 app,你想模拟试试放在服务器上的使用体验。 或者说你在你虚拟机上搭了一个 server 想练练手什么的。

依次进入 设置 - 网络 - 网卡x - 连接方式,选择桥接网卡。 这样的话,你的虚拟机有一个独立的 ip,可以被内网的其他机器看到,在虚拟机与虚拟机 或者虚拟机与主机之间可以互相通信。

如果你使用的是这个的话(也是 Virtualbox 默认的方式),那么你可以使用端口转发。 依次进入 设置 - 网络 - 网卡x - 高级 - 端口转发, 填写主机端口和子系统端口, 其他的可以省略。

Reference:

Modify your virtual machine's hard size

$ VBoxManage list hdds
$ BoxManage modifyhd UUID --resize NEW_SIZE

好了之后用 gparted 分配磁盘即可,注意选择正确的 vdi,其类型应当为 Type: normal (differencing)

Configure my virtual machine

Linux

win thin pc