虚拟化 - 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 ...
随机推荐
- 关于Remoting的个人使用心得
最经几天比较闲写了一个基于Tcp网络通信的聊天程序,写的过程中实现了文件传输,可是却怎样也无法将文件名传送过去,期间想过用通信的端口发送文件的名称,但是又要自己定义一个协议,觉得那样比较麻烦,于是想到 ...
- golang的array/slice
相同点 由相同类型的元素组合构成 元素有序排列,0为第一个元素下标 基本使用方法相同 区别 array声明时需要指定容量大小,而且无法修改 slice可通过append增加元素,当容量不够时,会自动扩 ...
- 将DataTable中的数据导出成Excel
public bool ExportFile(System.Data.DataTable dt){ SaveFileDialog sfd = new SaveFileDialog(); s ...
- Spark之 使用SparkSql操作mysql和DataFrame的Scala实现
通过读取文件转换成DataFrame数据写入到mysql中 package com.zy.sparksql import java.util.Properties import org.apache. ...
- 利用Fiddler对Android模拟器网络请求进行抓包
安装使用Fiddler 下载安装Fiddler的方法这里就略过了,一路Next就行了.装好之后运行软件,正常情况这个时候我们已经可以对电脑的网络请求进行抓包了.Fiddler默认的代理地址是127.0 ...
- Activiti 乱码问题
新版本运行起来中文看起来正常了许多,至少生成图片过程中不会出现乱码了,但不出预料的再次遇到部署时乱码问题,除了保存时报错,还会导致流程实例的节点名称是乱码. 1. IE报错定义时错误提示: 元素类型 ...
- C#根据URL生成签名
代码: using System; using System.Collections.Generic; using System.Linq; using System.Security.Cryptog ...
- Jenkins一天中构建多次
Build after other projects are built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功.失败.或者不稳定的时候触发项目: Poll SCM:定时 ...
- mybaties 一对多关系映射
背景: 数据库格式如下图所示 现在要统计出在一段时间内dimension_type为op即所有运营商的pv.uv.vv等指标的数组,以便页面显示出每个运营商在该事件段内历史指标曲线图. 分析: 返回的 ...
- python基础之-数据类型
Python3 数字(Number) Python 数字数据类型用于存储数值. 数据类型是不允许改变的,这就意味着如果改变数字数据类型得值,将重新分配内存空间. 以下实例在变量赋值时 Number 对 ...