虚拟化 - VirtualBox
安装
- win10上如果要使用VirtualBox安装64位系统(如Ubuntu),那么就要:
- CPU、主板支持虚拟化技术
- 打开主板BIOS上的虚拟化开关(前提是前面说的CPU、主板支持虚拟化技术)
- 不同主板上的BIOS中的开关位置略有不同,有的在Advanced下面,有的在Security下面,一般叫做VT-x或者AMD-V什么的,或者CPU Virtualization什么的。
- 可以在任务管理器->Performance->CPU中通过查看Virtualization是否为Enabled来查看是否成功打开了。
- 注意打开开关之后,
- (否则会蓝屏?也可能是打开开关之前的虚拟机不能再用了,懒得试了。)
- 在控制面板的"程序和功能"的"打开/关闭Windows功能"中,关闭win10的Hyper-V功能。
- 可能是win10的Hyper-V功能和VirtualBox、VMware的虚拟化功能冲突,但Docker又不一样了,Docker必须打开Hyper-V开关,可能Docker的机制是会使用操作系统的虚拟化功能。
- 重启一下
- 关闭Windows Defender Device Guard和Windows Defender Credential Guard功能
- 微软文档
- 最好重启一下
- 可以通过界面修改
- 在主机操作系统上,右键单击“开始” > “运行”,键入gpedit.msc,然后单击“ 确定”。本地组策略编辑器打开
- 转至本地计算机策略 > 计算机配置 > 管理模板>系统 >Device Guard(或者是: 设备防护) > 启用基于虚拟化的安全性。
- 选择已禁用。
- 也可以通过注册表修改
- HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA\LsaCfgFlags
- HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\DeviceGuard\EnableVirtualizationBasedSecurity
- HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\DeviceGuard\RequirePlatformSecurityFeatures
- 在控制面板的"程序和功能"的"打开/关闭Windows功能"中,关闭win10的Hyper-V功能。
- 先创建虚拟机,然后在设置->存储->Controller:IDE->Empty->IDE Secondary Master->点击后面的按钮选择iso系统镜像,然后启动虚拟机开始安装。
网络设置
- 使用NAT Network共享宿主机网络(NAT不是这样的)
- 安装完VirtualBox后,宿主机会多一个VirtualBox的网卡
- Tools->Preferences->Network下新建一个Nat Network,比如名称为NatNetwork,双击打开Details,查看NatNetwork的子网网段供后面步骤使用,比如是10.0.2.0/24。
- 虚拟机的Settings->Network->Adapter 1配置成Attached to NAT Network,使用的NAT Network的Name是前面新建的Nat Network的名称,如NatNetwork。
- 宿主机上(控制面板->Network and Internet->Network Connections下可以查看所有网卡),修改VirtualBox虚拟网卡的ip(与NatNetwork同子网)、子网掩码(通常是255.255.255.0)、网关(通常是NatNetwork的.1地址,如10.0.2.1)。
- 虚拟机中,修改ip(与NatNetwork同子网)、子网掩码(通常是255.255.255.0)、网关(通常是NatNetwork的.1地址,如10.0.2.1)、DNS服务(可以在宿主机上ipconfig/all查看主网卡用的DNS服务器地址),然后要重启网络才生效。
- 虚拟机创建的Ubuntu可能是无线网络,需要在外面增加一个有线网卡。
- 修改了虚拟机的网络配置不用重启,实时生效
共享剪切板/支持拖拽文件
- 一般只需要选中虚拟机,然后设置剪贴板和拖拽为双向就ok了(General->Advanced下面)。
- 但是有时候需要VirtualBox和虚拟机都安装组件。需要去虚拟机工具栏->Devices->Insert Guest Additions CD images...,然后虚拟机系统中如Linux会弹出Terminal让你输入密码然后开始从安装镜像中安装插件,完成后可能要重启虚拟机。中文界面可能是在虚拟机的左上方,有一些工具,选中"设置",然后点击下拉框里面的“安装增强功能”。
备份
- 原始文件夹
- Log文件夹
- Snapshots文件夹
- xxx.vdi虚拟机文件
- xxx.vbox文件
- xxx.vbox-prev文件
- 直接拷贝文件夹
- 快照
- 在上一次的快照基础上做差异化快照,相当于checkpoint检查点,可以restore到每一个snapshot
- 会在Snapshots文件夹下面生成快照文件:xxx.vdi
- 对某一个虚拟机的快照操作可以进行多次,每次都是在之前快照的基础上,相当于是差异化的,这个在界面上可以看出来是树状的,可以回退到每个快照。
- 可以不关机
- 备份(Appliance)
- 真正意义上的备份,导出一个单独的合并的文件,用于以后再导入
- 也就是导入、导出Appliance
- 会生成一个xxx.ova文件(只有这一个文件),下次使用需要导入
- 可以不关机
- 可以选择是否包含ISO镜像文件
- 可以选择包含哪些网卡的物理地址
- 克隆(Clone)
- 克隆完成后,VirtualBox的机器列表中也会显示出来这个克隆出来的虚拟机,直接就可以使用。
- 会生成一个单独的克隆目录,包含xxx.vbox和xxx.vdi文件
- 必须先关机
- 可以选择包含哪些网卡的物理地址
- 可以选择是否保留硬盘名称
- 可以选择是否保留硬件UUIDs
- 可以选择Full clone还是Linked clone
虚拟化 - VirtualBox的更多相关文章
- Libvirt 虚拟化库剖析
讲到向外扩展计算(比如云计算),libvirt 可能是您从未听说过的最重要的库之一.libvirt 提供一种虚拟机监控程序不可知的 API 来安全管理运行于主机上的来宾操作系统.libvirt 本身不 ...
- VirtualBox的源码学习
VMM重要的组件 TRPM (Trap Manager) PGM (Page Manager) REM (Recompiled Execution Manager) EM (Execution Man ...
- libvirt虚拟库
转载自:https://www.ibm.com/developerworks/cn/linux/l-libvirt/index.html Libvirt 虚拟化库剖析 讲到向外扩展计算(比如云计算 ...
- KVM,QEMU,libvirt入门学习笔记【转】
转自:http://blog.csdn.net/julykobe/article/details/27571387 注:本文内容均来自网络,我只是在此做了一些摘抄和整理的工作,来源均有注明. 0.虚拟 ...
- [openStack]使用Fuel安装OpenStack juno的fuel_master
安装OpenStack是一件很复杂的事情,特别是在想目中,如果一个组件一个组件,一台一台的coding部署,估计太消耗时间,而且出错的概率很高,所以使用工具推送部署的效率就很高了,而且必须得可靠.mi ...
- 在 CentOS 7上Virtualbox+phpVirtualBox完整虚拟化环境部署
一.phpVirtualBox简介 VirtualBox是一套为不同操作系统而设的 x86 虚拟化产品.它是一个机器/硬件的虚拟化产品,功能上与 VMware Server.Parallel ...
- VirtualBox虚拟机--导入导出系统&主机启用硬件虚拟化
问题概述:在往新电脑中导入其他电脑中导出的虚拟机后,启动该虚拟机系统时报错说主机不支持硬件虚拟化. 将电脑1中VirtualBox的一个虚拟机系统win7导出成.ova格式的文件, 在电脑2中安装Vi ...
- Ubuntu18.04 下 VirtualBox or VMWare 虚拟化问题
This host supports Intel VT-x, but Intel VT-x is disabled.Intel VT-x might be disabled if it has bee ...
- 从vboot来看:virtualbox 和 vmware 虚拟化软件环境的兼容性(支持能力)的差距真是挺大的!
仅仅就支持vboot启动来说:vwmare 完胜!! 熬了一周,(当前最新版本)用virtualbox 5.22 和 6.0 总是无法完成vboot的正常启动功能:不是蓝屏.就是死慢.要不就直接han ...
随机推荐
- Shiro 权限校验不通过时,区分GET和POST请求正确响应对应的方式
引入:https://blog.csdn.net/catoop/article/details/69210140 本文基于Shiro权限注解方式来控制Controller方法是否能够访问. 例如使用到 ...
- 【313】python 中 print 函数用法总结
参考:python 中 print 函数用法总结 参考:Python print() 函数(菜鸟教程) 参考:Python 3 print 函数用法总结 目录: 字符串和数值类型 变量 格式化输出 p ...
- objective-C 的内存管理之-实例分析
objective-C 的内存管理之-实例分析 注:这是<Objective-C基础教程>一书上的实例,但是原书限于篇幅,分析得比较简单,初次阅读看得比较费劲,这里展开详细讨论一下. 场景 ...
- Vuex笔记/axios笔记
每一个 Vuex 应用的核心就是 store(仓库).“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state).Vuex 和单纯的全局对象有以下两点不同: Vuex 的状态存储 ...
- 【总结整理】AI产品经理大会2017(转载)
从企业大数据到企业 AI | 易观智慧院院长 李智 1.AI 不是目的,而是要了解 AI 是什么,真正意义上的强人工智能在前沿领域尚未取得突破,暂时只能在影视文学作品中去思考人机关系.机器人三定律在未 ...
- 【祥哥带你玩HoloLens开发】了解如何实现远程主机为HoloLens实时渲染
今天有一个兄弟在群里讲到他们的项目模型比较大,单用HoloLens运行设备的性能无法满足需要,问道如何将渲染工作交给服务器来做,讲渲染结果传给HoloLens.正好刚刚看官方github的时候发现一个 ...
- SpringBoot整合SpringData和Mysql数据库
1.新建maven项目(具体的新建过程就不细说了) 2.添加maven依赖,也就是在pom.xml文件添加项目的依赖jar包: <project xmlns="http://maven ...
- java实现文件的拷贝以及文件的删除
/** * 将文件拷贝到指定目录 * @param oldAddress 文件所在目录(文件的全路径) * @param newAddress 指定目录(包含复制文件的全名称) * @throws E ...
- MYSQL中GROUP BY的细节及SELECT语句顺序
一.GROUP BY语句的细节 我们知道,在sql中,GROUP BY语句主要用来给数据分组,以便能对每个组进行聚集计算,但是GROUP BY也有一些限制需要知道: 1. GROUP BY字句可以包含 ...
- VS优化编译配置
在使用VS2010编译C++程序的时候,每次修改工程中的某一个文件,点击“生成-仅用于项目-仅生成**”时,往往都是整个工程都需要重新编译一遍.由于这个工程代码量太大,每次编译完成都需要将近10分钟左 ...