使用 Wubi 迁移脚本并启动我的 Ubuntu 安装后,当我插入 USB 闪存驱动器时,我收到一条提示,提示“无法打开 PENDRIVE 的文件夹。没有注册应用程序来处理此文件。”如果我尝试从启动器打开驱动器,什么也不会发生。
知道为什么会发生这种情况吗?
答案1
这与 ACL(访问控制列表)有关。我不确定问题何时开始(我认为是版本 12.10),但具有讽刺意味的是,上周我遇到了这个问题,所以我知道该寻找什么。
无论如何,下面是详细信息...如果你检查 Wubi 安装上的访问控制列表,它看起来像这样:
# file: media/bcbc
# owner: root
# group: root
user::rwx
user:bcbc:r-x
group::---
mask::r-x
other::---
而在迁移安装中它看起来像这样:
bcbc@23:34:50:~$ getfacl /media/bcbc
getfacl: Removing leading '/' from absolute path names
# file: media/bcbc
# owner: root
# group: root
user::rwx
group::r-x
other::---
正如你所见,它缺少这个:user:bcbc:r-x
解决方案
最简单的解决方案是删除目录,因为它会自动重新创建(用您的用户名代替bcbc
):
sudo rmdir /media/bcbc
或者您可以通过运行以下命令简单地恢复 ACL(再次替换您的用户名,两次):
sudo setfacl -m u:bcbc:rx /media/bcbc
它看起来是这样的:
bcbc@23:34:53:~$ sudo setfacl -m u:bcbc:rx /media/bcbc
[sudo] password for bcbc:
bcbc@23:35:42:~$ getfacl /media/bcbc
getfacl: Removing leading '/' from absolute path names
# file: media/bcbc
# owner: root
# group: root
user::rwx
user:bcbc:r-x
group::r-x
mask::r-x
other::---
bcbc@23:35:44:~$
我已将其标记为迁移脚本中的一个问题(维基百科和github),并将在下一版本中修复它,可能需要向命令-A
中添加选项rsync
以跨访问控制列表进行复制。