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 模块未加载的问题
相关文章
- 常见排序列表
常见排序列表 中文名称 英文名称 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 选择排序 Selection n^2 n^2 n^2 1 不稳 冒泡排序 Bub
- 浏览器的同源策略
一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是
- 虚拟环境-virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那
- 反向代理缓存
一、传统代理 很久以前,我们通常需要通过代理服务器来访问互联网上的Web站点,代理服务器本身接入了互联网,而我们通过内部网络与代理服务器相连。即便是现在,有些时候为了访问一些由于某种原因无法直接访问
- python多线程
一、介绍 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线
随机推荐
- 常见排序列表
常见排序列表 中文名称 英文名称 平均时间复杂度 最坏时间复杂度 最好时间复杂度 空间复杂度 稳定性 选择排序 Selection n^2 n^2 n^2 1 不稳 冒泡排序 Bub
- 浏览器的同源策略
一、同源的三个条件 1、域名(二级域名与一级域名之间也算是不同源) 2、端口 3、协议 二、同源策略的意义 浏览器基于用户的隐私安全目的, 防止恶意网站窃取数据(只是浏览器有这个同源策略设置,但是
- 虚拟环境-virtualenv
在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.4。所有第三方的包都会被pip安装到Python3的site-packages目录下。 如果我们要同时开发多个应用程序,那
- 反向代理缓存
一、传统代理 很久以前,我们通常需要通过代理服务器来访问互联网上的Web站点,代理服务器本身接入了互联网,而我们通过内部网络与代理服务器相连。即便是现在,有些时候为了访问一些由于某种原因无法直接访问
- python多线程
一、介绍 多任务可以由多进程完成,也可以由一个进程内的多线程完成。 我们前面提到了进程是由若干线程组成的,一个进程至少有一个线程。 由于线程是操作系统直接支持的执行单元,因此,高级语言通常都内置多线