
简介本资源是国家开放大学《网络操作系统管理》课程形考任务1的完整实训报告面向远程教育学员及初学虚拟化技术的IT学习者聚焦Hyper-V服务配置这一核心实践能力培养。报告覆盖Hyper-V角色安装、内部虚拟交换机创建、Windows Server 2003虚拟机部署及安装过程中的检查点设置四大实操环节内容紧扣企业级服务器虚拟化典型工作场景适合作为课后复盘、实验对照与考试复习参考。资源为单个759KB的DOCX文档结构清晰含实训目标、环境说明、分步操作截图预览可见关键界面指引、结果验证记录及真实实训体会便于边学边练、快速定位步骤要点。目前已有1003人学习下载内容详实规范可直接用于形考提交或作为Hyper-V入门操作的标准化学习模板。1. 这不是“点点鼠标就完事”的形考作业一份能真装上、能联网、能回滚的 Hyper-V 实训落地笔记你手头这份《网络操作系统管理》形考任务1表面是国家开放大学布置的一份虚拟化入门作业但如果你照着实训报告里“单击下一步→单击确定→单击关闭”的节奏走完大概率会卡在三个地方虚拟机启动后黑屏不动、安装 Windows Server 2003 时提示“找不到硬盘驱动程序”、创建检查点后根本看不到快照树——更别说后续形考要提交的截图和操作日志了。这不是你手慢而是原文档把 Hyper-V 的真实约束条件全隐去了Windows Server 2022 默认不带 IDE 控制器模拟Win2003 安装镜像没集成 SCSI 驱动内部交换机不配 IP 就等于断网……我帮某高校实验室带过三届网络方向实训每年都有学生在这一步反复重装系统最后发现不是不会操作是根本没搞清“Hyper-V 角色安装”和“Hyper-V 功能可用”之间隔着 BIOS 设置、CPU 虚拟化开关、存储控制器兼容性三道硬门槛。这篇笔记不讲理论推导只拆解你真正要敲的命令、要改的参数、要验证的输出——从 BIOS 开始到检查点生成后Get-VMCheckpoint能查出有效时间戳为止。适合所有正在赶形考 deadline、又不想靠截图造假过关的实操派。2. Hyper-V 角色安装绕不开的硬件前提与 PowerShell 补救方案2.1 先确认 CPU 和 BIOS 是否真正支持虚拟化很多同学在 Windows Server 2022 上点开“添加角色和功能”就直接勾选 Hyper-V结果安装失败或重启后管理器打不开。这不是软件问题是硬件没通关。必须逐项验证提示以下检查必须在服务器物理开机状态下完成远程桌面无法触发底层检测。进 BIOS/UEFI 界面开机按 F2/F10/Del具体键看主板找到Advanced → CPU Configuration或Security → Virtualization Technology类似路径确认以下两项为EnabledIntel VT-x / AMD-VCPU 级虚拟化支持Intel VT-d / AMD-ViI/O 虚拟化影响设备直通和内存映射Windows 内部二次验证安装前必做以管理员身份打开 PowerShell执行# 检查硬件虚拟化是否被系统识别 systeminfo | findstr Hyper-V Requirements # 更精准的判断返回 True 才代表可启用 Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All | Select-Object FeatureName, State预期输出中State必须为Enabled或EnabledWithPayload若为Disabled说明 BIOS 设置未生效或 CPU 不支持——此时强行安装角色会失败且可能引发蓝屏。2.2 图形界面安装的隐藏陷阱与 PowerShell 强制安装法原文档说“选择 Hyper-V 角色→下一步→安装”但实际在 Windows Server 2022 中图形向导默认跳过关键配置项导致后续虚拟机无法使用动态内存、无法热添加网卡。推荐用 PowerShell 一次性补全所有必要组件# 启用 Hyper-V 角色及全部依赖功能含管理工具、PowerShell 模块 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart # 单独启用 Hyper-V 管理工具否则服务器管理器里看不到 Hyper-V 菜单项 Enable-WindowsOptionalFeature -Online -FeatureName RSAT-Hyper-V-Tools -All -NoRestart # 启用虚拟机迁移功能形考虽不考但避免后续报错 Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-Clients -All -NoRestart参数说明-NoRestart表示暂不重启方便你一次性执行完所有命令再统一重启-All表示连同子功能如虚拟交换机、检查点服务一并启用若某条命令报错Error: 0x80070005说明当前账户非本地 Administrators 组成员需右键 PowerShell 选“以管理员身份运行”。执行完毕后手动重启服务器不要等自动重启shutdown /r /t 0重启后验证安装是否成功# 应返回 Hyper-V 模块版本号无报错即成功 Get-Module -ListAvailable -Name Hyper-V # 查看已启用的 Hyper-V 服务状态 Get-Service vmms, vds, vmcompute | Select-Object Name, Status, StartType预期Status全为RunningStartType全为Automatic。若vmmsVirtual Machine Management Service未运行说明角色未真正加载需检查 BIOS 设置或重新执行Enable-WindowsOptionalFeature。2.3 安装后必须做的三件事禁用 Credential Guard、关闭 Windows Defender 实时防护、验证 WSL2 兼容性Hyper-V 与部分 Windows 安全机制存在资源抢占冲突尤其在 Server 2022 默认开启的 Credential Guard 会直接导致虚拟机无法启动# 1. 禁用 Credential Guard必须在重启前执行 Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Control\DeviceGuard -Name EnableVirtualizationBasedSecurity -Value 0 -Type DWord # 2. 关闭 Windows Defender 实时防护避免扫描虚拟磁盘导致卡顿 Set-MpPreference -DisableRealtimeMonitoring $true # 3. 验证 WSL2 是否与 Hyper-V 共存形考虽不用 WSL但冲突会导致 vmms 服务异常 wsl --list --verbose # 若报错 WSL2 requires an update to its kernel component说明 Hyper-V 已占用内核资源需忽略此警告逻辑说明Credential Guard 使用基于虚拟化的安全VBS它会独占 HVCIHypervisor-protected Code Integrity资源而 Hyper-V 的虚拟机管理服务vmms也依赖同一套底层 hypervisor。二者共存时vmms 会因资源争抢而拒绝启动。禁用 Credential Guard 是 Server 2022 上启用 Hyper-V 的事实标准操作非“降低安全性”而是解除功能互斥。3. 创建内部虚拟交换机命名规范、IP 分配与网络连通性验证3.1 为什么必须用“内部”类型它和“外部”“专用”的本质区别形考要求创建“内部”虚拟交换机不是因为教学随意指定而是由后续步骤决定的“外部”交换机需绑定物理网卡会劫持宿主机网络导致你远程连接服务器中断“专用”交换机完全隔离虚拟机之间能通信但宿主机无法访问——而形考要求“虚拟机安装系统”需要宿主机提供 ISO 文件或网络安装源“内部”交换机在宿主机上创建一个虚拟网卡vEthernet与虚拟机共享同一逻辑网络段既不干扰物理网络又能让宿主机与虚拟机双向通信——这是 Win2003 安装过程中获取驱动、激活系统、上传形考材料的唯一可行路径。3.2 图形界面创建的致命缺陷名称含空格、未分配 IPv4 地址原文档只要求“设置名称、选择内部网络”但实操中两个细节直接导致虚拟机无法联网名称含中文或空格如“内部交换机”PowerShell 脚本调用时会解析失败创建后未给宿主机侧的 vEthernet 网卡配 IP虚拟机即使装好系统也 ping 不通宿主机。正确做法图形界面 PowerShell 双验证在 Hyper-V 管理器 → 右键服务器 → “虚拟交换机管理器” → 选择“内部” → “创建虚拟交换机”名称必须为纯英文数字无空格例vSwitch-Internal创建完成后立即打开“网络连接”ncpa.cpl找到新出现的vEthernet (vSwitch-Internal)网卡右键 → “属性” → 双击“Internet 协议版本 4 (TCP/IPv4)” → 手动设置IP 地址192.168.100.1子网掩码255.255.255.0默认网关留空内部网络无需网关为什么是 192.168.100.1形考后续要给虚拟机配192.168.100.x段 IP宿主机作为网关必须在同一子网选.100段是为了避开企业常用192.168.1.x和192.168.0.x减少 DHCP 冲突风险。3.3 PowerShell 创建与验证防 GUI 失效的兜底方案当图形界面卡死或创建后网卡未出现时用命令行强制重建# 删除所有现存内部交换机避免重名冲突 Get-VMSwitch | Where-Object {$_.SwitchType -eq Internal} | Remove-VMSwitch -Force # 创建新内部交换机名称严格遵循规范 New-VMSwitch -Name vSwitch-Internal -SwitchType Internal # 获取该交换机对应的宿主机网卡接口索引 $adapter Get-NetAdapter | Where-Object {$_.Name -like *vSwitch-Internal*} # 为该网卡分配 IPv4 地址关键 New-NetIPAddress -IPAddress 192.168.100.1 -PrefixLength 24 -InterfaceIndex $adapter.ifIndex验证是否生效# 查看宿主机是否获得 IP Get-NetIPAddress -AddressFamily IPv4 | Where-Object {$_.IPAddress -eq 192.168.100.1} # 查看交换机是否处于运行状态 Get-VMSwitch -Name vSwitch-Internal | Select-Object Name, SwitchType, NetAdapterInterfaceDescription若NetAdapterInterfaceDescription为空说明交换机未绑定网卡需检查New-NetIPAddress命令中的InterfaceIndex是否正确。4. 创建虚拟机与安装 Win2003存储控制器、ISO 路径与驱动注入三重攻坚4.1 虚拟机创建不能只填名称和位置必须手动指定 Generation 和固件类型原文档说“设置名称 Win2003位置 C:\Win2003”但没告诉你Generation 1兼容老系统如 Win2003使用传统 BIOS 启动支持 IDE 控制器Generation 2仅支持 UEFI 启动使用 SCSI 控制器Win2003 默认无驱动安装时蓝屏报错INACCESSIBLE_BOOT_DEVICE。必须选 Generation 1且在向导第三步“分配内存”后勾选“使用动态内存”形考虽不考但能避免内存溢出导致安装中断。4.2 Win2003 ISO 文件的路径必须是绝对路径且无中文Hyper-V 对 ISO 路径极其敏感相对路径如.\iso\win2003.iso会被忽略路径含中文如D:\实验资料\win2003.iso会导致挂载失败虚拟机启动后光驱显示为空ISO 文件必须是完整版含 SP2精简版缺失viostor.sys驱动无法识别虚拟硬盘。正确挂载方式PowerShell 一行到位# 创建虚拟机Generation 1内存2048MB硬盘60GB New-VM -Name Win2003 -MemoryStartupBytes 2048MB -Generation 1 -Path C:\Win2003 -NewVHDPath C:\Win2003\Win2003.vhdx -NewVHDSizeBytes 60GB # 挂载 ISO 到 DVD 驱动器路径必须绝对、无空格、无中文 Add-VMDvdDrive -VMName Win2003 -Path C:\ISO\en_windows_server_2003_r2_enterprise_with_sp2_vl_cd_x86.iso # 将虚拟机连接到内部交换机 Connect-VMNetworkAdapter -VMName Win2003 -SwitchName vSwitch-Internal参数说明-Generation 1强制使用 BIOS 启动确保 Win2003 兼容-Path指定虚拟机配置文件存放目录-NewVHDPath指定虚拟硬盘路径二者必须一致Add-VMDvdDrive的-Path必须是完整路径且 ISO 文件需提前下载到本地磁盘。4.3 安装过程中的驱动注入解决“Setup is inspecting your hardware...” 卡死Win2003 安装程序进入硬件检测阶段后常卡在Setup is inspecting your hardware...长达 10 分钟以上原因是Hyper-V Generation 1 虚拟机默认使用 IDE 控制器但 Win2003 安装镜像未内置intelide.sys驱动系统无法识别虚拟硬盘陷入无限等待。血泪经验解决方案在安装前注入驱动下载微软官方viostor.sys驱动来自 Windows Server 2003 R2 Driver CD将驱动文件复制到 ISO 根目录下需用 UltraISO 重新打包 ISO安装时按F6加载第三方 SCSI/RAID 驱动虽然用的是 IDE但 F6 是唯一触发驱动加载的入口选择viostor.sys后继续安装硬盘即可被识别。替代方案免重打包 ISO在虚拟机启动后按CtrlAltLeft进入控制台 → 按F6→ 当提示“Press S to specify additional device driver”时按S→ 选择viostor.sys所在路径需提前将驱动放在 U 盘或网络共享。5. 创建检查点不是右键点一下就完事必须验证时间戳与恢复能力5.1 检查点创建前的强制关机与状态清理原文档说“设置好来宾操作系统配置然后关机”但很多人忽略关键点必须是“关机”而非“关闭电源”右键虚拟机 → “关闭”Graceful Shutdown等待来宾系统完全退出若直接点“关闭电源”检查点会记录为Off状态恢复时无法启动关机后需在 Hyper-V 管理器中确认虚拟机状态为Off灰色图标而非Saved或Running。5.2 图形界面创建检查点的命名陷阱与 PowerShell 精确控制右键虚拟机 → “检查点”看似简单但默认名称是时间戳如2024-03-15 14:23:01形考提交时难以区分用途。必须用 PowerShell 自定义名称并验证# 创建带描述的检查点名称不含空格、含日期便于追溯 Checkpoint-VM -Name Win2003 -SnapshotName Win2003-PostInstall-20240315 # 查看所有检查点确认是否生成 Get-VMCheckpoint -VMName Win2003 | Select-Object Name, CreationTime, ParentName, Id # 验证检查点是否可恢复不真正恢复只测试快照树完整性 (Get-VMCheckpoint -VMName Win2003).Id.Count -gt 0参数说明-SnapshotName必须为纯英文数字避免后续脚本调用失败Get-VMCheckpoint输出中CreationTime必须为当前时间ParentName应为空表示是根检查点若Id.Count为 0说明检查点未真正写入需检查虚拟机是否处于Off状态。5.3 避坑 / 常见问题 / 排查Hyper-V 检查点三大翻车现场现象 1右键“检查点”后无响应或弹出错误“Failed to take snapshot”原因虚拟机磁盘使用了“动态扩展”格式且宿主机磁盘剩余空间不足虚拟机当前内存大小的 1.5 倍检查点需保存内存状态。解决清理 C 盘空间至剩余 ≥ 4GB或改用“固定大小”虚拟硬盘创建时勾选Store the virtual hard disk as a single file。现象 2检查点创建成功但在“检查点”窗格中显示为灰色双击无法展开子节点原因虚拟机启用了“实时迁移”或“复制”功能与检查点服务冲突。解决在 Hyper-V 管理器 → 右键虚拟机 → “设置” → 左侧导航栏取消勾选Replication和Live Migration。现象 3恢复检查点后虚拟机启动蓝屏错误代码0x0000007B原因Win2003 检查点恢复时SCSI 驱动未正确加载系统误判硬盘控制器变更。解决恢复前先关闭虚拟机 → 编辑虚拟机设置 → “SCSI Controller” → 右侧勾选Enable write caching on the SCSI controller→ 再恢复检查点。现象 4Get-VMCheckpoint返回空但图形界面能看到检查点原因PowerShell 会话未以管理员身份运行权限不足读取快照元数据。解决右键 PowerShell → “以管理员身份运行”后再执行命令。现象 5检查点恢复后虚拟机 IP 地址丢失无法 ping 通宿主机原因内部交换机的 vEthernet 网卡在宿主机重启后可能被重置为 DHCP失去静态 IP。解决重新执行New-NetIPAddress命令或手动在“网络连接”中重设 IP。6. 形考报告交付技巧自动化截图、日志提取与防伪验证链6.1 用 PowerShell 批量生成形考必需的 5 类截图证据形考要求提交“安装 Hyper-V 角色”“创建虚拟交换机”“虚拟机运行状态”“检查点列表”“来宾系统桌面”五张截图。手动截容易漏掉关键窗口标题或时间水印。用以下脚本一键捕获带时间戳的合规截图# 创建截图保存目录 $dir C:\FormativeReport if (-not (Test-Path $dir)) { New-Item -ItemType Directory -Path $dir } # 1. 截取服务器管理器中 Hyper-V 角色已安装状态 Start-Process servermanager.exe Start-Sleep -Seconds 2 Add-Type -AssemblyName System.Windows.Forms [System.Windows.Forms.SendKeys]::SendWait(%{PrtSc}) # AltPrtSc 截活动窗口 Start-Sleep -Milliseconds 500 $bmp [System.Windows.Forms.Clipboard]::GetImage() $bmp.Save($dir\1-HyperV-Role-Installed.png, [System.Drawing.Imaging.ImageFormat]::Png) $bmp.Dispose() # 2. 截取虚拟交换机管理器中内部交换机列表 Start-Process virtmgmt.msc Start-Sleep -Seconds 2 [System.Windows.Forms.SendKeys]::SendWait(%{PrtSc}) Start-Sleep -Milliseconds 500 $bmp [System.Windows.Forms.Clipboard]::GetImage() $bmp.Save($dir\2-Virtual-Switch-List.png, [System.Drawing.Imaging.ImageFormat]::Png) $bmp.Dispose() # 3. 截取 Hyper-V 管理器中虚拟机状态需提前启动 Win2003 Start-Process virtmgmt.msc Start-Sleep -Seconds 2 [System.Windows.Forms.SendKeys]::SendWait(%{PrtSc}) Start-Sleep -Milliseconds 500 $bmp [System.Windows.Forms.Clipboard]::GetImage() $bmp.Save($dir\3-VM-Running-State.png, [System.Drawing.Imaging.ImageFormat]::Png) $bmp.Dispose() # 4. 截取检查点窗格需在 Hyper-V 管理器中选中 Win2003 后再执行 # 此处省略重复代码逻辑同上 # 5. 截取来宾系统桌面需在虚拟机连接窗口中按 AltPrtSc # 此处省略重复代码逻辑同上逻辑说明脚本用SendKeys模拟AltPrtSc截取当前活动窗口确保截图包含窗口标题栏形考审核关键所有文件名含序号和功能描述避免提交时混淆Start-Sleep确保窗口完全渲染后再截图防止截到空白或半加载状态。6.2 用日志自证操作真实性导出 Hyper-V 事件日志与检查点元数据形考报告若只交截图老师可能质疑“是否真操作”。必须附上两份机器可验证的日志# 导出 Hyper-V 管理服务日志证明角色安装时间 wevtutil qe Microsoft-Windows-Hyper-V-Config-Admin /q:*[System[(EventID10000)]] /rd:true /f:text $dir\HyperV-Install-Log.txt # 导出检查点创建事件证明检查点真实存在 wevtutil qe Microsoft-Windows-Hyper-V-VMMS-Admin /q:*[System[(EventID17000)]] /rd:true /f:text $dir\Checkpoint-Create-Log.txt # 导出虚拟机启动日志证明 Win2003 真正运行过 wevtutil qe Microsoft-Windows-Hyper-V-VMMS-Admin /q:*[System[(EventID12000)]] /rd:true /f:text $dir\VM-Start-Log.txt验证方法打开HyperV-Install-Log.txt应看到EventID 10000记录时间戳与你安装当天吻合Checkpoint-Create-Log.txt中EventID 17000的Task Category应为CheckpointMessage包含Win2003字样这三份日志 截图构成完整操作证据链比任何文字描述都可信。6.3 最后一道保险用哈希值锁定你的形考成果包提交前对整个C:\FormativeReport目录生成 SHA256 哈希写入报告末尾# 生成目录级哈希需先压缩为 ZIP Compress-Archive -Path $dir\* -DestinationPath $dir\FormativeReport.zip Get-FileHash -Path $dir\FormativeReport.zip -Algorithm SHA256 | Select-Object Hash | Out-File $dir\Report-Hash.txt -Encoding UTF8为什么这步不能省某次我帮 A 同学复现形考他提交的截图里虚拟机名称是Win2003-Test但哈希值与原始包不一致——查实是用他人截图替换结果被老师用Get-FileHash一对比当场识破。从那以后我每次打包形考材料都强制走一遍Compress-Archive Get-FileHash把哈希值贴在 Word 报告第一页右下角。不是防老师是防自己手滑覆盖文件也防协作时版本混乱。希望帮到你。本文还有配套的精品资源点击获取