ThinkPad T500解决VirtualBox不能安装64位系统的问题


主机已经开启了64位支持,而Virtualbox依然提示不支持64位操作系统。
当然CPU必须是64位的且支持Intel或AMD的虚拟化技术,可能还需要在CMOS设置里打开虚拟化选项。
在Thinkpad T500 安装了 debian 7.1 amd64的操作系统,安装的是 virtualbox 的官方包:4.2.16。发现在装64位的操作系统时,会提示无法安装,因为没有开启vt/x,所以仅支持32位系统。可以确定在机器的bios中开启这两项以支持64位及虚拟化,virtualbox也是64位版本的。
一般来说,用virtualBox安装64bit的虚拟机:(http://forums.virtualbox.org/viewtopic.php?t=8669):
1. You need a 64-bit processor with hardware virtualization support (see User Manual chapter 1.2, Software vs. hardware virtualization (VT-x and AMD-V), page 10) and a 64-bit host operating system.
1:64位的cpu(带硬件虚拟化支持)和64位的操作系统
2. You must run a 64-bit version of VirtualBox on that OS (Windows Vista, Linux or OpenSolaris). This can then run both 32-bit and 64-bit VMs; a 32-bit VirtualBox can only run 32-bit VMs, regardless of the hardware.
2:必须运行64位的VirtualBox,才可以装32位或64位的虚拟机;32位的VirtualBox只能装32位的虚拟机,而不论硬件是否支持64位
3. You must enable hardware virtualization; software virtualization is not supported for 64-bit VMs.
3:你必须允许硬件虚拟化;软件虚拟化是不支持64位虚拟机
So, running 64-bit guest require:
所以,运行64位的虚拟机需要
- hardware virtualization support in your CPU (called VT-x by Intel and AMD-V by AMD)
-cpu支持硬件虚拟化(intel的叫VT-x,amd的叫AMD-V)(下面的url可以查询你的cpu是否支持)
- you need to make sure it is not turned off by your BIOS (steps depends on your motherboard)
-确定该功能(硬件虚拟化)没有被BIOS关闭(步骤取决于主板)
- make sure it is enabled in virtual box settings of your machine (Settings --> Advanced --> check Enable VX-t/AMD-V)
-确定virtualBox可以在你的机器上设置(设置-》高级-》启用VX-t/AMD-v)
---------------
后来发现,需要在bios中开启设置后,对机器进行冷启动两次,即可解决此问题。
进入BIOS,关闭vt-x
保存并退出BIOS设置,在系统启动并出现bios信息后,暂停系统的启动(通过pause键)或直接关闭计算机电源。
重新开启计算机
进入BIOS,开启vt-x
保存并推出BIOS设置,在系统启动并出现bios提示信息后,暂停系统的启动(通过pause键)或者关闭计算机电源。
重新开启引导计算机
经过上面的搞笑操作,应该能解决这个问题,看来intel在64位与虚拟化领域滞后amd不是一点点。。
CPU的EM64T和VT技术支持;BIOS的VT开关设置后一定要冷启动一下生效之,这一点很重要,要不然怎么折腾都是不行的。笔记本在操作时要取下电池操作上述过程。
另外还有服务器CPU在虚拟化时的注意事项。
E5 2670 c2 与 E5 2660 v2 的最简对比
V2要好一些些,C2的价格只需V2的50%,C2在性能上要差V2 10%左右。
E5 2670-V1 C1 和 C2 的区别总结
CPU基本参数:
================================================================
The Intel Xeon E5-2670 V1 is an 8 core 16 thread chip that supports up to 1600MHz DDR3 RDIMMs and dual socket configurations. There are two major stepping versions to look for:
SR0H8 is C1 stepping. VT-x is supported but VT-d is supposedly not supported
SR0KX is the C2 stepping with the VT-d fix which may be important for virtualization pass-through
Generally the SR0KX carry a slight premium due to the later stepping.
intel-xeon-e5-2670-v1-prices-still-plummeting
================================================================
差别如下
E5 2670 C1 C2
VT-X yes yes
VT-D no yes
然后VT-X、VT-D的区别就是:
1.虚拟化分软件和硬件
没有VT-x也能虚拟化,很老的机器都可以跑VMWare。
2.硬件虚拟化分为CPU层 和IO层/芯片层
在Intel平台上,CPU层的就叫VT-x,IO层/芯片层就叫VT-d;
一个CPU/一套平台可以同时支持VT-x和VTd,或者都不支持,或者只支持VT-x,绝不可能只支持VT-d;
现阶段SNB/IVB都能保证支持VT-x。AMD的不叫VT-x/VT-d,叫别的名字,也都支持。
3.硬件虚拟化需软件支持
现在基本VT-x都能支持了。能支持VT-d的都是企业级的软件,比方VMWare ESXi等。
下面再简单针对VT-x和VT-d做介绍
VT-x:
原理:CPU运行有Ring0~Ring3,一些底层操作必须Ring0。如果没有VT-x,虚拟机软件只能到Ring1,那么有些内核级别的东西就必须靠软件模拟,从而导致效率降低。有了VT-x,相当于多出来一套虚拟机的Ring0~Ring3,这样在虚拟机内的内核请求和虚拟机外的就等于性质上/效率上没有差别了,从而提高效率。
用途:太多了。总之支持VT-x,虚拟机就没有CPU性能的短板了(当然还是受限于CPU本身的能力);另外,在32位系统上要跑64位虚拟机的话,也必须要VT-x支持。
VT-d:
原理:大致是通过硬件层的映射使得虚拟机内的IO请求(IO用到的资源有中断、DMA)直接映射到实际硬件上;如果没有VT-d,则需要软件来维护这个映射表。
用途:最主要的用途是虚拟主机。一个服务器上有4块硬盘4张网卡,然后VT-d这么处理一下,当4台主机来售卖,还可以跟人说是独立主机?
因为VT-d的存在,所以看到的什么芯片组信息之类的都和虚拟机外面一样,一般人是看不出来的。
参考来源:X86_Virtualization
Intel虚拟化之VT-d VT-x VT-c
VT-d 英文全程为 Virtualization Technology for Directed I/O。
其中 VT 是 Virtualization Technology 的缩写,d代表Directed。
VT-d 的 Intel 官方中文名称是:定向 I/O 虚拟化技术,就是俗称的虚拟化直通技术,允许宿主机将某些硬件资源(比如硬盘、显卡、网卡)的管辖权直接移交给虚拟机,此时宿主机将不能再使用此硬件,虚拟机会以直通独占的方式使用它们,这种直通的技术带来的好处就是,虚拟机中使用该硬件的性能损耗是极小的, 改善了 I/O 设备在虚拟化环境中的性能并且隔离更加彻底提高了系统的安全性。
VT-x 其实就是 Intel Virtualization Technology。
至于为什么后边有个 x 呢?是因为英特尔在起名字的时候,将x86平台上的VT技术,称之为VT-x;在Itanium平台上的VT技术,称之为VT-i。
VT-x 是 Intel CPU 的硬件虚拟化技术,提供内存以及虚拟机的硬件隔离,这也是平常想在 intel 平台上做虚拟化最基本需要支持的技术;它不仅需要处理器的支持,也需要主板、BOIS的支持。
VT-c 英文全程为 Virtualization Technology for Connectivity。
VT-c 主要是针对提高网络 I/O 提供的虚拟化技术,它可以在一个物理网卡上建立针对虚拟机的设备队列,最大限度的提高 I/O 吞吐率。
VT-c 和 VT-d 有什么区别?
VT-d 是可以将一个物理网卡直通给一个虚拟机。现在的 VT-c 就很厉害了,可以将一个物理网卡分成十份,分别直通给10个虚拟机,并且这十份都是隔离互不影响的,注意,这里用了直通两个字,也就是分割成十份这个操作是不经过虚拟机管理系统的(也就是不经过CPU),所以 I/O 性能很高,并且减少CPU的负载。可以在此小结一下:
虚拟化分软件虚拟化和硬件虚拟化,没有VT-x也能虚拟化,很老的机器都可以跑VMWare,因为使用了软件虚拟化的方式,不过运行效率肯定没有硬件虚拟化的高;
硬件虚拟化分两种:CPU层和IO层/芯片层,在Intel平台上,CPU层的虚拟化技术叫VT-x,IO层/芯片层叫VT-d;
一个CPU/一套平台可以同时支持VT-x和VTd,或者都不支持,或者只支持VT-x,绝不可能只支持VT-d;
现阶段英特尔SNB/IVB平台都能保证支持VT-x;
AMD的虚拟化技术叫AMD-v;
硬件虚拟化需软件支持,例如微软的Hyper-V;
现在主流的处理器基本都支持VT-x;
对 VT-x 和 VT-d 的简单介绍
VT-x
原理:CPU运行有Ring0 ~ Ring3,一些底层操作必须Ring0。如果没有VT-x,虚拟机软件只能到Ring1,那么有些内核级别的东西就必须靠软件模拟,从而导致效率降低。有了VT-x,相当于多出来一套虚拟机的Ring0 ~ Ring3,这样在虚拟机内的内核请求和虚拟机外的就等于性质上/效率上没有差别了,从而提高效率。
用途:提高虚拟机效率,让虚拟机没有CPU性能的短板(当然还是受限于所使用的CPU本身的能力)。另外,在32位系统上要跑64位虚拟机的话,也必须要VT-x支持。
VT-d
原理:是一种基于North Bridge北桥芯片(或者按照较新的说法:MCH)的硬件辅助虚拟化技术,通过在北桥中内置提供DMA虚拟化和IRQ虚拟化硬件,实现了新型的I/O虚拟化方式,Intel VT-d能够在虚拟环境中大大地提升 I/O 的可靠性、灵活性与性能。
用途:运用VT-d技术,虚拟机得以使用直接I/O设备分配方式或者I/O设备共享方式来代替传统的设备模拟/额外设备接口方式,从而大大提升了虚拟化的I/O性能,让虚拟机性能更接近于真实主机。
当然CPU必须是64位的且支持Intel或AMD的虚拟化技术,可能还需要在CMOS设置里打开虚拟化选项。
在Thinkpad T500 安装了 debian 7.1 amd64的操作系统,安装的是 virtualbox 的官方包:4.2.16。发现在装64位的操作系统时,会提示无法安装,因为没有开启vt/x,所以仅支持32位系统。可以确定在机器的bios中开启这两项以支持64位及虚拟化,virtualbox也是64位版本的。
一般来说,用virtualBox安装64bit的虚拟机:(http://forums.virtualbox.org/viewtopic.php?t=8669):
1. You need a 64-bit processor with hardware virtualization support (see User Manual chapter 1.2, Software vs. hardware virtualization (VT-x and AMD-V), page 10) and a 64-bit host operating system.
1:64位的cpu(带硬件虚拟化支持)和64位的操作系统
2. You must run a 64-bit version of VirtualBox on that OS (Windows Vista, Linux or OpenSolaris). This can then run both 32-bit and 64-bit VMs; a 32-bit VirtualBox can only run 32-bit VMs, regardless of the hardware.
2:必须运行64位的VirtualBox,才可以装32位或64位的虚拟机;32位的VirtualBox只能装32位的虚拟机,而不论硬件是否支持64位
3. You must enable hardware virtualization; software virtualization is not supported for 64-bit VMs.
3:你必须允许硬件虚拟化;软件虚拟化是不支持64位虚拟机
So, running 64-bit guest require:
所以,运行64位的虚拟机需要
- hardware virtualization support in your CPU (called VT-x by Intel and AMD-V by AMD)
-cpu支持硬件虚拟化(intel的叫VT-x,amd的叫AMD-V)(下面的url可以查询你的cpu是否支持)
- you need to make sure it is not turned off by your BIOS (steps depends on your motherboard)
-确定该功能(硬件虚拟化)没有被BIOS关闭(步骤取决于主板)
- make sure it is enabled in virtual box settings of your machine (Settings --> Advanced --> check Enable VX-t/AMD-V)
-确定virtualBox可以在你的机器上设置(设置-》高级-》启用VX-t/AMD-v)
---------------
后来发现,需要在bios中开启设置后,对机器进行冷启动两次,即可解决此问题。
进入BIOS,关闭vt-x
保存并退出BIOS设置,在系统启动并出现bios信息后,暂停系统的启动(通过pause键)或直接关闭计算机电源。
重新开启计算机
进入BIOS,开启vt-x
保存并推出BIOS设置,在系统启动并出现bios提示信息后,暂停系统的启动(通过pause键)或者关闭计算机电源。
重新开启引导计算机
经过上面的搞笑操作,应该能解决这个问题,看来intel在64位与虚拟化领域滞后amd不是一点点。。
CPU的EM64T和VT技术支持;BIOS的VT开关设置后一定要冷启动一下生效之,这一点很重要,要不然怎么折腾都是不行的。笔记本在操作时要取下电池操作上述过程。
另外还有服务器CPU在虚拟化时的注意事项。
E5 2670 c2 与 E5 2660 v2 的最简对比
V2要好一些些,C2的价格只需V2的50%,C2在性能上要差V2 10%左右。
E5 2670-V1 C1 和 C2 的区别总结
CPU基本参数:
================================================================
The Intel Xeon E5-2670 V1 is an 8 core 16 thread chip that supports up to 1600MHz DDR3 RDIMMs and dual socket configurations. There are two major stepping versions to look for:
SR0H8 is C1 stepping. VT-x is supported but VT-d is supposedly not supported
SR0KX is the C2 stepping with the VT-d fix which may be important for virtualization pass-through
Generally the SR0KX carry a slight premium due to the later stepping.
intel-xeon-e5-2670-v1-prices-still-plummeting
================================================================
差别如下
E5 2670 C1 C2
VT-X yes yes
VT-D no yes
然后VT-X、VT-D的区别就是:
1.虚拟化分软件和硬件
没有VT-x也能虚拟化,很老的机器都可以跑VMWare。
2.硬件虚拟化分为CPU层 和IO层/芯片层
在Intel平台上,CPU层的就叫VT-x,IO层/芯片层就叫VT-d;
一个CPU/一套平台可以同时支持VT-x和VTd,或者都不支持,或者只支持VT-x,绝不可能只支持VT-d;
现阶段SNB/IVB都能保证支持VT-x。AMD的不叫VT-x/VT-d,叫别的名字,也都支持。
3.硬件虚拟化需软件支持
现在基本VT-x都能支持了。能支持VT-d的都是企业级的软件,比方VMWare ESXi等。
下面再简单针对VT-x和VT-d做介绍
VT-x:
原理:CPU运行有Ring0~Ring3,一些底层操作必须Ring0。如果没有VT-x,虚拟机软件只能到Ring1,那么有些内核级别的东西就必须靠软件模拟,从而导致效率降低。有了VT-x,相当于多出来一套虚拟机的Ring0~Ring3,这样在虚拟机内的内核请求和虚拟机外的就等于性质上/效率上没有差别了,从而提高效率。
用途:太多了。总之支持VT-x,虚拟机就没有CPU性能的短板了(当然还是受限于CPU本身的能力);另外,在32位系统上要跑64位虚拟机的话,也必须要VT-x支持。
VT-d:
原理:大致是通过硬件层的映射使得虚拟机内的IO请求(IO用到的资源有中断、DMA)直接映射到实际硬件上;如果没有VT-d,则需要软件来维护这个映射表。
用途:最主要的用途是虚拟主机。一个服务器上有4块硬盘4张网卡,然后VT-d这么处理一下,当4台主机来售卖,还可以跟人说是独立主机?
因为VT-d的存在,所以看到的什么芯片组信息之类的都和虚拟机外面一样,一般人是看不出来的。
参考来源:X86_Virtualization
Intel虚拟化之VT-d VT-x VT-c
VT-d 英文全程为 Virtualization Technology for Directed I/O。
其中 VT 是 Virtualization Technology 的缩写,d代表Directed。
VT-d 的 Intel 官方中文名称是:定向 I/O 虚拟化技术,就是俗称的虚拟化直通技术,允许宿主机将某些硬件资源(比如硬盘、显卡、网卡)的管辖权直接移交给虚拟机,此时宿主机将不能再使用此硬件,虚拟机会以直通独占的方式使用它们,这种直通的技术带来的好处就是,虚拟机中使用该硬件的性能损耗是极小的, 改善了 I/O 设备在虚拟化环境中的性能并且隔离更加彻底提高了系统的安全性。
VT-x 其实就是 Intel Virtualization Technology。
至于为什么后边有个 x 呢?是因为英特尔在起名字的时候,将x86平台上的VT技术,称之为VT-x;在Itanium平台上的VT技术,称之为VT-i。
VT-x 是 Intel CPU 的硬件虚拟化技术,提供内存以及虚拟机的硬件隔离,这也是平常想在 intel 平台上做虚拟化最基本需要支持的技术;它不仅需要处理器的支持,也需要主板、BOIS的支持。
VT-c 英文全程为 Virtualization Technology for Connectivity。
VT-c 主要是针对提高网络 I/O 提供的虚拟化技术,它可以在一个物理网卡上建立针对虚拟机的设备队列,最大限度的提高 I/O 吞吐率。
VT-c 和 VT-d 有什么区别?
VT-d 是可以将一个物理网卡直通给一个虚拟机。现在的 VT-c 就很厉害了,可以将一个物理网卡分成十份,分别直通给10个虚拟机,并且这十份都是隔离互不影响的,注意,这里用了直通两个字,也就是分割成十份这个操作是不经过虚拟机管理系统的(也就是不经过CPU),所以 I/O 性能很高,并且减少CPU的负载。可以在此小结一下:
虚拟化分软件虚拟化和硬件虚拟化,没有VT-x也能虚拟化,很老的机器都可以跑VMWare,因为使用了软件虚拟化的方式,不过运行效率肯定没有硬件虚拟化的高;
硬件虚拟化分两种:CPU层和IO层/芯片层,在Intel平台上,CPU层的虚拟化技术叫VT-x,IO层/芯片层叫VT-d;
一个CPU/一套平台可以同时支持VT-x和VTd,或者都不支持,或者只支持VT-x,绝不可能只支持VT-d;
现阶段英特尔SNB/IVB平台都能保证支持VT-x;
AMD的虚拟化技术叫AMD-v;
硬件虚拟化需软件支持,例如微软的Hyper-V;
现在主流的处理器基本都支持VT-x;
对 VT-x 和 VT-d 的简单介绍
VT-x
原理:CPU运行有Ring0 ~ Ring3,一些底层操作必须Ring0。如果没有VT-x,虚拟机软件只能到Ring1,那么有些内核级别的东西就必须靠软件模拟,从而导致效率降低。有了VT-x,相当于多出来一套虚拟机的Ring0 ~ Ring3,这样在虚拟机内的内核请求和虚拟机外的就等于性质上/效率上没有差别了,从而提高效率。
用途:提高虚拟机效率,让虚拟机没有CPU性能的短板(当然还是受限于所使用的CPU本身的能力)。另外,在32位系统上要跑64位虚拟机的话,也必须要VT-x支持。
VT-d
原理:是一种基于North Bridge北桥芯片(或者按照较新的说法:MCH)的硬件辅助虚拟化技术,通过在北桥中内置提供DMA虚拟化和IRQ虚拟化硬件,实现了新型的I/O虚拟化方式,Intel VT-d能够在虚拟环境中大大地提升 I/O 的可靠性、灵活性与性能。
用途:运用VT-d技术,虚拟机得以使用直接I/O设备分配方式或者I/O设备共享方式来代替传统的设备模拟/额外设备接口方式,从而大大提升了虚拟化的I/O性能,让虚拟机性能更接近于真实主机。