目录
- 前言
- 初步解决办法
- 最终解决办法
前言
在virtualbox的7.0.12版本之后,Windows的安装路径不能随意指定,必须符合指定安全要求,默认安装路径才可以,但是Windows电脑又不想往C盘中安装软件,然后就寻求解决办法
初步解决办法
网上比较多的是通过官方提供的文档来修改安装路径的权限的,比如我想安装在E:/virtualbox
路径下,创建好这个文件夹后,写一个bat脚本(或者一条一条的在cmd窗口执行也可以,但不能再powershell中)
内容如下:
icacls E:\Virtualbox /reset /t /c
icacls E:\Virtualbox /inheritance:d /t /c
icacls E:\Virtualbox /grant *S-1-5-32-545:(OI)(CI)(RX)
icacls E:\Virtualbox /deny *S-1-5-32-545:(DE,WD,AD,WEA,WA)
icacls E:\Virtualbox /grant *S-1-5-11:(OI)(CI)(RX)
icacls E:\Virtualbox /deny *S-1-5-11:(DE,WD,AD,WEA,WA)
最终解决办法
但我在2025年9月从官网下载最新的安装包后,执行的上面的指令,虽然执行完不会显示路径无效了,但是安装过程中依旧显示权限不足,无法往E:\Virtualbox\sdk
中写入,我甚至尝试切换到管理员账户再重新执行依旧不行,究其原因就是上面执行的指令过于严格,导致在安装路径下创建文件夹权限受到了限制,我们找到了原因,那就根据原因加上对sdk目录的操作,
- 在已经创建好的
E:/virtualbox
路径下创建一个子目录sdk
文件夹 - 在上边执行的bat脚本中加上对这个子目录权限要求
icacls E:\Virtualbox /reset /t /c
icacls E:\Virtualbox /inheritance:d /t /c
icacls E:\Virtualbox /grant *S-1-5-32-545:(OI)(CI)(RX)
icacls E:\Virtualbox /deny *S-1-5-32-545:(DE,WD,AD,WEA,WA)
icacls E:\Virtualbox /grant *S-1-5-11:(OI)(CI)(RX)
icacls E:\Virtualbox /deny *S-1-5-11:(DE,WD,AD,WEA,WA)
icacls E:\Virtualbox /grant *S-1-5-32-544:(OI)(CI)F /t /cicacls "E:\Virtualbox\sdk" /reset /t /c
icacls "E:\Virtualbox\sdk" /inheritance:d /t /c
icacls "E:\Virtualbox\sdk" /grant *S-1-5-32-544:(OI)(CI)F /t /c
执行完后,就可以正常安装了
作者有话说
这些问题主要是一步一步的问AI生成的,应该不是最优解,但是对于我这种小白来说网上没有找到好的解决方法,只能用这种方法了
欢迎有更好解决办法的朋友留言告知,有什么问题也可以留言