虚拟化 - 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 ...
随机推荐
- tornado 自定义session (一)
tornado 中没有session功能,需要我们自己实现. 目录: settings: settings = { 'template_path': 'templates', 'static': 's ...
- 增强MyEclipse提示功能
当我们使用MyEclipse编辑代码的时候按住“Ctrl+/”,就能获得代码提示,或者使用“.”的时候就会“点”出属性或方法等,而且提示还会有延迟. 如果我们想无论是按下“.”.“Ctrl+/”甚至是 ...
- java算法 蓝桥杯算法训练 Fibonacci数列
问题描述 Fibonacci数列的递推公式为:Fn=Fn-1+Fn-2,其中F1=F2=1. 当n比较大时,Fn也非常大,现在我们想知道,Fn除以10007的余数是多少. 输入格式 输入包含一个整数n ...
- C#隐式类型局部变量&隐式类型数组
[隐式类型局部变量] 可以赋予局部变量推断“类型”var 而不是显式类型.var 关键字指示编译器根据初始化语句右侧的表达式推断变量的类型.推断类型可以是内置类型.匿名类型.用户定义类型或 .NET ...
- 使用opencv-python画OpenCV LOGO
OpenCV2-Python 官方教程的练习 代码: #-*- coding:utf-8 -*- import numpy as np import cv2 img = np.zeros((512, ...
- JS遍历子孙树
function fn(dataList,parent_id){ var result = [] , temp; for(var i in dataList){ if( ...
- Python实现常见算法[2]——快速排序
#!/usr/bin/python # module: quik_sort.py def PARTION(L,m,n): base = L[n] i = m-1 j = m while j<n: ...
- 117. Populating Next Right Pointers in Each Node II 计算右边的附属节点
[抄题]: Given a binary tree struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNod ...
- [C++] NEW Advanced Usage
NEW Advanced Usage 将分配的内存限定在特定的一块区域 #include<iostream> #include<new> ); ); }; using name ...
- JMS学习之理论基础
本文代码使用ActiveMq5.6 一.什么是JMS JMS(Java Message Service,Java消息服务)是一组Java应用程序接口(Java API),它提供创建.发送.接收.读取消 ...