第一章 准备工作
第一节 了解基本原理
- 阅读以下文章:
- 《“扫盲操作系统虚拟机”系列》( 扫盲操作系统虚拟机[0]:概述 @ 编程随想的博客 )
- 《用虚拟机隐匿公网IP》:原理介绍( 如何隐藏你的踪迹,避免跨省追捕[6]:用虚拟机隐匿公网 IP(原理介绍) @ 编程随想的博客 )、配置图解( 如何隐藏你的踪迹,避免跨省追捕[7]:用虚拟机隐匿公网 IP(配置图解) @ 编程随想的博客 )
- 有条件和能力使用Linux的,可学习Windows Subsystem for Linux、Whonix和Qubes OS的用法,简化整个搭建过程。对隔离性要求不高的情况下,可学习Docker容器等轻量级虚拟化技术。
- 虚拟机是对物理计算机的仿真模拟,能够提供相对隔离的环境,相对独立地运行操作系统。运行虚拟机的那一台物理计算机称为宿主机。
- 以下介绍的虚拟机管理程序(虚拟机监控软件)有三种:
- Hyper-V是Windows 8及以上版本系统自带的免费软件,不支持macOS的宿主机。
- VMware是商业软件,从2024年5月起对个人免费,VMware Workstation(17.5.2及以上免费)支持Windows的宿主机,VMware Fusion(13.5.2及以上免费)支持macOS的宿主机。
- VirtualBox是免费开源软件,支持Windows和macOS的宿主机。
- 以下涉及的网络知识主要包括:
- IPv4的IP地址(IP address)以XXX.XXX.XXX.XXX形式表现,每组XXX代表小于或等于255的10进制数。
- 虚拟机的局域网可以使用C类子网,常用的C类子网IP地址是从192.168.0.0到192.168.255.255。其默认子网掩码(Subnet mask)是255.255.255.0,前三组XXX相同时,可以相互通信。例如192.168.1.1与192.168.1.2在同一子网内,与192.168.2.1不在同一子网内。
- 在同一子网内的不同计算机不能使用相同的IP地址。
- 本机的IP地址可以写成127.0.0.1。
- DNS服务器地址(DNS server addresses)可以是8.8.8.8/8.8.4.4(Google公司)、1.1.1.1/1.0.0.1(Cloudflare公司)等。
- 网络适配器(网卡)的连接方式主要分为三种:
- Bridged:虚拟机与虚拟机之间可以通信,虚拟机与宿主机之间可以通信;虚拟机能看到互联网,互联网能看到虚拟机,即双向可见。又名:【Hyper-V】外部交换机/【VMware】桥接模式虚拟网络/【VirtualBox】桥接方式网络连接
- NAT:虚拟机与虚拟机之间可以通信,虚拟机与宿主机之间可以通信;虚拟机能看到互联网,互联网不能看到虚拟机,即单向可见。又名:【Hyper-V】内部交换机/【VMware】网络地址转换模式虚拟网络/【VirtualBox】网络地址转换方式网络连接
- Host-only:虚拟机与虚拟机之间可以通信,虚拟机与宿主机之间不可通信;虚拟机不能看到互联网,互联网不能看到虚拟机,即双向隔离。又名:【Hyper-V】专用交换机/【VMware】仅主机模式虚拟网络/【VirtualBox】仅主机方式网络连接
- 以下创建的虚拟机分为三种:
- 白机(可以省略):用于日常一般事务,使用一个NAT。可以安装国产软件。
- 灰机:用于翻墙,使用一个NAT、一个Host-only。安装翻墙软件,安装一个浏览器用于排查网络故障,不安装Office等其他各类软件。
- 黑机:用于特别重要事务,只能通过灰机联网,使用一个Host-only,彻底杜绝任何直接连接互联网的可能性,同时关闭系统代理,尽一切可能阻断不受控的外联流量。使用英文版操作系统、办公软件和浏览器,使用外国语言、时区等设置,安装Tor Browser、VeraCrypt等。
- 【Hyper-V】检查点(Checkpoint)/【VMware】快照(Snapshot)/【VirtualBox】备份(Snapshot)是虚拟机在某个瞬间的状态,建议在虚拟机关机状态下创建。回退到某个检查点可以把虚拟机恢复到过去的状态。若干检查点可构成树形层次,每个父检查点都可以有多个子检查点,从而形成多个相似但不同的虚拟机状态,例如上述多种虚拟机可以以一个纯净系统为父检查点,在此基础上按照各自要求继续制作。
- 虚拟硬盘(虚拟磁盘)的格式:
- 【Hyper-V】vhd/vhdx,不支持VMware和VirtualBox的虚拟硬盘格式;Windows宿主机原生支持Hyper-V的虚拟硬盘格式。
- 【VMware】vmdk,不支持Hyper-V和VirtualBox的虚拟硬盘格式。
- 【VirtualBox】vdi,支持Hyper-V和VMware的虚拟硬盘格式。
- 与可移动存储介质启动的自生系统(Live CD/DVD/USB)相比,双虚拟机或多虚拟机同样具有的优点或新增的优点如下:
- 通过回退到某个检查点/快照/备份、禁用虚拟内存和数据擦除,同样能够消除使用痕迹。
- 黑机根本没有面向互联网的网络适配器,逃逸难度极高,同样能够防止任何软件在后台直接连接互联网,大幅缩小攻击面。
- 利用虚拟机与宿主机之间、虚拟机与虚拟机之间的隔离性,既满足上网需求,又对网络流量采取更严格、更复杂的控制方式。
- 便于定期更新系统、调整配置、更新软件,减少漏洞。
- 更新系统、调整配置、更新软件后,无需重新制作CD/DVD/USB。
- 系统的定制化程度高,初学者无需在少数现成做好的系统中间选择,也无需信赖他人制作的系统。
- 同时运行多个系统并灵活切换。
- 大大提高文件读写速度,保障整体性能。
- 避免可移动存储介质寿命低、容易突然损坏的风险。
- 避免可读写Live USB意外残留痕迹且擦除不到位的风险。
第二节 配置宿主机环境
- 选购电脑时,首要考虑因素是CPU性能和内存大小,而不是硬盘大小。当同时打开的虚拟机窗口较多时,显存大小也比较重要。需要可靠地擦除个别文件的,建议选择机械硬盘,而不是固态硬盘。
- 购买并增加内存条,视具体型号和系统而定。当同时运行1-2个虚拟机时,建议宿主机物理内存至少8 GB;当同时运行3-4个虚拟机时,建议宿主机物理内存至少16 GB。
- 禁用虚拟内存。
- 【Windows】右键单击“此电脑” → 属性 → 高级系统设置 → 高级 → 性能 → 设置 → 高级 → 虚拟内存 → 更改 → 反选“自动管理所有驱动器的分页文件大小”,对每个驱动器都选择“无分页文件”并逐个单击“设置” → 确定。如提示是否重启,可选择稍后手动重启。
- 【Windows】用快捷键Win + R运行regedit,进入注册表编辑器,双击HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement的ClearPageFileAtShutdown,修改数值为1。
- 【macOS】步骤视型号而定,对初学者稍有风险,可自行搜索禁用Swap。
- 选择系统盘以外的某个剩余空间较大的磁盘,建立文件夹,专门用来存放多个虚拟机,假设为D:\PATH\。也可以将使用频率不同的虚拟机分布在多个磁盘分区上。
- 安装防病毒软件。等虚拟机全部部署完成并稳定运行一段时间后,可以精简宿主机上的绝大多数第三方软件,并把确实经常需要的转移到白机上,确保宿主机安全、稳定、快速地运行。
- 检查BIOS设置中是否已经开启虚拟化技术。因硬件存在差异,需要自行寻找适合自身计算机的方法。
第三节 下载系统安装光盘的映像文件
- 进入英文版Windows 10( Download Windows 10 )或Windows 11( Download Windows 11 )光盘映像(ISO文件)的下载页面。
- 为了便于下载,需要冒充非Windows系统,绕过官方的Media Creation Tool。
- 针对Firefox浏览器,进入菜单More tools → Web Developer Tools(或按快捷键F12),按手机状按钮进入Responsive Design Mode,在Responsive的下拉菜单里选择iPad iPadOS等。
- 针对Chrome浏览器,进入菜单More tools → Developer tool(或按快捷键F12),按手机状按钮进入Toggle device toolbar,在Dimensions: Responsive的下拉菜单里选择iPad Pro等。
- 按F5刷新页面,选择版本Windows 10 (multi-edition ISO)或Windows 11 (multi-edition ISO for x64 devices),单击Confirm。此时可关闭Web Developer Tools或Developer tool。
- 选择语言English (United States)或English International,单击Confirm。
- 根据硬件条件选择32-bit或64-bit(一般是64-bit),获得下载链接,链接将在24小时后过期。
- 由于文件较大,为了加快下载速度,可以使用下载工具。
第四节 为安装阶段的辅助文件做准备
- 下载操作系统和运行环境配套工具(可选项)
- 下载Windows激活工具(可选项)
- 针对Windows 7及以下版本,可以使用序列号直接激活,请自行搜索。
- 针对Windows 10及以上版本,进入W10 Digital Activation的下载页面( Download W10 Digital Activation 1.5.5.3 )。实际上,不激活不影响正常使用,仅影响桌面外观设置。
- 下载操作系统语言包离线版安装包(可选项)
- 进入Windows 10( Install language packs on Windows 10 VMs in Azure Virtual Desktop - Azure | Microsoft Learn )或Windows 11( Install language packs on Windows 11 Enterprise VMs in Azure Virtual Desktop - Azure | Microsoft Learn )的下载页面,右键单击Language ISO或Language and Optional Features ISO另存为。实际上在后续过程中,几乎完全不需要语言包。
-
下载.NET Framework离线版安装包(可选项)
- Windows 10/11自带.NET Framework 4.8,无需下载。
- 进入.NET Framework 3.5 SP1的下载页面( Download .NET Framework 3.5 SP1 | Free official downloads ),单击Download .NET Framework 3.5 SP1 Runtime。
- 下载Windows激活工具(可选项)
- 下载常用办公软件
- 下载Microsoft Office
- 白机可以安装中文版,灰机完全不安装,黑机建议选择英文版。
- 进入Office 2007的下载页面( Microsoft Office 2007 : Microsoft Corporation : Free Download, Borrow, and Streaming : Internet Archive ),展开ISO IMAGE,右键单击Microsoft Office 2007.iso另存为。
- 进入Office 2007 SP3更新包的下载页面( Downloading Microsoft Office 2007 SP3 from FileHorse.com ),单击Start Download。
- 进入Office 2010 Professional Plus With SP1 64-bit的下载页面( Microsoft Office 2010 Professional Plus WITH SP1 64-bit : Microsoft : Free Download, Borrow, and Streaming : Internet Archive ),右键单击ISO IMAGE另存为。
- 进入Office 2010 SP2更新包(64-bit是 Downloading Microsoft Office 2010 SP2 (64-bit) from FileHorse.com ,32-bit是 Downloading Microsoft Office 2010 SP2 (32-bit) from FileHorse.com )的下载页面,单击Start Download。
- 进入Office 2013 Professional Plus With SP1 64-bit的下载页面( https://archive.org/details/MSOFFICE2013PROPLUSSP1 ),展开ISO IMAGE,右键单击英语版另存为。
- 进入Office 2013 SP1 (64-bit)的下载页面( Downloading Microsoft Office 2013 SP1 (64-bit) from FileHorse.com ),单击Start Download。(可选项)
- 下载Microsoft Office激活工具KMSpico(可选项)
- 针对Office 2007及以下版本,可以使用序列号直接激活,请自行搜索。
- 针对Office 2010及以上版本,进入下载页面( GitHub - charygao/KMSpico_v10.2.0: ignore the virus report! ),单击Code → Download ZIP。该工具的染毒版本在互联网上大量传播,上述网站的版本有一天或许也会被掉包,拿不准的情况下宁愿不使用。实际上,不激活不影响正常使用,仅弹窗提示。
- 下载LibreOffice(可选项)
- 不愿意使用Microsoft Office的,可下载LibreOffice( Download LibreOffice | LibreOffice - Free and private office suite - Based on OpenOffice - Compatible with Microsoft )代替。
- 下载Microsoft Office
- 下载压缩工具安装包(可选项)
- WinRAR
- 进入下载页面( WinRAR download free and support: WinRAR Download Latest Version ),选择Language、Version、Platform、Architecture,右键单击安装包另存为。
- 进入rarreg.key的下载页面( Step 1: Create a file called rarreg.key Step 2: Paste into the file the raw content of this gist Step 3: Go to Winrar install directory (by default => c:\ProgramFiles\WinRAR\ ) Step 4: Paste the rarreg.key into WinRAR directory Step 5: Enjoy · GitHub ),右键单击Raw另存为。
- 7-Zip
- 进入下载页面( Download ),右键单击安装包另存为。
- WinRAR
- 下载翻墙工具。
- 下载浏览器英文版离线安装包
- Firefox
- 进入下载页面( Download Firefox in English (US) and more than 90 other languages ),单击Download Now。
- Chrome
- 进入下载页面( Google Chrome - The Fast & Secure Web Browser Built to be Yours ),单击Download。
- 反选“Help make Google Chrome better by automatically sending usage statistics and crash reports to Google.”。
- 单击“Accept and Install”。
- Tor Browser
- 进入下载页面( Tor Project | Download ),右键单击Download for Windows另存为。
- Firefox
- 下载灰机和黑机所需的其他软件
- 针对英文版操作系统打开部分文本文件出现乱码的问题,可以预先准备Notepad++( Downloads | Notepad++ )等轻量级文本编辑器。
- 针对端口转发、协议转换需求,可以预先准备Privoxy( Index of /sf-download-mirror/ )等代理服务器。
- 针对文件加密需求,可以预先准备GnuPG( GnuPG - Download )、VeraCrypt( VeraCrypt - Free Open source disk encryption with strong security for the Paranoid )等加密软件。
- 针对安全防御需求,可以预先准备防病毒等软件。
- 针对痕迹清理需求,可以预先准备数据擦除软件,以及BulkFileChanger( BulkFileChanger: Change date/time/attributes of multiple files )等文件时间属性修改软件。
- 由于文件较大,为了加快下载速度,可以使用下载工具。
第二章 使用虚拟机管理程序的基本功能
第一节 安装虚拟机管理程序
- 为避免冲突,建议只安装一种。
- 虚拟机管理程序的升级频率虽然不高,但仍建议定期关注更新,特别是出现重要安全更新时应当及时安装。
Hyper-V
-
对于Windows 10家庭版,在宿主机中以管理员身份打开PowerShell控制台,运行以下命令:
- Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
- DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
-
对于Windows 10家庭版,如果无法执行后续安装步骤时,把以下命令保存为.bat文件,然后运行(可选项):
Get-ChildItem $Env:SystemRoot\Servicing\Packages*Hyper-V*.mum | % {
DISM /Online /Norestart /Add-package:"$($_.FullName)"
}
DISM /Online /Enable-Feature /FeatureName:Microsoft-Hyper-V -All /LimitAccess /All -
对于Windows 10家庭版,如果上述命令导致问题需要撤销时,把以下命令保存为.bat文件,然后运行(可选项):
Get-ChildItem $Env:SystemRoot\Servicing\Packages*Hyper-V*.mum | % {
DISM /Online /Norestart /Remove-package:"$($_.FullName)"
}
DISM /Online /Disable-Feature /FeatureName:Microsoft-Hyper-V -
打开控制面板 → 应用 → 应用和功能 → 程序和功能 → 启用或关闭Windows功能 → 勾选“Hyper-V管理工具”和“Hyper-V平台”。单击“确定”。
-
打开任务管理器 → 服务 → 启动vmms(Hyper-V虚拟机管理)。
-
打开开始菜单 → Windows管理工具 → Hyper-V管理器。
-
单击操作 → 连接到服务器 → 本地计算机。
VMware
- 如需要与Hyper-V共存,宿主机控制面板 → Apps → Programs and Features → Turn Windows features on or off → 勾选Windows Hypervisor Platform。完成后重启宿主机。
- 下载。
- 针对Windows系统:VMware Workstation Pro for Personal 17.5.2
Build Number: 23775571(因版本而异)
大小:618.26 MB(因版本而异)
下载地址:Download VMware Workstation Pro (Latest Version Installer) - 针对macOS系统:VMware Fusion Pro for Personal Use 13.5.2
Build Number: 23775688(因版本而异)
大小:750.23 MB(因版本而异)
下载地址:Download VMware Fusion Pro (Latest Version Installer)
- 针对Windows系统:VMware Workstation Pro for Personal 17.5.2
- 安装。注意使用个人许可证。
- 修改界面语言。右键单击快捷方式 → 属性 → 快捷方式 → 目标 → 最后添加“ --locale zh_CN”(不含括号,前面有空格,短横有两个)。
- 开始菜单 → VMware。
VirtualBox
- 安装Microsoft Visual C++ 2019 Redistributable Package( 最新受支持的 Visual C++ 可再发行程序包下载 | Microsoft Learn ),即2015-2022版。
- 进入VirtualBox和VirtualBox Extension Pack的下载页面( Downloads – Oracle VM VirtualBox ),其中VirtualBox Extension Pack的安装包下载后不能更改文件名,版本应当与VirtualBox匹配。
- 安装VirtualBox。注意反选VirtualBox Python Support功能,通常不需要用,可避免安装python-core。
- 自动启动VirtualBox。
- 修改界面语言。Preferences → Language → 简体中文。
- 双击VirtualBox Extension Pack并安装。
Docker(附)
- 安装Windows Subsystem for Linux(WSL)。以管理员身份打开PowerShell控制台,或用快捷键Win + R运行cmd,输入命令:wsl --install
- 如果上述步骤无效,执行官方说明( 旧版 WSL 的手动安装步骤 | Microsoft Learn )的前5步。到下载页面( Releases · microsoft/WSL · GitHub )下载并安装最新版的WSL。
- 以管理员身份打开PowerShell控制台,或用快捷键Win + R运行cmd,输入命令:wsl -v
- 根据输出结果检查WSL的版本是否正确。
- 重启。
- 下载Docker。
- 针对Windows系统:Docker Desktop for Windows → x86_64
下载地址:https://desktop.docker.com/win/main/amd64/Docker%20Desktop%20Installer.exe - 针对搭载Apple芯片的macOS系统:Docker Desktop for Mac with Apple silicon
下载地址:https://desktop.docker.com/mac/main/arm64/Docker.dmg - 针对搭载Intel芯片的macOS系统:Docker Desktop for Mac with Intel chip
下载地址:https://desktop.docker.com/mac/main/amd64/Docker.dmg
- 针对Windows系统:Docker Desktop for Windows → x86_64
- 参考官方说明( Docker Desktop WSL 2 backend on Windows | Docker Docs )检查与WSL相关的设置。
- 参考官方说明( Explore networking features on Docker Desktop | Docker Docs )检查与网络相关的设置。
- 用邮箱注册Docker账号( Signup | Docker )。
第二节 在宿主机和虚拟机之间切换键盘、鼠标、屏幕的控制权
让虚拟机控制键盘和鼠标
- 通用方式:双击虚拟机 → 打开虚拟机窗口 → 单击虚拟机窗口中的任意位置。
- 【Hyper-V】无。
- 【VMware】按Ctrl+G(Windows宿主机)或Cmd+G(macOS宿主机)。
- 【VirtualBox】无。
让宿主机控制键盘和鼠标
- 【Hyper-V】按Ctrl+Alt+向左键 → 将鼠标指针移动到虚拟机窗口的外部。
- 【VMware】按Ctrl+Alt(Windows宿主机)或Ctrl+Cmd(macOS宿主机)。
- 【VirtualBox】按右侧Ctrl(Windows宿主机)或左侧Cmd(macOS宿主机)。
虚拟机从窗口模式切换到全屏模式
- 通用方式:按顶部的“最大化”。
- 【Hyper-V】双击虚拟机窗口的标题栏或按Ctrl+Alt+Break/Pause。
- 【VMware】按Ctrl+Alt+Enter(Windows宿主机)或Ctrl+Cmd+F(macOS宿主机)。
- 【VirtualBox】按右侧Ctrl+F(Windows宿主机)或左侧Cmd+F(macOS宿主机)。
虚拟机从全屏模式切换到窗口模式
- 通用方式:按顶部的“还原”或“最小化”。
- 【Hyper-V】Ctrl+Alt+Break/Pause。
- 【VMware】按Ctrl+Alt+Enter(Windows宿主机)或Ctrl+Cmd+F(macOS宿主机)。
- 【VirtualBox】再次按右侧CTCL+F(Windows宿主机)或左侧Cmd+F(macOS宿主机)。
第三节 使用网络适配器
- 设置IP地址、子网掩码、默认网关、DNS服务器地址的方法:
- 针对Windows系统:控制面板 → 网络和Internet(Network & Internet) → 以太网(Ethernet) → 更改适配器选项(Change adapter options) → 右键单击网络适配器 → 属性(Properties) → Internet协议版本4(Internet Protocol Version 4 (TCP/IPv4)) → 属性(Properties) → 设置上述参数。
- 针对macOS系统:系统偏好设置 → 网络 → 单击右侧的网络连接 → 详细信息 → TCP/IP → 配置 IPv4 → 设置上述参数。
- 对于初学者来说,网络设置往往是最大难点,建议从白机开始尝试。虽然黑机的难度最低,但调试时需要以灰机为基础,而灰机的难度大于白机。
Hyper-V
- 单击操作 → 虚拟交换机管理器 → 新建虚拟网络交换机。
- 内部 → 创建虚拟交换机 → 输入名称 → 确定。宿主机出现同名的vEthernet网络适配器,设置IP地址为192.168.A.a(A、a是0~255之间的任意数,其中A一般不宜与物理网卡相同),子网掩码为255.255.255.0,DNS服务器地址留空。
- 专用 → 创建虚拟交换机 → 输入名称 → 确定。
- Hyper-V还有一个自带的、特殊的、不可删除的内部交换机Default Switch,网关地址每次重启后都会改变,能为虚拟机转发流量。
- 等制作虚拟机后,对白机的设置方案一(相对简易):使用Default Switch,IP地址、子网掩码、默认网关“自动获得”(即DHCP),DNS服务器地址需要填写。第一次打开虚拟机会要求“选择某某网络的位置”为家庭/工作/公用网络,可勾选“将以后所连接的所有网络视为公用网络且不再询问”并选择“公用网络”,否则每次打开虚拟机都会要求重新选择。
- 等制作虚拟机后,对白机的设置方案二(相对麻烦):使用内部交换机,设置IP地址为192.168.A.b(b不能等于a),子网掩码为255.255.255.0,默认网关为192.168.A.a,DNS服务器地址需要填写。每次打开宿主机后,控制面板 → 网络和Internet → 以太网 → 更改适配器选项 → 右键单击与内部虚拟交换机同名的网络适配器 → 属性 → 共享 → 反选“允许其他网络用户通过此计算机的Internet连接来连接” → 确定 → 再勾选“允许其他网络用户通过此计算机的Internet连接来连接”,选择内部交换机。
- 等制作虚拟机后,对黑机的设置:使用专用交换机,设置IP地址为192.168.B.c(B不能等于A),子网掩码为255.255.255.0,默认网关、DNS服务器地址留空。
- 等制作虚拟机后,对灰机的设置:一个网络适配器是Default Switch或内部交换机,方法同白机。另一个网络适配器是专用交换机,方法同黑机,但IP地址为192.168.B.d(d不能等于c)。如果难以分辨,可以先添加一个,更改名称后,再添加另一个。
VMware
- 单击编辑 → 虚拟网络编辑器。通常已经有一个网络地址转换模式虚拟网络(默认192.168.A.0)和一个仅主机模式虚拟网络(默认192.168.B.0)。
- 网络地址转换模式的设置步骤类似Hyper-V的Default Switch;仅主机模式的设置步骤类似Hyper-V的专用交换机。
- 网络地址转换模式可更改NAT设置,在宿主机端口与虚拟机端口之间转发。
VirtualBox
- 管理 → 工具 → 网络管理器。
- 网络地址转换模式的设置步骤类似Hyper-V的Default Switch;仅主机模式的设置步骤类似Hyper-V的专用交换机。
- 网络地址转换模式可更改NAT设置,在宿主机(设置中称为“主机”,IP地址可留空)端口与虚拟机(设置中称为“子系统”,IP地址可留空)端口之间转发。
第四节 使用检查点/快照/备份
- 检查点/快照/备份数量多将影响虚拟机性能,建议每个虚拟机最多保留3个,在稳定运行一段时间后适当删除不需要的。
- 建立方式:
- 如果此前已经有检查点/快照/备份,应当先回退。
- 开启虚拟机并完成各类调整。这些调整应当尽量精简,禁止多余动作或误操作,禁止打开编辑文档和浏览网页,避免不必要的痕迹和风险长期残留于后续的各个检查点/快照/备份。建立过程中遇到障碍可回退后重新建立。
- 关闭虚拟机。
- 从设置中去掉所有虚拟硬盘(虚拟机本身的系统盘、VMware的独立虚拟硬盘除外),否则该虚拟硬盘当前的状态有可能会一并纳入检查点。
- 【Hyper-V】右键单击虚拟机XXX → 检查点,重命名检查点。
- 【VMware】右键单击虚拟机XXX → 快照 → 拍摄快照,输入名称。
- 【VirtualBox】控制 → 工具 → 备份[系统快照] → 生成,输入名称。
- 回退方式:
- 检查虚拟机的系统盘(例如桌面、我的文档等)是否已经把所有需要保留的文件转移到合适的地方,例如宿主机的文件夹、Hyper-V的持久性虚拟硬盘、VMware的独立虚拟硬盘。
- 【Hyper-V】左键单击虚拟机XXX → 右键单击检查点 → 应用。
- 【VMware】右键单击虚拟机XXX → 快照 → 恢复到快照。
- 【VirtualBox】控制 → 工具 → 备份[系统快照] → 恢复备份。
第五节 宿主机和虚拟机之间的数据交换
- 以下方法通常会允许双向交换,对于灰机和黑机应当只是临时措施。
Hyper-V
- 启用渠道一:进入虚拟机 → 单击虚拟机上方菜单的查看 → 增强会话 → 在“本地资源”标签页 → 更多 → 勾选辅助文件所在的宿主机磁盘。(仅支持安装Windows 10及以上的虚拟机)
- 关闭渠道一:关闭虚拟机窗口(VMConnect) → 重新双击虚拟机 → 增强会话自动恢复到默认设置,此时应当已经反选辅助文件所在的宿主机磁盘。
- 启用渠道二:
- 在宿主机创建vhd/vhdx格式的持久性虚拟硬盘。以Windows 10/11为例,右键单击“此电脑” → 磁盘管理 → 单击空白区域 → 操作 → 创建vhd。位置任意。估算上述文件大小之和,填入虚拟硬盘大小。虚拟硬盘格式vhd/vhdx通常都可以,但SCSI控制器的虚拟机不支持vhd,Windows XP/7的宿主机不支持vhdx。虚拟硬盘类型可选择动态扩展。右键单击新出现的磁盘左侧(即磁盘) → 初始化 → 确定。右键单击新出现的磁盘右侧(即驱动器) → 新建简单卷 → 下一步直到完成 → 快速格式化。(这步务必注意不要把正常的物理磁盘格式化。)
- 把上述辅助文件都复制到虚拟硬盘里。
- 右键单击新出现的磁盘左侧 → 分离。
- 右键单击虚拟机XXX → 设置 → IDE/SCSI控制器 → 添加硬盘驱动器 → 选择之前创建的虚拟硬盘。
- 启动虚拟机,打开虚拟硬盘所对应的盘符。
- 每个虚拟硬盘在同一时刻只能用于一个虚拟机或一个宿主机,不能同时既被宿主机使用又被虚拟机使用,不能同时被多个虚拟机使用。可以建立一个虚拟硬盘,由多个虚拟机在不同时刻公用;也可以建立多个虚拟硬盘,由每个虚拟机单独使用一个虚拟硬盘。
- 关闭渠道二:右键单击虚拟机XXX → 设置 → IDE/SCSI控制器 → 虚拟硬盘所在的硬盘驱动器 → 删除 → 确定。
VMware
- 启用渠道一:双击虚拟机 → 编辑虚拟机设置 → 选项 → 客户机隔离 → 勾选“启用拖放”和“启用复制粘贴”。直接拖放或复制粘贴到虚拟机。
- 关闭渠道一:双击虚拟机 → 编辑虚拟机设置 → 选项 → 客户机隔离 → 反选“启用拖放”和“启用复制粘贴”。
- 启用渠道二:虚拟机设置 → 选项 → 共享文件夹 → 总是启用 → 添加。
- 关闭渠道二:虚拟机设置 → 选项 → 共享文件夹 → 已禁用。
VirtualBox
- 启用渠道一:单击虚拟机 → 明细 → 设置 → 常规 → 高级 → 勾选“共享粘贴板”和“拖放”。可选择双向、单向和禁用。直接复制粘贴或拖放到虚拟机。
- 关闭渠道一:单击虚拟机 → 明细 → 设置 → 常规 → 高级 → 反选“共享粘贴板”和“拖放”。
- 启用渠道二:单击虚拟机 → 明细 → 设置 → 共享文件夹 → 添加。
- 关闭渠道二:单击虚拟机 → 明细 → 设置 → 共享文件夹 → 移除。
第六节 允许嵌套虚拟化
- 如果虚拟机准备用于嵌套虚拟化,即在该虚拟机内运行另一个虚拟机,应当在虚拟机关闭的情况下做以下操作。
- 是否支持嵌套虚拟化取决于软硬件环境,需要具体分析。
Hyper-V
- 在宿主机中以管理员身份打开PowerShell控制台,运行修改命令:Set-VMProcessor -VMName 虚拟机名称 -ExposeVirtualizationExtensions $true
- 运行参数查看命令:Get-VMProcessor -VMName 虚拟机名称 | fl *
VMware
- 虚拟机设置 → 硬件 → 处理器 → 虚拟化引擎 → 勾选“虚拟化Intel VT-x/EPT或AMD-V/RVI(V)”。
VirtualBox
- 单击虚拟机 → 明细 → 设置 → 系统 → 处理器 → 启用嵌套VT-x/AMD-V。
第三章 制作虚拟机
第一节 新建虚拟机
设计虚拟机的硬件配置
- 虚拟机处理器的数量不应超过宿主机物理CPU的核数,适当大些可显著提高性能。
- 虚拟机内存至少是2 GB(Windows 7/10)或4 GB(Windows 11),适当大些可显著提高性能。如果需要同时运行多个虚拟机,那么所有虚拟机所用内存的总和加上宿主机所用内存应小于宿主机的物理内存,并留有适当余量。在设置时,可勾选“动态内存”。
- 虚拟机本身的系统盘对应于一个动态扩展大小的虚拟硬盘,其大小至少是20 GB(Windows 7/10)或64 GB(Windows 11),在驱动器启用压缩功能的情况下这个最小值对于系统盘勉强够用。虽然今后不够用的时候可以再扩展卷,但是对于初学者来说操作复杂,有些情形还可能需要使用第三方软件,并有丢失文件的风险,因此一开始创建时不妨就留出10到20 GB的冗余,当然也没有必要过大。
- 磁盘/DVD驱动器的接口分为IDE和SCSI两类。每个IDE控制器最多连接2个磁盘/DVD驱动器,使用IDE控制器的每个虚拟机最多连接4个磁盘/DVD驱动器。SCSI控制器可连接许多个磁盘/DVD驱动器,在Hyper-V下只支持vhdx格式的虚拟硬盘。
- 从节省系统资源的角度,灰机可以安装翻墙软件所支持的最低版本的操作系统,并分配小一些的内存和磁盘空间,除了翻墙软件以外不安装、不运行任何多余软件。
Hyper-V
- 单击操作 → 新建 → 虚拟机 → 下一步。
- 输入虚拟机的名称,易于辨识即可,如XXX。勾选“将虚拟机存储在其他位置”,选择位置,如D:\PATH\。
- 选择虚拟机的代数,事后无法更改。
- 第1代兼容性好,拿不准的情况下都可以选择,使用IDE控制器,无法安装Windows 11。
- 第2代启用UEFI安全启动,使用SCSI控制器,无法使用虚拟软盘、COM端口,无法直接使用宿主机的物理光盘,可以在开机状态下添加/删除虚拟网络适配器,无法安装32/64位的Windows 7、32位的Windows 10,无法安装Debian 7.x、FreeBSD 11.0、Ubuntu 12.04及以下版本的Linux系统。
- 指定内存。
- 选择网络适配器,拿不准的情况下可以暂时选择“未连接”,事后再添加。
- 勾选“创建虚拟磁盘”,名称是XXX.vhdx之类,位置是D:\PATH\Virtual Hard Disks\,其他都可以使用默认设置。
- 勾选“从可启动的CD/DVD-ROM安装操作系统”或“从可启动的映像文件安装操作系统”,勾选“映像文件(.iso)”,选择系统安装光盘的iso文件。
- 单击“下一步”,单击“完成”。
- 右键单击虚拟机XXX → 设置。
- 处理器 → 虚拟处理器的数量。
- 网络适配器 → 虚拟交换机 → 选择合适的。高级功能 → MAC地址 → 动态,勾选“启用MAC地址欺骗”。
- 集成服务 → 勾选或反选“时间同步”,勾选“来宾服务”。用于上网的,必须勾选;处理文件需要模拟非当前时刻的,可以反选,进入系统后再手动修改时刻。
- 检查点 → 勾选“启用检查点”和“生产检查点”,反选“使用自动检查点”。
- 自动启动操作 → 勾选“无”。
- 自动停止操作 → 勾选“关闭来宾操作系统”。
- 调整其他在新建阶段配置不当的地方。
- 确定。
VMware
- 主页 → 创建新的虚拟机 → 典型 → 勾选“安装程序光盘”(嵌套虚拟化时可预先挂载系统安装光盘)或“安装程序光盘映像文件”(本地iso文件)。
- 某些系统支持简易安装(Easy Install)功能,即预先输入序列号、用户名、密码等信息后,系统安装时全程无需人工介入。但是安装后仍应当检查语言、时间、地区等设置是否符合要求。
- 输入虚拟机名称,选择虚拟机安装路径。
- 输入虚拟机大小上限,根据需要勾选“将虚拟硬盘存储为单个文件”或“将虚拟硬盘拆分为多个文件”。
- 单击“自定义硬件”,调整网络适配器等硬件的设置,注意事项同Hyper-V。
- 双击虚拟机 → 编辑虚拟机设置 → 选项 → 按需要调整。
VirtualBox
- 控制 → 新建 → 输入虚拟机名称,选择虚拟光盘,即操作系统安装光盘的映像文件(本地iso文件)所在位置,选择虚拟机安装路径。
- 调整内存大小和处理器数量。
- 虚拟硬盘 → 现在创建虚拟硬盘。这样将自动创建vdi格式的虚拟硬盘,从兼容性考虑,也可以在Windows系统的宿主机自行创建vhd/vhdx格式的虚拟硬盘后,选择使用已有的虚拟硬盘文件。
- 单击虚拟机 → 明细 → 设置 → 系统 → 处理器 → 运行峰值应当小于100%。
- 单击虚拟机 → 明细 → 设置 → 按需要调整。
- 注意,VirtualBox的“关闭电源”相当于Hyper-V的“强行关闭”,即对虚拟机非正常断电。
第二节 安装虚拟机的操作系统
- 【Hyper-V】右键单击虚拟机XXX → 启动 → 双击虚拟机XXX。
- 【VMware】双击虚拟机XXX → 开启此虚拟机。
- 【VirtualBox】单击虚拟机XXX → 启动 → 正常启动。
- 全过程基本都使用默认设置或自行选择即可。以Windows 10为例:语言、时间、地区、键盘等方面的设置应当合理地选择其他国家、语言、时区,如美国、美式英语、美东时间;产品序列号可以不填写;在Which type of installation do you want选择Custom;在Where do you want to install Windows选择空白磁盘,单击New。
- 等待自动重启。
- 完成初步配置。注意:涉及Microsoft account的功能通常不要勾选;隐私类设置从严控制。
- 等待自动重启。
- 【Hyper-V】跳出“连接到XXX”的对话框,单击“显示选项”。如果没有出现,可单击虚拟机上方菜单的查看 → 增强会话。在“显示”标签页,选择合适的分辨率,勾选“保存我的设置以便在将来连接到此虚拟机”;在“本地资源”标签页,反选“打印机”和“剪贴板”,可按需要在“更多”勾选宿主机的磁盘。这些设置将成为今后打开该虚拟机的默认设置。今后希望调整这些设置时,或希望每次打开该虚拟机都跳出该对话框时,右键单击虚拟机XXX → 编辑会话设置,反选“保存我的设置以便在将来连接到此虚拟机”。
- 控制面板 → 搜索框输入UAC,进入Change User Account Control settings,向下拖拽到Never notify。
- 禁用虚拟内存。
- 右键单击This PC → Properties → Advanced system settings → Advanced → Performance → Settings → Advanced → Virtual memory → Change → 反选Automatically manage paging file size for all drives,对每个驱动器都选择“No paging file”并逐个单击“Set” → OK。如提示是否重启,可选择稍后手动重启。
- 用快捷键Win + R运行regedit,进入注册表编辑器,双击HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement的ClearPageFileAtShutdown,修改数值为1。
- 关闭远程协助和远程桌面。右键单击This PC → Properties → Advanced system settings → Remote → 反选Allow Remote Assistance connections to this computer,选择Don's allow remote connections to this computer。
- 控制面板 → Apps → Apps & features。尽量卸载不必要的系统功能,如Mail and Calendar、Microsoft OneDrive、Microsoft Solitaire Collection、Mixed Reality Portal、Office、Skype、Weather、Xbox。
- 控制面板 → Privacy,应关尽关。
- 打开Edge,调整隐私设置。
- 安装中文输入法。在非联网状态下,控制面板 → Time & Language → Language → Add a language → 选择Chinese (Simplified, China),无需下载语言包即可增加输入法。单击该输入法 → Option → Microsoft Pinyin → Option → Appearance → Use IME toolbar;Option → Lexicon and self-learning → 反选这里的所有选项;根据自身需求调整其余设置。
- 虚拟机上方菜单 → 媒体 → DVD驱动器 → 弹出操作系统安装光盘。
- 设置IP地址、子网掩码、默认网关、DNS服务器地址等。
- 【白机/灰机】测试网络状态。用快捷键Win + R运行cmd,输入命令:ping 8.8.8.8(可更改为其他DNS服务器地址)
- 视情更改计算机名。右键单击This PC → Properties → About → Rename this PC。
- 关闭虚拟机。
- 检查是否已经关闭宿主机和虚拟机之间的每一个文件交换渠道。
- 视情允许嵌套虚拟化。
- 建立检查点/快照/备份“干净系统”。
第三节 安装虚拟机的必备软件
- 把安装阶段的辅助文件从宿主机交换到虚拟机。
- 可以在这个阶段激活Windows。以W10 Digital Activation为例,可选择KMS38激活方式,激活后可调整桌面外观设置。有时,激活工具会被系统自带的防病毒软件自动隔离,并在右下角显示通知。此时可进入控制面板 → Update & Security → Windows Security → Virus & threat protection → Current threats → Protection history → 展开那个Threat quarantined → Action下拉菜单选择Restore。也可在安装前,进入控制面板 → Update & Security → Windows Security → Virus & threat protection → Virus & threat protection settings → Manage settings → 反选Real-time protection。安装后既可以手工勾选,也可以等重启后由系统自动勾选。
- 安装必备软件。
- 安装Microsoft Office:先安装Office本身,再安装SP1/2/3更新包,最后运行KMSpico Portable\KMSELDI.exe激活。安装Office无需使用虚拟硬盘,可以使用Office安装光盘的映像文件(.iso),虚拟机上方菜单 → 媒体 → DVD驱动器 → 插入。激活Office会遇到与激活Windows类似的问题,处理方式也类似。视情修改Office的默认用户名。
- 安装WinRAR:把rarreg.key粘贴到安装目录,默认为C:\Program Files\WinRAR\。
- 【灰机】安装翻墙软件:在灰机测试能否翻墙。开启允许局域网(LAN)内的其他设备使用等功能,防火墙弹窗提示时放行,在黑机测试能否通过连接灰机翻墙。例如,赛风(Psiphon) → 设置 → 本地代理端口 → 允许您网络下的其他设备使用本地代理;i2p → 隐藏服务管理器 → I2P客户端隧道 → I2P HTTP Proxy或I2P HTTPS Proxy → 接入点 → 访问地址改为0.0.0.0。翻墙软件自身没有相关设置时,可运行脚本或借助Privoxy。
- 安装Firefox:Settings → General → Network Settings,白机和黑机填入灰机的IP地址以及翻墙软件监听的端口、使用的协议。灰机填入127.0.0.1这个IP地址以及翻墙软件监听的端口、使用的协议。
- 安装Chrome:对于黑机不建议使用,偶尔需要使用时开启系统代理,用后及时关闭系统代理。
- 【黑机】安装Tor Browser:先在C:\Program Files建立名为Tor Browser的文件夹,右键单击该文件夹 → Properties → Security → Edit → Add → 输入Everyone → OK → 选中Everyone → 勾选Full control → OK。安装路径默认为桌面,应手工调整到C:\Program Files\Tor Browser\。如果桌面没有快捷方式,进入C:\Program Files\Tor Browser\,把Tor Browser.lnk复制到桌面。安装后,Tools → Settings → Connection → Advanced → Settings → 勾选I use a proxy to connect to the internet,填入灰机的IP地址以及翻墙软件监听的端口、使用的协议;Tools → Settings → General → Tor Browser Updates → Allow Tor Browser to勾选Check for updates but let you choose to install them,避免因反复更新消耗翻墙软件的流量。黑机的所有网络浏览原则上都应该使用Tor Browser。Tor Browser在运行时本身还开启SOCKS5协议的端口9150,借助Privoxy可进一步充当前置代理,实现多层翻墙。
- 【黑机】安装VeraCrypt:基本无需调整默认设置。
- 【灰机】安装Privoxy:根据翻墙软件的不同,在安装目录下的config.txt开头添加以下行并重启Privoxy,防火墙弹窗提示时放行,并且在黑机填写翻墙软件监听的端口为8118、使用的协议为HTTP/HTTPS。
- 允许黑机访问灰机的Privoxy:listen-address 0.0.0.0:8118
- 允许黑机上只能使用HTTP/HTTPS协议的软件访问灰机上只能提供SOCKS5协议服务的翻墙软件(注意最后有一个半角句点):forward-socks5 / 127.0.0.1:翻墙软件监听的端口 .
- 关闭虚拟机。
- 关闭宿主机和虚拟机之间的文件交换渠道。
- 建立检查点/快照/备份“干净系统和更新和必备软件”。
第四节 安装虚拟机的非必备软件
- 把安装阶段的辅助文件从宿主机交换到虚拟机。
- 尝试安装常用但非必备的软件,少安装非常用软件。既测试安装过程,也测试使用过程,寻找可能的问题。经过反复测试,确定需安装软件的正式清单和设置方式。
- 回退到检查点/快照/备份“干净系统和更新和必备软件”。
- 按照上述清单和设置,安装非必备软件。
- 关闭宿主机和虚拟机之间的文件交换渠道。
- 建立检查点/快照/备份“干净系统和更新和所有软件”。
第五节 更新虚拟机的操作系统
- 每月第二个星期二是发布Windows补丁的日期,建议每月定期执行以下步骤。有些补丁会导致系统故障,为确保宿主机运行稳定,可以先在与宿主机相同系统的虚拟机上安装补丁,试用一段时间并关注互联网上相关新闻,有问题可回退到检查点/快照/备份,没有问题再在宿主机上安装补丁。
- 回退到某个检查点/快照/备份。
- 启动虚拟机。
- 【黑机】控制面板 → Network & Internet → Proxy → Manual proxy setup → 勾选Use a proxy server,输入灰机的IP地址及翻墙软件监听的端口号。
- 控制面板 → Update & Security → Windows Update → Check for updates。等待所有更新安装完毕。
- 【黑机】控制面板 → Network & Internet → Proxy → Manual proxy setup → 反选Use a proxy server。(今后每次创建检查点/快照/备份前,务必记得执行该步骤。)
- 重启虚拟机。
- 关闭虚拟机。
- 建立检查点/快照/备份“干净系统和更新”。
- 以上步骤自动更新失败的情况下,可以到Windows 10( Windows 10 - release information | Microsoft Learn )或Windows 11( Windows 11 - release information | Microsoft Learn )发行历史记录的页面,查找于上半月发布的补丁,复制以KB开头的补丁编号。然后到Microsoft Update Catalog( Microsoft Update Catalog )搜索该编号,下载名称带有Cumulative Update、与虚拟机操作系统的版本(如23H2)一致、与宿主机处理器的指令集架构(x86/x64/ARM64)一致的补丁安装包,把安装包交换到虚拟机以后手动安装。
第六节 制作、使用个人文件的持久性虚拟硬盘
- 个人文件可以保存在宿主机,由虚拟机通过宿主机和虚拟机之间的数据交换来访问。
- 个人文件也可以保存在位于宿主机但由虚拟机直接访问的虚拟硬盘中,以下操作仅针对这种情形。这样做的好处例如,在Hyper-V中,VeraCrypt通过渠道一打开并修改加密文件后,该加密文件的修改时间会变成当前时间,而通过渠道二可以使修改时间保持不变。初学者可能由于对检查点/快照/备份不够了解,在回退时恢复到文件的历史版本甚至误丢失所有文件,应当权衡风险利弊。建议从少量文件开始试验一段时间,提前备份,熟悉操作后再大批量转移文件。
Hyper-V
- 把宿主机内准备只在虚拟机使用的文件整理出来,估算大小。
- 创建一个或多个虚拟硬盘,大小适当留有余地。
- 把上述文件全部转移到这个或这些虚拟硬盘。
- 右键单击虚拟机XXX → 设置。
- IDE/SCSI控制器 → 添加硬盘驱动器 → 选择之前创建的虚拟硬盘。
- 在该虚拟机中使用这些文件。
- 如果临时需要访问宿主机上的文件,可使用第二章第五节“宿主机和虚拟机之间的数据交换”中提供的其他渠道。
VMware
- 双击虚拟机 → 编辑虚拟机设置 → 选项 → 硬盘 → 添加 → 硬盘 → 创建新虚拟磁盘。
- 双击虚拟机 → 编辑虚拟机设置 → 选项 → 硬盘 → 该虚拟磁盘 → 高级 → 独立 → 选择“永久”(对虚拟磁盘实时写入,且在虚拟机关闭后仍保留所写入的内容)。
VirtualBox
- 管理 → 虚拟介质管理器 → 虚拟硬盘 → 类型 → 完全写入。
第四章 使用和维护虚拟机
第一节 使用虚拟机
- 启动虚拟机前,可以视情先回退到某个检查点/快照/备份。
- 白机禁止处理任何重要事务。回退到检查点/快照/备份的频率可以较低,例如每一两个月。
- 灰机原则上禁止浏览网页。回退到检查点/快照/备份的频率可以中等,例如每一两周。
- 黑机回退到检查点/快照/备份的频率应当较高,例如每天,甚至建议每次运行后都回退。
- 用大尺寸文件填满黑机所在的宿主机磁盘分区的大部分空间,留有若干GB空间供虚拟机正常运行。这些大尺寸文件长期不删除。
- 黑机回退到检查点/快照/备份后,每天都用数据擦除软件清理黑机所在的宿主机磁盘分区剩余空间。如果执行了上一步,那么剩余空间应当并不大,擦除时间并不长,对磁盘寿命影响并不严重。
- 通常有四种场景:单独使用白机;同时使用白机和灰机;单独使用黑机;同时使用灰机和黑机。宿主机性能一般的,建议不同时运行3个以上的虚拟机。
- 定期更新虚拟机的操作系统,见第三章第五节。
第二节 收缩虚拟硬盘
Hyper-V
- 如果动态大小的虚拟硬盘内由于删除了较大的文件或使用时间较久等原因,虚拟硬盘本身的大小显著大于其中包含的文件总大小,那么该虚拟硬盘可以通过收缩,把一定空间回收并释放到宿主机硬盘。
- 下载SDelete( SDelete - Sysinternals | Microsoft Learn )。
- 进入虚拟机,把SDelete交换到虚拟机,解压到某个文件夹。
- 进入该文件夹,单击地址栏,输入cmd,回车。此时启动cmd并把路径切换到该文件夹。
- 输入命令把剩余空间填充0(其中D:是该虚拟硬盘在该虚拟机内分配到的盘符):sdelete -z D:
- 关闭虚拟机。
- 如果该虚拟硬盘不是虚拟机的系统盘,那么可直接执行后续步骤。否则,需要先重建虚拟机,并且在尚未建立任何检查点的情况下执行后续步骤,因此不建议初学者收缩作为虚拟机系统盘的虚拟硬盘。
- 假设该虚拟硬盘在宿主机中的实际路径是D:\PATH\YYY.vhd(后缀名也可能是vhdx,路径有空格时两侧应增加单引号),那么在宿主机中以管理员身份打开PowerShell控制台,运行命令:Optimize-VHD -Path D:\PATH\YYY.vhd -Mode Full
- 等待进度条走完,观察收缩前后的虚拟硬盘文件大小。
VMware
- 虚拟机设置 → 硬件 → 硬盘 → 压缩。
VirtualBox
- 只有vdi格式的虚拟硬盘执行以下步骤。其他格式的虚拟硬盘参照Hyper-V和VMware的方法。
- 与Hyper-V类似,先用SDelete擦除剩余空间,并关闭虚拟机。
- 【Windows宿主机】进入VirtualBox的安装目录,例如C:\Program Files\Oracle\VirtualBox,单击地址栏,输入cmd,回车。此时启动cmd并把路径切换到该文件夹。运行命令:VBoxManage.exe modifymedium --compact D:\PATH\YYY.vdi
- 【macOS宿主机】运行命令:
cd /Applications/VirtualBox.app/Contents/MacOS
VBoxManage modifymedium --compact /PATH/YYY.vdi
第三节 重建虚拟机
- 重建通常是为了收缩虚拟硬盘,一般不需要重建。
- 以下步骤涉及三个不同的文件夹,请注意分辨。
Hyper-V
- 如果希望把某个检查点的状态变成一个单独的虚拟机,那么可以回退到该检查点。
- 把检查点重命名为“ZZZ”,之后将成为新虚拟机的名称。
- 右键单击该检查点 → 导出 → 选择某个文件夹,例如D:\PATH2\。此步骤耗时较长,具体取决于虚拟机大小。
- 如果该检查点是旧虚拟机的若干检查点中最新的一个,旧虚拟机的其他检查点都不再需要,可以删除旧虚拟机,等待旧虚拟机系统盘的虚拟硬盘文件自动合并完成。此步骤耗时较长,具体取决于虚拟机大小。
- 删除旧虚拟机的虚拟硬盘文件,例如D:\PATH\Virtual Hard Disks\XXX.vhdx。
- 收缩导出虚拟机的虚拟硬盘,例如D:\PATH2\ZZZ\Virtual Hard Disks\XXX.vhdx。
- 导入虚拟机 → 选择文件夹D:\PATH2\ZZZ\,导入方式任意。
- 勾选“将虚拟机存储在其他位置”,新虚拟机配置文件夹、检查点存储、智能分页文件夹的路径都是D:\PATH3\ZZZ\,只有虚拟硬盘文件的路径是D:\PATH3\ZZZ\Virtual Hard Disks\。
- 等待导入完成。此步骤耗时较长,具体取决于虚拟机大小。
- 立即建立检查点。
- 挂载所需的持久性虚拟硬盘,正常使用。