VirtualBox 中安装 Ubuntu 虚拟机并配置文件共享
安装后,有时出现共享目录无法加载的现象,最后决定放弃,采用 VMWare Player !!
安装 VirtualBox
访问 https://www.virtualbox.org/ 下载最新版 VirtualBox,安装。
可选:修改一下缺省虚拟机所在的位置(管理 > 全局设定 > 常规)
安装 Ubuntu 虚拟机
过程中没啥好说的,只说下我的习惯:
- 安装过程习惯选择英文。
- 磁盘分区时不选 LVM。
- 服务选择时选上 OpenSSH Server。
安装后,更新 apt:
sudo apt-get update
配置虚拟机的网络连接
安装虚拟机后,缺省的网络连接方式为 NAT,此时 Windows 主机无法访问虚拟机,先关闭虚拟机,修改网络连接方式:
- 设置 > 网络 > 网卡1 > 连接方式: 桥接网卡
然后启动虚拟机,修改配置文件(/etc/network/interfaces):
iface eth0 inet static
address 192.168.1.185
netmask 255.255.255.0
gateway 192.168.1.253
dns-nameservers 192.168.1.253 8.8.8.8
说明:dhcp 模式,但已经可以用 ssh 访问虚拟机,修改配置文件等操作可以通过 ssh 远程操作。
虚拟机上安装增强功能(驱动)
首先选择菜单:
- VirtualBox > 设备 > 安装增强功能
其实质是把 VBoxGuestAdditions.iso 放入虚拟机的光驱,挂载光驱:
sudo mount /dev/cdrom /media/cdrom
通常情况下,linux-headers-XXX 已经正确安装,
sudo apt-get install make gcc
# sudo apt-get install linux-headers-$(uname -r)
执行安装指令:
sudo /media/cdrom/VBoxLinuxAdditions.run
安装后需要重启:
sudo reboot
配置文件共享
配置虚拟机的共享文件夹
- 设置 > 共享文件夹 > 添加共享文件夹
- 指定 Windows 文件夹:比如 D:\myshared
- 指定共享名称:比如 myshared
- 选择“固定分配”
注意:不需要选择自动挂载:如果选择了自动挂载,会自动挂载在 /media/sf_<共享名>
说明:添加了共享文件夹不需要重启虚拟机。
手动挂载共享文件夹
先手动挂载试试:
sodo mkdir /myshared
sudo mount -t vboxsf myshared /myshared
现在可以测试一下,是否工作正常了。
配置 Ubuntu 自动挂载共享文件夹
修改 /etc/fstab,添加一行:
myshared /myshared vboxsf rw 0 0
测试一下:
sudo mount myshared
sudo umount myshared
这时如果重启虚拟机,会发现虚拟机出现提示:
An error occurred while mounting /myshared.
keys:Press S to skip mounting or M for manual recovery
这是因为 Linux 试图挂载时 vboxsf 模块还没有加载,解决方法是在 /etc/modules 加入一行:
vboxsf
现在可以重启虚拟机了,重启后看是否正常。
参考
- Virtualbox shared folder mount from fstab fails; works once bootup is complete -- 解决自动挂载共享文件夹时 vboxsf 模块未加载的问题
相关文章
- 路由器
- 虚拟环境-virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那
- Python之系统交互
我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有
- CentOS编译安装PHP7.1.21环境
0.安装一大堆必备的东西 先执行 yum install -y epel-release yum install -y libmcrypt-devel 再执行 yum -y install gcc
- php配置加载器
配置加载器 当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoade
随机推荐
- 路由器
- 虚拟环境-virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那
- Python之系统交互
我们几乎可以在任何操作系统上通过命令行指令与操作系统进行交互,比如Linux平台下的shell。那么我们如何通过Python来完成这些命令行指令的执行呢?另外,我们应该知道的是命令行指令的执行通常有
- CentOS编译安装PHP7.1.21环境
0.安装一大堆必备的东西 先执行 yum install -y epel-release yum install -y libmcrypt-devel 再执行 yum -y install gcc
- php配置加载器
配置加载器 当我们使用App::cfg系列方法获取配置时,wulaphp是通过配置加载器先加载配置然后再返回配置项对应值的(当然可以返回整个配置数组)。配置加载器ConfigurationLoade