华为eNSP实战指南:从零搭建网络实验环境与高频错误排查
在实际网络技术学习和认证备考中无论是准备华为HCIA、HCIP还是HCIE认证动手实验都是将理论知识转化为实践能力的关键环节。华为eNSPEnterprise Network Simulation Platform作为一款功能强大的网络设备模拟器允许用户在个人电脑上搭建复杂的虚拟网络拓扑进行路由、交换、安全等技术的配置与验证是学习华为数通技术不可或缺的工具。然而从软件安装、环境配置到实验排错每一步都可能遇到各种“拦路虎”例如设备启动失败、功能无法使用、与操作系统兼容等问题常常让初学者感到挫败。本文旨在为网络技术学习者特别是华为认证的备考者提供一份从零开始、详尽且可复现的eNSP实战指南。我们将不仅涵盖软件的安装与基础配置更会深入解析如何利用eNSP搭建实验环境、完成典型配置案例并系统性地梳理和解决那些高频出现的错误代码如40、41、2。通过本文你将能够独立完成一个包含多设备、多协议的综合实验并掌握一套遇到问题时的自主排查方法从而真正将eNSP变为你学习和备考的得力助手。1. 理解eNSP不只是安装一个软件在开始点击“安装”按钮之前理解eNSP的定位和工作原理能帮助你在后续遇到问题时更快地定位根源。1.1 eNSP的核心价值与组件构成eNSP并非一个单一的软件而是一个集成环境。它通过虚拟化技术在本地计算机上模拟出华为路由器如AR系列、交换机如S系列、防火墙如USG系列等网络设备。其核心价值在于提供了一个零成本、零风险、可随时重置的实验平台让你可以大胆尝试各种网络协议和配置而无需担心影响真实网络。eNSP的正常运行依赖于几个关键后台服务VirtualBox这是eNSP的底层虚拟化引擎。eNSP中的每一台“设备”本质上都是一个运行在VirtualBox中的特定虚拟机镜像。因此VirtualBox的版本兼容性与运行状态直接决定了eNSP设备能否成功启动。WinPcap/Wireshark用于抓取和分析虚拟网络中的数据包。当你需要排查网络连通性问题或者学习协议报文交互过程时这个组件至关重要。eNSP主程序提供图形化界面用于设计拓扑、管理设备、进行配置。它们之间的关系可以简单理解为eNSP主程序是“指挥中心”它通过调用VirtualBox的接口来创建和启动“设备”虚拟机并利用WinPcap来“监听”这些设备之间的网络通信。1.2 版本选择与兼容性避开第一个大坑选择错误的eNSP版本是导致后续一系列问题的常见原因。你需要根据操作系统和实验需求来决策。经典eNSP (V100R002C00 / V100R003C00)这是流传最广的版本支持大部分基础数通实验。但其对Windows 10/11的新版本尤其是22H2及以后和Hyper-V存在兼容性问题常导致设备启动失败错误40。eNSP V1.2.00.510 / V1.3.00.100这些是相对较新的版本对Windows 10的兼容性有所改善但同样可能在新版Win11上遇到挑战。eNSP Pro这是华为推出的新一代模拟器采用了不同的技术架构性能更强支持更多设备类型如SDN。但它对系统环境要求更严格安装流程也更复杂通常需要依赖华为云账号或特定学习版资源。对于大多数HCIA/HCIP数通方向的学习者如果操作系统是Windows 10 21H2或以下版本可以尝试安装eNSP V100R003C00并搭配指定版本的VirtualBox如5.2.44。如果使用Windows 11或更新版本的Windows 10则需要做好更多的兼容性设置准备或寻求eNSP Pro学习版。注意网络上流传的安装包质量参差不齐建议从相对可靠的渠道获取整合包通常已包含兼容版本的VirtualBox和WinPcap这能极大降低环境配置的复杂度。2. 稳扎稳打eNSP及其依赖的安装与配置一个稳定的基础环境是成功实验的一半。本节将详细描述在Windows 11环境下搭建一个可运行经典eNSP的步骤。2.1 安装前关键准备关闭冲突服务Windows系统自带的Hyper-V虚拟化平台、Windows沙盒、虚拟机平台等功能会与VirtualBox冲突。必须在安装前彻底关闭它们。以管理员身份打开CMD或PowerShell。依次执行以下命令禁用相关功能bcdedit /set hypervisorlaunchtype off DISM /Online /Disable-Feature:Microsoft-Hyper-V进入“控制面板 - 程序 - 启用或关闭Windows功能”确保取消勾选“Hyper-V”、“Windows沙盒”、“虚拟机平台”。重启计算机。这是至关重要的一步不重启设置不会生效。2.2 按顺序安装依赖组件严格按照顺序安装可以避免许多潜在问题。假设我们使用一个整合包其中包含eNSP V100R003C00 Setup.exeVirtualBox-5.2.44-139111-Win.exeWinPcap_4_1_3.exeWireshark-win64-3.6.7.exe安装顺序如下安装VirtualBox 5.2.44运行安装程序所有选项保持默认一路点击“下一步”即可。安装完成后暂时不要启动VirtualBox。安装WinPcap 4.1.3同样默认安装。安装Wireshark默认安装。安装过程中如果提示安装Npcap建议选择“否”因为我们已安装WinPcap避免驱动冲突。安装eNSP主程序运行eNSP安装程序选择安装路径路径中不要包含中文或空格。安装到最后可能会提示注册设备请务必点击“是”或“确定”。2.3 首次运行与基础设置安装完成后首次运行eNSP需要进行一些基础配置。设置VirtualBox路径启动eNSP点击菜单栏的“工具 - 选项”。在“选项”窗口中切换到“常规设置”下的“工具设置”选项卡。检查“VirtualBox安装路径”是否自动识别正确通常为C:\Program Files\Oracle\VirtualBox。如果没有请手动浏览至VirtualBox的安装目录。注册设备镜像这是让eNSP认识虚拟设备的关键步骤。在“选项”窗口的“设备设置”选项卡中你会看到AR、WLAN、AC等设备类型。点击对应设备如AR右边的“...”按钮浏览至整合包中提供的设备镜像文件通常扩展名为.ova或.qcow2选择并打开。成功注册后状态会显示为“已注册”。关键点设备镜像文件必须与eNSP版本匹配。不匹配的镜像是导致设备启动失败错误41的常见原因。测试设备启动关闭选项窗口回到主界面。从左侧设备区拖拽一台AR2220路由器到拓扑区。右键点击该设备选择“启动”。如果一切顺利设备图标会由灰色变为彩色并且命令行窗口可以成功打开。你可以尝试输入system-view进入系统视图这代表设备启动成功。3. 从零构建第一个综合实验掌握了环境搭建我们通过一个经典的综合性实验将多个关键知识点串联起来。实验目标实现两个不同VLAN间的三层通信并配置DHCP、VRRP和STP以提高网络的可靠性和可管理性。实验拓扑设计2台路由器AR1 AR2作为出口网关和VRRP组。2台三层交换机S1 S2作为核心运行STP并充当VLAN间路由的网关。2台接入层交换机S3 S4连接PC。2台PCPC1 PC2。1台Cloud设备用于连接真机或模拟外网。3.1 基础网络与VLAN配置首先完成设备间链路和VLAN的划分。设备连接在eNSP中按拓扑图连接设备。路由器与核心交换机之间、核心交换机之间使用以太网链路。核心交换机与接入交换机、接入交换机与PC之间通常也使用以太网链路。配置接入交换机S3和S4创建VLAN 10和VLAN 20。将连接PC的接口如GE0/0/1配置为Access类型并分别划入VLAN 10和VLAN 20。将连接核心交换机的上行接口如GE0/0/24配置为Trunk类型并允许VLAN 10和20通过。# 以S3配置为例 system-view sysname S3 vlan batch 10 20 interface GigabitEthernet 0/0/1 port link-type access port default vlan 10 interface GigabitEthernet 0/0/24 port link-type trunk port trunk allow-pass vlan 10 20配置核心交换机S1和S2创建VLAN 10和VLAN 20并为每个VLAN配置一个三层接口VLANIF并配置IP地址作为该VLAN内主机的网关。将与接入交换机相连的接口配置为Trunk允许相应VLAN通过。配置核心交换机之间的链路如S1的GE0/0/23连接S2的GE0/0/23为Trunk允许所有业务VLAN通过。# 以S1配置VLANIF为例 system-view sysname S1 vlan batch 10 20 interface Vlanif 10 ip address 192.168.10.254 24 interface Vlanif 20 ip address 192.168.20.254 24 # 配置与S3和S2相连的接口为Trunk interface GigabitEthernet 0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 interface GigabitEthernet 0/0/23 port link-type trunk port trunk allow-pass vlan all3.2 配置STP防止环路在存在冗余链路的交换网络中必须运行生成树协议STP来防止广播风暴。我们将S1配置为根桥。# 在S1上配置 stp mode stp # 启用STP华为交换机默认可能是MSTP这里明确为标准STP stp priority 0 # 将S1的桥优先级设为0使其成为根桥 # 在S2上配置 stp mode stp stp priority 4096 # 设置一个比0大的优先级使其成为备份根桥配置完成后可以使用display stp brief命令查看各端口的角色ROOT, DESI, ALTE等确认阻塞端口出现在预期的冗余链路上。3.3 配置VRRP实现网关冗余为了让VLAN 10和20的主机拥有冗余的网关我们在S1和S2的VLANIF接口上配置VRRP。# 在S1上为VLAN 10配置VRRP interface Vlanif 10 vrrp vrid 10 virtual-ip 192.168.10.1 # 创建VRID为10的备份组虚拟网关IP vrrp vrid 10 priority 120 # 设置S1的优先级为120使其成为Master vrrp vrid 10 preempt-mode timer delay 20 # 配置抢占并延迟20秒 # 在S2上为VLAN 10配置VRRP interface Vlanif 10 vrrp vrid 10 virtual-ip 192.168.10.1 # 优先级默认100为Backup # VLAN 20的配置类似可以使用不同的VRID如20 # 为了让负载均衡可以配置S1为VLAN 10的MasterS2为VLAN 20的Master3.4 配置DHCP为PC自动分配IP在核心交换机S1作为Master设备上配置DHCP服务器功能为两个VLAN的主机分配IP地址。# 在S1上全局启用DHCP服务 dhcp enable # 为VLAN 10创建地址池 ip pool vlan10 gateway-list 192.168.10.1 # 指向VRRP虚拟IP network 192.168.10.0 mask 255.255.255.0 excluded-ip-address 192.168.10.1 192.168.10.10 # 排除部分地址 dns-list 8.8.8.8 # 在VLANIF 10接口上启用DHCP interface Vlanif 10 dhcp select global # 从全局地址池分配 # 为VLAN 20创建地址池配置在S2上以实现负载均衡 # ... 类似配置3.5 配置路由与验证最后需要在路由器上配置默认路由或静态路由指向核心交换机的VLANIF地址并在核心交换机上配置回程路由。将PC设置为DHCP获取IP然后进行连通性测试。在PC1上使用ipconfig查看是否获取到192.168.10.0/24网段的IP网关是否为192.168.10.1。在PC1上ping自己的网关192.168.10.1应该通。在PC1上pingPC2的IP地址192.168.20.0/24网段验证三层路由是否正常。可以手动关闭S1上与S3相连的链路观察VRRP切换和STP收敛验证网络冗余性。4. 高频错误深度排查与解决即使按照步骤操作eNSP实验中仍可能遇到各种错误。以下是针对最常见错误的系统性排查方法。4.1 设备启动失败错误代码40、41、2这是最令人头疼的问题。其根本原因通常是eNSP、VirtualBox、设备镜像或操作系统之间的兼容性问题。排查与解决流程确认Hyper-V已彻底关闭这是Win10/Win11上错误40的首要原因。务必执行第2.1节的命令并重启。可以通过在PowerShell中运行systeminfo命令查看“Hyper-V 要求”部分确认所有项目均为“否”。检查VirtualBox版本与网络打开Oracle VM VirtualBox管理器查看“管理 - 主机网络管理器”。确保存在一个名为VirtualBox Host-Only Ethernet Adapter的虚拟网卡并且其IPv4地址配置正常如192.168.56.1/24。在eNSP的“工具 - 选项 - 工具设置”中确认VirtualBox路径指向正确的VBoxManage.exe。重新注册设备镜像错误41通常意味着镜像注册失败或损坏。在eNSP的“选项 - 设备设置”中删除有问题的设备类型然后重新点击“...”选择正确的.ova或.qcow2镜像文件进行注册。确保镜像文件来源可靠。以管理员身份运行始终以管理员身份运行eNSP和VirtualBox。兼容性模式尝试对eNSP主程序、VirtualBox程序右键点击“属性 - 兼容性”勾选“以兼容模式运行这个程序”例如Windows 7并勾选“以管理员身份运行此程序”。防火墙与安全软件暂时禁用Windows Defender防火墙或第三方安全软件看是否被拦截。4.2 设备启动后命令行无响应或显示“#”当设备启动后命令行窗口卡住或只显示#无法输入命令。可能原因1设备启动缓慢。特别是防火墙设备USG6000V首次启动需要较长时间可能超过5分钟来初始化系统。请耐心等待直到出现登录提示符。可能原因2镜像问题。使用的设备镜像文件不完整或版本不匹配。尝试更换其他来源的镜像文件重新注册。可能原因3VirtualBox虚拟机状态异常。关闭eNSP打开VirtualBox管理器将里面所有正在运行的、与eNSP相关的虚拟机强制关闭选择“强制关闭”然后重新在eNSP中启动设备。4.3 Cloud设备无法与真机或虚拟机通信Cloud设备是连接虚拟网络和真实物理网卡的桥梁。绑定正确网卡在Cloud设备的配置界面你需要将“UDP”端口与一个“绑定信息”即你物理机或虚拟机正在使用的真实网卡进行关联。如果你希望虚拟网络能访问互联网就绑定连接到互联网的那个网卡如果只是和本机通信可以绑定VirtualBox Host-Only网卡。配置端口映射在Cloud设备上你需要将虚拟网络的端口如Ethernet 0/0/1与刚才绑定的“绑定信息”下的某个端口号如1进行映射。拓扑中其他设备需要连接到Cloud的Ethernet口。检查IP与路由确保虚拟设备配置了与真实网卡同网段的IP地址并设置了正确的网关。5. 进阶实验与生产环境思维在掌握了基础实验后可以挑战更复杂的场景并思考实验环境与生产环境的差异。5.1 进阶实验案例无线网络与RADIUS认证你可以尝试搭建一个包含AC接入控制器、AP接入点和RADIUS服务器的无线网络实验。拓扑增加一台AC如AC6005、一台AP如AP2050DN、一台服务器用Cloud连接真机或在eNSP内用Server设备模拟RADIUS服务器。配置在AC上配置DHCP为AP和无线终端分配地址。配置AP上线在AC上创建SSID如Test-WLAN。在RADIUS服务器如FreeRADIUS上创建用户数据库。在AC上配置WLAN安全策略引用RADIUS服务器进行802.1x或Portal认证。验证使用真机或模拟的STA工作站搜索并连接SSID弹出认证页面或输入账号密码验证能否成功上网。5.2 从实验到生产关键差异与考量实验室环境追求的是功能实现和概念验证而生产环境则需考虑稳定性、安全性和可维护性。维度实验环境 (eNSP)生产环境考量设备性能虚拟设备性能有限真实硬件需根据流量、会话数等规格选型配置备份拓扑文件保存即可需要定期备份配置文件如通过TFTP/FTP并建立版本管理制度安全策略可能为简化而放宽必须严格最小权限原则、ACL过滤、关闭无用服务、强密码策略、登录限制高可用VRRP/STP实验即可需考虑设备级冗余堆叠/集群、链路聚合、电源冗余、异地容灾监控排错依赖eNSP抓包和命令行需部署网管系统(NMS)、日志服务器、流量分析工具实现主动监控变更管理直接命令行修改任何变更需有申请、评审、实施、回滚计划并在维护窗口进行在eNSP中练习时就应有意识地模拟生产习惯为配置添加描述信息description使用标准化命名规划清晰的IP地址方案并在每次重大变更前在实验环境中保存一个稳定的拓扑版本。通过eNSP你获得的是一个安全且自由的网络技术沙盘。克服安装和初期的配置困难只是第一步更重要的是利用它去反复验证理论、设计复杂拓扑、模拟故障场景。当你能独立解决eNSP中遇到的各种“坑”并成功复现认证考试中的实验要求时你对网络技术的理解深度和实际操作能力必然已大幅提升这将为通过HCIA、HCIP乃至HCIE认证打下坚实的实践基础。

相关新闻

Java树结构核心:TreeNode设计与二叉树遍历算法实战

Java树结构核心:TreeNode设计与二叉树遍历算法实战

1. 项目概述:为什么我们需要“树”?在Java开发中,尤其是处理具有层级关系的数据时,比如公司的组织架构、文件系统的目录结构、商品分类菜单,甚至是游戏中的技能树,我们经常会遇到一个核心问题:如…

2026/10/19 18:34:00 阅读更多 →
黄金价格API实时监控系统设计与优化实践

黄金价格API实时监控系统设计与优化实践

1. 项目背景与价值黄金作为全球重要的避险资产和投资标的,其价格波动直接影响着金融市场和投资者决策。传统获取黄金价格的方式往往存在滞后性,而通过API实时监控期货与现货价格,能够为量化交易、套利策略和风险管理提供关键数据支持。我曾在…

2026/10/20 2:40:33 阅读更多 →
计算机发展四阶段:从电子管到AI,理解技术演进的核心逻辑

计算机发展四阶段:从电子管到AI,理解技术演进的核心逻辑

1. 从“算”到“智”:我们为什么需要了解计算机发展史如果你刚接触计算机,或者想系统梳理一下自己的知识体系,可能会觉得“计算机发展史”是个挺枯燥的话题。一堆年代、人名、机器型号,听起来像是历史课。但我想告诉你&#xff0c…

2026/10/19 20:26:00 阅读更多 →

最新新闻

13 Token/s 值得欢呼吗:端侧多模态的“能跑“与“好用“之间还隔着什么

13 Token/s 值得欢呼吗:端侧多模态的“能跑“与“好用“之间还隔着什么

13 Token/s 值得欢呼吗:端侧多模态的"能跑"与"好用"之间还隔着什么 【免费下载链接】MiniCPM-V-4.7-35B-A3B MiniCPM-V 4.7 是 MiniCPM-V 系列的最新模型,提供 35B-A3B 变体,其中 35B-A3B 是 MiniCPM-V 系列中的首个 MoE…

2026/10/20 2:40:37 阅读更多 →
一小时净增 149 星:LightCraft 正把 GitHub 趋势榜刷成 Rust 专场

一小时净增 149 星:LightCraft 正把 GitHub 趋势榜刷成 Rust 专场

一小时净增 149 星:LightCraft 正把 GitHub 趋势榜刷成 Rust 专场 【免费下载链接】lightcraft LightCraft: An open-source non-destructive photo editor written by scratch in pure Rust 项目地址: https://gitcode.com/gh_mirrors/li/lightcraft 2026 年…

2026/10/20 2:40:37 阅读更多 →
ARMCC编译器安装配置指南:解决老工程编译报错与版本兼容问题

ARMCC编译器安装配置指南:解决老工程编译报错与版本兼容问题

简介:ARM Compiler Version 5(ARMCC)是ARM公司面向ARM架构处理器推出的高效编译工具链,适合嵌入式开发工程师、物联网与汽车电子从业者,以及需要为Cortex-A/R/M系列编写、编译和优化底层软件的开发者。资源包共650个文…

2026/10/20 2:40:37 阅读更多 →
AI赋能学术专著写作:知识工程视角下的完整工具链与实操工作流

AI赋能学术专著写作:知识工程视角下的完整工具链与实操工作流

前阵子有作者找我聊书稿的事,说他手里研究资料攒了一堆,想整理成一部学术专著,可两三年过去,目录还在改第N版。这种事我见得不少——专著不是论文,动辄二三十万字,写作周期按年算,真正卡人的往往…

2026/10/20 2:40:37 阅读更多 →
ARM编译器版本5(AC5)工具链详解:从armcc到fromelf的嵌入式开发实践

ARM编译器版本5(AC5)工具链详解:从armcc到fromelf的嵌入式开发实践

简介:ARM编译器版本5是ARM公司面向嵌入式系统开发者推出的优化编译工具,适用于从ARM7到ARM11及多核Cortex系列处理器的代码构建,帮助开发者在代码效率、资源占用与硬件兼容性之间取得平衡。资源包共3个文件,包含1个html发行说明、…

2026/10/20 2:40:37 阅读更多 →
三维可视化实践:用立方体同时展示等高线与方向标记

三维可视化实践:用立方体同时展示等高线与方向标记

做三维可视化时,我经常碰到一个很现实的问题:数据本身是三维的,但传统平面图只能表达二维关系。前阵子做一个地形相关的模拟项目,需要同时展示高度变化和方向趋势,一开始画了好几版平面等高线图,怎么看都别…

2026/10/20 2:39:36 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →