VMware vmdk文件导入实战:从兼容性报错到成功启动的完整指南
1. 项目概述从一滩浑水到柳暗花明最近接手一个老项目里面有个关键的测试环境是以一个单独的vmdk文件形式存在的。对方工程师轻描淡写地丢过来一句“环境都打包在vmdk里了你用VMware导入一下就行。” 听起来简单不就是个虚拟硬盘文件嘛。结果从点击“打开”到最终能正常启动虚拟机我花了整整一个下午踩的坑比过去一周写的代码行数还多。从版本兼容性报错、磁盘控制器不匹配到虚拟机配置丢失、甚至启动蓝屏几乎把VMware导入vmdk的常见雷区趟了个遍。今天就把这次“血泪史”整理出来不仅告诉你每一步该怎么操作更重要的是把那些官方文档里不会写的、藏在角落里的“坑”和“为什么”都掰开揉碎了讲清楚。无论你是运维、开发还是IT爱好者只要你想把别人给的、网上下载的或者自己备份的vmdk文件变成一台能跑的虚拟机这篇从实战中总结的指南应该能帮你省下好几个小时的折腾时间。简单说vmdk就是VMware虚拟机的“硬盘”。但“导入”这个动作远不止是把这个“硬盘”挂载上那么简单。它涉及到虚拟硬件版本的适配、磁盘控制器的选择、操作系统的驱动兼容性等一系列连锁反应。一个环节没对上轻则报错重则系统无法启动。接下来我们就从最核心的思路开始拆解。2. 核心思路拆解为什么“打开”不等于“能用”很多人包括最初的我都认为导入vmdk就是“文件”-“打开”然后选中那个.vmdk文件。VMware Workstation确实提供了这个选项但这条路往往直接通向第一个大坑。我们需要理解一个能运行的虚拟机至少包含两大部分硬件配置.vmx文件和虚拟磁盘数据.vmdk文件。你手头只有一个vmdk就相当于只有一块硬盘却没有定义这块硬盘要插在什么样的“电脑主板”虚拟硬件上。因此导入vmdk的核心思路不是“打开”而是“为这块磁盘创建一台新的、兼容的虚拟机”。这个过程可以分解为两个关键决策创建方式的选择是直接利用现有vmdk创建新虚拟机还是先将其转换为当前VMware版本最兼容的格式这取决于源vmdk的“健康状况”。虚拟硬件的匹配新虚拟机的硬件版本、磁盘控制器类型SCSI, SATA, IDE、操作系统类型必须与vmdk内安装的系统“预期”的硬件环境尽可能一致否则就会遇到著名的“启动蓝屏INACCESSIBLE_BOOT_DEVICE”或“找不到操作系统”错误。基于这个思路一个稳妥的导入流程应该是检查 - 转换可选- 创建 - 匹配 - 调试。下面我们就进入实战环节看看每一步具体怎么做以及哪里最容易翻车。2.1 前期准备检查vmdk与规划方案拿到vmdk文件后别急着往VMware里拖。先花几分钟做点侦探工作能避免后续50%的麻烦。首先检查vmdk文件完整性。一个完整的vmdk虚拟磁盘可能由两个文件构成一个较小的“描述符文件”如disk.vmdk文本格式和一个或多个较大的“数据文件”如disk-flat.vmdk或disk-s001.vmdk,disk-s002.vmdk等。你必须确保所有这些文件都在同一个目录下并且没有被占用。如果只有一堆-sXXX.vmdk分段文件而没有主描述符文件导入工具会无法识别。我踩的第一个坑就是对方只传了一个-flat.vmdk文件导致VMware无法直接使用。注意在Windows系统上如果之前VMware异常关闭vmdk文件可能会被锁定。可以尝试重启电脑或者使用“资源监视器”的“关联的句柄”功能搜索vmdk文件名结束占用它的进程。其次判断源系统类型。想办法了解这个vmdk里装的是什么操作系统如Windows 7, Windows 10, Ubuntu 18.04等。这决定了你后续创建虚拟机时选择的客户机操作系统版本而VMware会根据这个选择来优化默认的虚拟硬件配置。如果实在不知道可以后续在创建虚拟机时先选择一个通用的类型如Windows 10 x64不行再换。最后规划存储路径。VMware虚拟机运行时会产生日志、内存快照等文件。建议为这个新虚拟机单独创建一个文件夹将vmdk文件也放入其中保持项目整洁。确保目标路径有足够的磁盘空间空间至少是vmdk文件大小的1.5倍以上为转换和运行时留出余地。2.2 工具选择VMware Workstation Pro 是主力对于桌面级用户VMware Workstation Pro目前主流是v16/v17是完成这项任务最合适的工具功能全面兼容性好。Player版本虽然免费但在虚拟硬件配置的灵活性和磁盘管理功能上有所限制可能无法处理一些复杂的兼容性问题。如果vmdk文件来源于更早期的VMware版本如v10以下或ESXi服务器Workstation的导入兼容性通常很好。但有时我们可能需要用到另一个内置工具vmware-vdiskmanager。这是一个命令行工具位于VMware安装目录下常用于转换磁盘格式、扩展磁盘容量等。当图形界面导入失败时它往往是解决问题的关键。3. 详细操作步骤从文件到可启动的虚拟机假设我们现在有一个名为old_disk.vmdk的文件里面是一个Windows 10系统。我们目标是把它导入到VMware Workstation 17中并成功启动。3.1 第一步创建新的虚拟机不要使用“文件”-“打开”。正确流程是打开VMware Workstation。点击“创建新的虚拟机”或“文件”-“新建虚拟机”。在“新建虚拟机向导”中选择“自定义高级”。这一步至关重要“典型”配置会省略很多关键设置为后续埋坑。“硬件兼容性”选择你当前VMware Workstation的版本如“Workstation 17.x”。选择更高的版本可能无法在旧版上运行但通常新版兼容旧版硬件。这里就选当前版本即可。关键步骤来了在“安装客户机操作系统”页面选择“稍后安装操作系统”。我们的系统已经在vmdk里了这里如果选了“安装程序光盘映像文件”向导会以为你要装新系统流程会变得混乱。选择正确的客户机操作系统和版本。根据已知信息选择“Microsoft Windows”和“Windows 10 x64”。为虚拟机命名并选择存放位置建议新建的文件夹。处理器和内存配置根据你的宿主机资源和vmdk内系统的需求分配。如果不确定可以先给2核4GB后续可调。网络类型通常选择“使用网络地址转换NAT”即可这样虚拟机可以上网宿主机也能访问它。3.2 第二步关键中的关键——使用现有虚拟磁盘在“选择磁盘”页面选择“使用现有虚拟磁盘”然后点击“下一步”。点击“浏览”找到你的old_disk.vmdk文件并选中。如果是一组分段文件选择那个主描述符文件如old_disk.vmdk而不是old_disk-flat.vmdk。点击“下一步”后你会看到一个“现有磁盘”摘要。这里通常保持默认直接点击“完成”。至此一台新的虚拟机就创建好了它的“硬盘”直接指向了你提供的vmdk文件。但是这离成功启动还差得远。接下来才是配置的重头戏。3.3 第三步虚拟硬件配置的精细调整创建完成后先不要启动。在VMware的虚拟机库中选中这台新虚拟机点击“编辑虚拟机设置”。3.3.1 磁盘控制器类型最大的兼容性陷阱这是导致系统启动失败蓝屏报错 INACCESSIBLE_BOOT_DEVICE的最常见原因。vmdk文件在创建时会关联一种磁盘控制器SCSI、SATA或IDE。如果新虚拟机的控制器类型与它不匹配系统启动时就会找不到硬盘。如何判断没有100%准确的方法但可以遵循经验法则较新的WindowsWin7及以后和Linux系统很可能使用的是LSI Logic SAS或VMware Paravirtual(SCSI) 控制器。这是VMware为高性能虚拟化优化的控制器。旧的Windows系统如XP可能使用的是BusLogic(SCSI) 或IDE控制器。如果vmdk来自较新的ESXi或WorkstationNVMe控制器也有可能但桌面版Workstation支持有限。如何调整在“虚拟机设置”中找到“硬盘(SCSI)”或显示为“硬盘(SATA)”。在右侧“虚拟设备节点”旁点击“高级”按钮。在弹出的窗口中你可以看到当前控制器类型。尝试更改它。例如如果现在是“SCSI(0:0)”其控制器类型可能是“LSI Logic SAS”。你可以将其改为“SATA”或“IDE”控制器试试。重要提示每次更改控制器类型后强烈建议先创建一个虚拟机快照再尝试启动。如果启动失败可以瞬间回滚到更改前的状态继续尝试其他类型。3.3.2 固件类型BIOS 还是 UEFI另一个可能导致“No bootable device”错误的因素是固件。旧系统多用BIOS新系统Win8以后许多Linux发行版多用UEFI。在“虚拟机设置”-“选项”-“高级”中可以找到“固件类型”。如果vmdk内的系统是UEFI安装的而虚拟机设置成了BIOS可能无法启动。反之亦然。如果不确定就两个都试一下配合快照功能。3.3.3 移除不必要的硬件新创建的虚拟机会自带一些默认设备如USB控制器、声卡、打印机。如果只是为了启动系统做测试可以暂时移除它们以减少潜在冲突。确保保留“显示器”设置中的“加速3D图形”选项这对Windows桌面体验很重要。4. 疑难杂症与深度排坑实录按照上述步骤大部分vmdk应该能启动了。但如果还不行下面是我踩过或见过的坑及其解决方案。4.1 问题一虚拟机无法打开电源报错“文件已被占用”或“磁盘需要转换”现象启动时提示The file is already in use或The disk must be converted。原因分析vmdk文件被其他进程锁定或者其格式是旧版的“单增长磁盘”或“预分配磁盘”与新版本VMware的“稀疏磁盘”或“按需分配”格式不兼容。解决方案文件占用用前面提到的“资源监视器”方法结束进程或重启宿主机。磁盘转换这是必须用命令行工具vmware-vdiskmanager的时候。以管理员身份打开命令提示符CMD。切换到VMware安装目录例如cd C:\Program Files (x86)\VMware\VMware Workstation\执行转换命令。例如将old_disk.vmdk转换为新版本格式vmware-vdiskmanager -r D:\path\to\old_disk.vmdk -t 2 D:\path\to\new_disk.vmdk参数解释-r转换转换源磁盘。-t 2指定目标磁盘类型为“Stream-optimized compressed sparse disk”一种兼容性很好的稀疏磁盘格式。-t 0是单文件预分配-t 1是单文件稀疏。转换完成后在虚拟机设置中将硬盘指向新的new_disk.vmdk文件。4.2 问题二系统启动蓝屏错误代码 INACCESSIBLE_BOOT_DEVICE现象Windows启动徽标出现后蓝屏。原因分析几乎可以肯定是磁盘控制器驱动不匹配。虚拟机启动时Windows加载了错误的或缺失的磁盘控制器驱动。解决方案Windows系统尝试安全模式在虚拟机启动时狂按F8对于Win10可能需要先失败几次触发自动修复再进入高级选项尝试进入“安全模式”。如果能进说明基本系统是好的只是驱动问题。可以在设备管理器中更新SCSI控制器驱动但虚拟机环境下操作复杂。更实用的方法使用Windows安装镜像修复为虚拟机挂载一个与原系统版本匹配的Windows ISO安装镜像。从光盘启动进入安装界面。不要点击“现在安装”而是点击左下角的“修复计算机”。选择“疑难解答”-“高级选项”-“命令提示符”。在命令提示符中运行以下命令尝试修复启动项bootrec /fixmbr bootrec /fixboot bootrec /scanos bootrec /rebuildbcd重启。如果问题依旧说明根本原因还是硬件不匹配请回到3.3.1步骤更换磁盘控制器类型。将SCSI控制器从LSI Logic SAS 改为 VMware Paravirtual或者改为SATA控制器成功率非常高。4.3 问题三提示“操作系统未找到”或直接进入EFI Shell现象黑屏显示Operating System not found或直接进入UEFI命令行界面。原因分析引导记录损坏或固件类型BIOS/UEFI设置错误。解决方案首先检查并切换“固件类型”见3.3.2。如果问题依旧同样使用Windows安装镜像启动到命令提示符。依次输入以下命令修复UEFI引导假设系统盘是C:diskpart list disk # 查看磁盘列表确认系统盘编号通常是磁盘0 select disk 0 list partition # 查看分区找到EFI系统分区通常很小几百MB类型为系统 select partition X # X为EFI分区编号 assign letterS # 为EFI分区分配盘符S exit bcdboot C:\Windows /s S: /f UEFI # 重建UEFI引导文件重启虚拟机。4.4 问题四虚拟机启动后性能极差卡顿严重现象系统能进但鼠标移动都卡顿。原因分析未安装VMware Tools。VMware Tools是一套驱动和实用程序的集合用于优化虚拟机的显卡、鼠标、网络等性能并在宿主机和虚拟机之间提供无缝体验。解决方案在虚拟机系统启动并登录后点击VMware菜单栏的“虚拟机”-“安装VMware Tools”。虚拟机会加载一个安装光盘镜像。在虚拟机内打开此光盘运行安装程序通常是setup.exe或.msi文件。按照向导完成安装重启虚拟机。你会发现显示分辨率自动适配了鼠标可以自由进出虚拟机窗口性能大幅提升。5. 进阶技巧与最佳实践经过一番折腾虚拟机终于跑起来了。但为了让这个“移植”过来的系统更稳定、更好用还有几点经验值得分享。5.1 创建完整克隆与源vmdk解耦你现在运行的虚拟机其硬盘仍然直接链接到原始的old_disk.vmdk文件。任何操作都会直接影响它。为了安全也为了释放原始文件应该创建一个“完整克隆”。在虚拟机处于关机状态下右键点击虚拟机名称。选择“管理”-“克隆”。在克隆向导中选择“虚拟机中的当前状态”。选择“创建完整克隆”。这会生成一个全新的、独立的vmdk文件及虚拟机配置与原始文件再无关联。之后你就可以放心地在克隆体上测试、修改而不用担心破坏原始环境。5.2 磁盘空间扩展如果vmdk内的系统磁盘空间不足可以利用vmware-vdiskmanager或 Workstation的图形界面进行扩展。图形界面在虚拟机设置中选中硬盘点击“扩展”按钮输入新的更大容量。但这仅仅扩展了虚拟磁盘的“物理”空间。进入系统后你还需要使用磁盘管理工具Windows的“磁盘管理”或Linux的fdisk/parted去扩展分区才能真正使用新增的空间。命令行vmware-vdiskmanager -x 100GB D:\path\to\disk.vmdk将磁盘扩展到100GB5.3 定期快照与备份对于这种导入的、来源可能不明的系统稳定性是未知数。在进行任何重大操作如安装重要软件、系统更新前务必创建一个快照。快照能瞬间保存虚拟机的完整状态一旦出现问题可以一键还原。这是虚拟化环境中最强大的“后悔药”。导入一个vmdk文件看似是点几下鼠标的简单操作实则是对虚拟机底层硬件兼容性理解的一次小考。核心诀窍就是忘掉“导入”专注于“为已知硬盘配置一台兼容的虚拟主机”。从控制器类型到固件选择每一步都需要根据vmdk内系统的“年龄”和“出身”进行合理猜测和尝试。多利用快照功能进行快速试错善用vmware-vdiskmanager命令行工具处理磁盘本身的问题再结合Windows安装镜像的修复功能解决系统层面的引导和驱动问题这套组合拳下来绝大多数vmdk文件都能被成功唤醒。最后记得克隆一份再投入使用这是对原始数据和后续工作流的双重保障。

相关新闻

深入解析Insert注入:从原理到实战的SQL注入进阶攻防

深入解析Insert注入:从原理到实战的SQL注入进阶攻防

1. 项目概述:从“查”到“增”的攻防视角转换 在安全测试和渗透测试的日常工作中,SQL注入是绕不开的经典课题。大多数教程和实战演练都聚焦于 SELECT 语句的注入,也就是我们常说的“查”数据。无论是联合查询、报错注入还是布尔盲注&#x…

2026/10/16 6:27:15 阅读更多 →
告别命令行!ExifToolGUI:让图像元数据编辑变得如此简单

告别命令行!ExifToolGUI:让图像元数据编辑变得如此简单

告别命令行!ExifToolGUI:让图像元数据编辑变得如此简单 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 还在为复杂的ExifTool命令行而头疼吗?还在为批量处理照片元数据而…

2026/10/16 8:23:20 阅读更多 →
Windows右键新建文件夹消失?四步修复方案与注册表原理详解

Windows右键新建文件夹消失?四步修复方案与注册表原理详解

1. 问题现象与根源剖析 “右键新建菜单里找不到新建文件夹了”——这大概是Windows 10用户最常遇到的几个“灵异事件”之一。你正想整理桌面,或者在一个项目文件夹里创建子目录,习惯性地在空白处点击右键,却发现那个熟悉的“新建 -> 文件夹…

2026/10/8 4:07:38 阅读更多 →

最新新闻

STM32F130ZET6驱动SHT30温湿度传感器:HAL库I2C例程详解

STM32F130ZET6驱动SHT30温湿度传感器:HAL库I2C例程详解

简介:面向STM32F130ZET6开发者的SHT30温湿度传感器HAL库例程,可帮助嵌入式爱好者快速掌握I2C通信与温湿度数据采集,适用于智能家居、环境监测、农业设备、医疗设备等场景。资源共231个文件,压缩包大小约10.22MB,主体包…

2026/10/16 8:23:28 阅读更多 →
SpringBoot+Vue+MyBatis高校健康管理系统源码架构与二次开发实战解析

SpringBoot+Vue+MyBatis高校健康管理系统源码架构与二次开发实战解析

每年到了毕业设计和企业实训的高峰期,总有一大批人被“高校健康管理”这类系统折磨得够呛。手里这套环境搭建、接口设计、权限控制的活,看着不复杂,真做起来全是细节。最近好多读者来问我,说手上有一套标注着“企业级高校健康防控…

2026/10/16 8:23:28 阅读更多 →
腾讯云2026省钱攻略:账单构成、计费模式与架构优化实战

腾讯云2026省钱攻略:账单构成、计费模式与架构优化实战

做云服务这一行快十年,最大的感受就是:同一个业务,不同的人来采购腾讯云产品,最终账单能差出好几倍。不是配置不会选,而是大多数人都忽略了云产品背后的计费结构。2026年的腾讯云产品线已经非常细分,轻量应…

2026/10/16 8:23:28 阅读更多 →
嵌入式Linux内核定制实战:从配置裁剪到驱动适配与启动优化

嵌入式Linux内核定制实战:从配置裁剪到驱动适配与启动优化

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

2026/10/16 8:23:28 阅读更多 →
软件测试基础期末复习:黑盒白盒、用例设计与缺陷管理核心考点

软件测试基础期末复习:黑盒白盒、用例设计与缺陷管理核心考点

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

2026/10/16 8:23:28 阅读更多 →
Spring AI多模态实战:图片理解与视觉模型集成指南

Spring AI多模态实战:图片理解与视觉模型集成指南

1. 从文本到视觉:多模态能力到底解决了什么痛点大模型能写代码、能编故事、能陪你聊天,但很长一段时间里,它其实是个“瞎子”。你丢一张图过去,它只能看到文件名,或者干脆告诉你“我无法处理图片”。这个限制在实际项目…

2026/10/16 8:22:27 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

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

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 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/15 0:14:36 阅读更多 →
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/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练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/15 9:49:14 阅读更多 →