虚拟化 - 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 ...
随机推荐
- **利用列表和super实现有序字典
class MyDict(dict): def __init__(self): self.temp_list = [] super(MyDict,self).__init__() def __seti ...
- spring与mybatis
- css常用属性总结之 id和class的区别,使用类还是ID?
前面两篇文章我们分别谈到了class和id的相关知识和如何使用,但是在实际项目中,我们该如何抉择,class还是id? 先回顾下两者的区别吧! 1.id具有唯一性,class具有普遍性,所以一个页面同 ...
- Gym101128F:Landscaping
题意 有一片h*w的草坪,要把每一行从左到右修剪一遍,每一列从上到下修剪一遍.每个草坪要么是高低要么是平地.割草机从高地到平地或者从平地到高地,需要花费a.也可以把平地变为高地或者把高地变为平地,花费 ...
- 解剖Nginx·自动脚本篇(4)工具型脚本系列
目录 auto/have 向自动配置头文件追加可用宏定义(objs/ngx_auto_config.h) auto/nohave 向自动配置头文件追加不可用宏定义(objs/ngx_auto_conf ...
- iOS单选和全选
在日常开发中单选.多选.全选经常遇到,所以写一个demo放上来供大家参考, 先看效果图: Demo地址:https://github.com/domanc/SingleAndAllSelect.git
- Logger Rate Limiter 十秒限时计数器
[抄题]: Design a logger system that receive stream of messages along with its timestamps, each message ...
- 81-POJ-Wall(计算几何)
http://poj.org/problem?id=1113 Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 411 ...
- [C++] const and char*
const and char* NOTICE: char *str = "hello"; the value of str is the address of the fi ...
- [SoapUI] DataSource, DataSourceLoop, DataSink
Script assertion in login: