跳转至

虚拟机

虚拟机内连接主机7897代理

  • 主机(Windows11):
    • 首先通过ipconfig查看VMNet 8虚拟网关地址,我的是192.168.67.1
    • Clash-verge,代理在7897端口,注意需要打开局域网连接(LAN),即让代理监听 0.0.0.0:7897 而不仅仅是 127.0.0.1:7897
      • 与此同时我还开了Tun模式,开了之后才能连上gemini
    • Windows 防火墙默认会阻止来自虚拟机的入站连接,因此需要在防火墙中添加一个规则,允许来自虚拟机的入站连接到7897端口。以管理员身份启动PowerShell:
New-NetFirewallRule -DisplayName "Allow Clash on VMnet" -Direction Inbound -Protocol TCP -LocalPort 7897 -Action Allow
  • 虚拟机:设置网络代理
# filepath: /etc/environment
http_proxy="http://192.168.67.1:7897"
https_proxy="http://192.168.67.1:7897"
all_proxy="socks5://192.168.67.1:7897"
HTTP_PROXY="http://192.168.67.1:7897"
HTTPS_PROXY="http://192.168.67.1:7897"
ALL_PROXY="socks5://192.168.67.1:7897"
no_proxy="localhost,127.0.0.1"
NO_PROXY="localhost,127.0.0.1"

然后运行测试:curl -v 192.168.67.1:7897curl -v https://www.google.com,如果能正常返回内容,则说明设置成功。

Hyper-V on Windows

Hyper-V是Microsoft开发的硬件虚拟化产品,允许在单个物理计算机上创建和管理多个虚拟机环境。下面对这项技术进行详细介绍:

Hyper-V架构

Hyper-V采用Type-1虚拟化架构(裸金属虚拟化),这意味着:

  1. 虚拟化层直接运行在硬件上:Hyper-V虚拟化层(hypervisor)直接安装在硬件上
  2. 分区结构:Hyper-V创建"分区"来隔离不同的操作系统环境
  3. 父分区:拥有对硬件的直接访问权限,运行Windows操作系统
  4. 子分区:运行客户操作系统,通过虚拟化层访问硬件

开启Hyper-V后,整个电脑都变成虚拟机了吗?

部分正确但不完全准确

实际情况:

  1. 父分区特殊性
  2. 启用Hyper-V后,Windows确实在技术上变成运行在虚拟化层上的"父分区"
  3. 但父分区拥有特权,可以直接管理硬件资源

  4. 与传统虚拟机的区别

  5. 父分区Windows不是普通意义上的"虚拟机"
  6. 它有特殊权限,并负责管理整个系统资源
  7. 通过虚拟化服务提供程序(VSP)协调硬件资源分配

  8. 性能影响

  9. 虚拟化会产生少量开销,但父分区的性能影响相对较小
  10. 现代CPU的硬件虚拟化支持(如Intel VT-x/AMD-V)大大减少了这种开销

Hyper-V工作原理

  1. 微型化架构
  2. Hyper-V hypervisor非常小且高效
  3. 负责核心任务:内存管理、处理器调度、分区隔离

  4. 设备访问机制

  5. 父分区包含设备驱动程序,通过虚拟化服务提供商(VSP)提供硬件访问
  6. 子分区通过虚拟化服务客户端(VSC)访问硬件

  7. 内存管理

  8. 使用第二级地址转换(SLAT)技术优化内存访问
  9. 支持动态内存分配

Hyper-V的影响

  1. 系统层面变化
  2. 启用Hyper-V确实改变了操作系统与硬件的交互方式
  3. Windows启动过程变更,加载hypervisor并将自身放入父分区

  4. 兼容性影响

  5. 某些需要直接硬件访问的应用可能受影响
  6. 与其他虚拟化技术(如VMware Workstation)的兼容性问题

  7. 性能考量

  8. CPU性能:现代处理器优化降低了虚拟化开销
  9. 内存分配:需要额外内存用于虚拟化基础设施
  10. 图形性能:可能对某些图形密集型应用有轻微影响

总结

Hyper-V确实将Windows转变为运行在虚拟化层上的环境,但作为"父分区",Windows保持对硬件的特权访问和控制能力。这与普通虚拟机有本质区别,因此说"Windows变成了虚拟机"只是部分正确的简化说法。对于大多数用户,启用Hyper-V后性能影响通常很小,特别是在现代硬件上。