虚拟机注册目录在哪?找不到注册目录怎么办?
虚拟机注册目录通常隐藏在用户主目录下的隐藏文件夹中,常见位置如Windows系统的C:Users用户名.VirtualBox或C:Users用户名AppDataLocalVMware,若找不到注册目录,多半是隐藏文件未显示或安装路径被更改。
不同虚拟机软件的注册目录默认位置
虚拟机注册目录并不是一个统一定义的路径,它取决于你使用的是哪款虚拟机软件,常见的几款软件各有各的默认存放习惯,很多教程写的“注册目录”其实是把虚拟机的配置文件、磁盘镜像和日志文件统称了。
- VMware Workstation:默认将虚拟机配置文件(
.vmx)放在你自定义的文件夹中,但它的全局注册信息(也就是“库”里的虚拟机列表)存放在C:ProgramDataVMware或C:Users用户名AppDataRoamingVMware,如果用的是绿色版或精简版,路径可能有偏移。 - VirtualBox:全局注册信息在
C:Users用户名.VirtualBox,其中VirtualBox.xml就是注册文件,虚拟机的硬盘文件(.vdi)默认存在同一个用户目录下的VirtualBox VMs文件夹,但这个文件夹的位置可以随时改。 - Hyper-V:它的注册目录与Windows系统绑定,虚拟机配置存放在
C:ProgramDataMicrosoftWindowsHyper-V,虚拟机硬盘文件默认在C:UsersPublicDocumentsHyper-VVirtual Hard Disks。
如果你平时只使用VMware,那“注册目录”更可能指的是VMware在“库”中显示的虚拟机条目,这些条目记录了.vmx文件的实际位置,真正的配置文件在虚拟机所在文件夹里,叫.vmx,而软件层面的“注册”概念比较弱。
为什么你找不到注册目录?
最常见的三个原因,先说结论:第一,隐藏文件没开启;第二,你可能根本没创建过虚拟机,注册文件还没生成;第三,你把虚拟机装在了非系统盘,注册目录跟着变了。
针对第一点,Windows默认不显示隐藏项目,.VirtualBox和AppData文件夹都是默认隐藏的,你直接在资源管理器地址栏输入路径也打不开,因为系统会提示找不到,解决办法很简单,在文件资源管理器里点“查看”,勾选“隐藏的项目”复选框,或者按Win+R输入%USERPROFILE%\.VirtualBox回车,就能强制打开。
针对第二点,如果你只是安装了VirtualBox但从未创建过任何虚拟机,那么.VirtualBox文件夹可能不存在,只有当你第一次创建一个虚拟机时,软件才会生成这个目录和对应的VirtualBox.xml注册文件,类似地,VMware的preferences文件也要在首次运行后才生成。
针对第三点,很多人为了节省C盘空间,把虚拟机磁盘文件放到D盘或移动硬盘,这种情况下,VirtualBox的全局设置里会记录你改过的默认机器文件夹,注册目录仍在C盘用户目录下,但实际虚拟机文件在D盘,如果你把整个VirtualBox安装目录复制到另一台电脑,注册文件里的路径还是旧的,就会表现成“注册目录找不到”。
找不到虚拟机注册目录的排查步骤
既然明确了大致的默认路径,下面按顺序排查,每一步都很短,但能帮你快速定位问题。
- 打开文件资源管理器,在地址栏输入
%USERPROFILE%回车,先看当前用户目录下有没有.VirtualBox文件夹,这个文件夹就是VirtualBox的注册目录,里面有VirtualBox.xml和VirtualBox.xml-prev两个关键文件,如果没有,继续下一步。 - 按
Win+R,输入regedit回车,打开注册表编辑器,依次展开HKEY_CURRENT_USER\Software\Oracle\VirtualBox,查看右侧的DefaultMachineFolder值,这个值指向你实际创建虚拟机的目录,也就是注册目录真正生效的地方。 - 如果你用的是VMware,按
Win+R输入%APPDATA%\VMware,这里存放preferences.ini,里面通常有prefvmx.defaultVMPath或prefvmx.defaultVMPath的选项,记录默认虚拟机存放路径,同时检查C:\ProgramData\VMware下的vmware.ini是否存在,这个文件有时会被安全软件误删。 - 如果以上路径都不存在,使用Windows搜索功能,在“此电脑”里搜索
VirtualBox.xml或.vmx文件,这类文件特征明显,搜到后右键查看属性里的位置,就是注册目录。
一种更直接的办法:从软件内部看注册目录
与其在文件系统里翻找,不如直接打开虚拟机软件看它的全局设置,这个办法无论谁都能操作,不必记路径。
在VirtualBox主界面,点“管理”→“全局设定”→“常规”,右侧“默认虚拟机文件夹”那一栏的路径就是当前有效的注册目录,如果你之前改过它,这里会直接显示,想改到别的位置,点右边的文件夹图标重新选择,然后点“确定”。
在VMware Workstation里,点“编辑”→“首选项”→“工作区”,可以看到“虚拟机默认位置”的字段,库”面板里每一个列出的虚拟机名称下面,会显示该虚拟机配置文件的完整路径,注册目录就是那个路径的上一级文件夹。
Hyper-V用户则打开“Hyper-V管理器”,右键你的虚拟机,选择“设置”,然后看“管理和检查点”里的“虚拟机配置文件位置”,这个位置就是注册目录,通常与虚拟硬盘不在同一路径。
注册目录被误删后,虚拟机能恢复吗?
这个问题很常见,尤其是清理磁盘时手滑把.VirtualBox整个删了,先说结论:只要虚拟机的磁盘文件(.vdi或.vmdk)还在,虚拟机就能重新注册,数据不会丢。
操作逻辑很简单相当于用已有的硬盘文件新建一台虚拟机,但要把硬件配置重新指认一遍,具体步骤分两种情况。
如果是VirtualBox,打开软件后点“控制”→“注册”(或按Ctrl+R),在弹出的窗口中选择你的.vbox文件,如果你连.vbox文件也删了,只剩.vdi文件,那就新建虚拟机,在“虚拟硬盘”步骤选择“使用已有虚拟硬盘文件”,指定.vdi的位置即可,启动后系统会正常引导,原来装的软件和数据都还在,只是你之前设置的共享文件夹、端口转发等配置需要重新做。
如果是VMware,注册目录不存在的情况更多是.vmx文件丢失,这时在VMware主界面点“打开”按钮,找到.vmdk文件所在目录,但要注意VMware不能直接打开.vmdk,你需要在同一个文件夹里新建一个.vmx配置文件,简便方法是用安装有VMware的另一台电脑,复制一份同版本虚拟机的.vmx文件,用记事本修改其中的scsi0:0.fileName或ide0:0.fileName,指向你的.vmdk文件名,然后直接打开这个.vmx。
从行业共识来看,多数人在删除注册目录后急于重装虚拟机软件,这其实没必要,软件本身没有把虚拟机私有配置存放在安装目录外的设计,重新注册或新建指向已有磁盘文件,是官方支持的标准恢复方式,不会损坏数据。
避免注册目录再次丢失的三个习惯
养成短期好习惯比事后补救省心得多,尤其对经常折腾虚拟机的朋友,以下三点做齐了,基本不会再遇见“注册目录在哪”的问题。
- 每次创建虚拟机时,在“名称和系统类型”那一步同步修改“文件夹”路径,不要用默认的
C:\Users\用户名,改成D盘或E盘的专用目录,例如D:\VM\(机器名),这样注册目录和实际虚拟机文件分离,即使系统用户目录损坏,虚拟机文件也完好。 - 虚拟机创建完成后,立即在VirtualBox的“全局设定”里把“默认虚拟机文件夹”改掉,同时不要勾选“将虚拟机文件保存到用户目录”,这样后续所有新建的虚拟机都自动落到非系统盘。
- 定期备份注册文件,VirtualBox只需要备份
C:\Users\用户名\.VirtualBox\VirtualBox.xml这个文件,容量一般只有几十KB,VMware则备份C:\Users\用户名\AppData\Roaming\VMware\preferences.ini,把这两个文件复制到网盘或U盘,重装系统后放回原路径,软件里的虚拟机列表就全回来了。
为什么注册目录是隐藏的?
不少用户找了半天最后发现是文件夹隐藏属性作祟,心里其实挺恼火,这里解释清楚背后的逻辑,你就能明白为何各家虚拟机软件都默认把注册信息藏起来。
隐藏的原因主要有两条,其一,注册目录里的文件属于程序内部数据,不是给你直接编辑的,比如
VirtualBox.xml里保存的虚拟机UUID、硬盘控制器类型、网络MAC地址等,随意修改可能导致虚拟机无法启动,所以软件刻意不让普通用户在日常浏览时看到,其二,Windows用户目录下的AppData和.VirtualBox这类文件夹本身就被系统标记为“受保护的操作系统文件”,加上点前缀命名,就是为了让它们从用户视角“隐身”,防止误操作。
然而这种设计也给系统维护带来不便,很多人不知道注册目录在哪儿,备份虚拟机时只拷了.vdi文件,忘了拷.vbox配置文件,换电脑后就必须一步步重新指认硬件配置,从这个角度看,如果你经常迁移虚拟机,与其依赖默认隐藏路径,不如主动把虚拟机文件放到自己熟悉的目录,并且用记事本打开.vbox文件,技能了解一下里面配置项的对应关系,也就能在出问题时手工修复了。
Q&A:虚拟机注册目录常见问题
问:VirtualBox注册目录里的VirtualBox.xml可以直接用记事本编辑吗?
可以,但不建议在虚拟机运行时编辑。VirtualBox.xml本质是XML格式文本,用记事本修改只适合做单一项的改变,比如把defaultMachineFolder路径从C盘改成D盘,改之前必须完全退出VirtualBox,否则退出时程序会读取内存中的配置覆盖你改过的内容,改完保存后重启软件,新的路径才会生效,不建议动其他字段,因为UUID或硬件参数的拼写错误会导致软件无法识别虚拟机。
问:VMware的注册目录和虚拟机实际存放目录不一致时怎么办?
这种情况多发生在移动过虚拟机文件夹之后,双击.vmx文件,VMware会提示“是否将虚拟机添加到库”,选“是”后,库中的注册条目自动指向新位置,如果你想彻底清理旧的注册记录,在“库”面板中右键旧条目,选择“从库中移除”,然后再次打开新位置的.vmx文件重新注册,注意“从库中移除”不会删除任何磁盘文件,它只是移除了软件层面的引用,可以放心操作。
问:找不到注册目录会不会影响虚拟机开机自启动?
如果不涉及自启动服务,普通虚拟机开机自启通常靠Windows任务计划程序调用命令行,而不是依赖注册目录位置,比如用VBoxManage startvm启动虚拟机时,它会按UUID查找注册信息,如果你的.VirtualBox目录被移走,命令会报错Could not find a registered machine,解决办法是提前在VirtualBox界面里把注册目录恢复到默认位置,或者改用.vbox文件路径启动,如果是VMware,自启动脚本一般直接调用vmrun或其他工具指向.vmx文件路径,就不受注册目录影响。
首发原创文章,作者:王坚,如若转载,请注明出处:https://idctop.com/article/615497.html





