如何禁用USB自动挂载


14

我在MBP上使用VirtualBox,经常需要将USB闪存驱动器安装在客户机中。我遇到的问题是,主机操作系统(OS X Mavericks)在插入USB闪存驱动器后会立即挂载它。当我尝试卸载(通过Finder优雅地)时,OS X抱怨该设备正在使用中。对lsof的进一步研究表明,Spotlight和AVG正在使用闪存驱动器。

我只想修改主机操作系统的行为,以使USB设备不会自动挂载,而不是摆弄单个应用程序设置。有什么建议么?


如果有人进行了修改,那就太好了,但是与此同时,您可以使用终端强制卸载。diskutil unmount force disk1s2另外,如果选择的文件系统不能将Spotlight编入索引或将该驱动器排除在Spotlight首选项中,则可以通过快速更改设置来减少延迟和开销。
bmike

1
我建议您测试Disk Arbitrator:apple.stackexchange.com/a/39360/22003。这将保护您免受Spotlight,反病毒和攻击。
2015年

Answers:


7

根据CNETTopher Kessler的文章,您可以将条目添加到/etc/fstab,以指定noauto选项。

这样的条目可能看起来像这样:

UUID=791E37B4-82A3-37E7-9F15-3C39359126B4   none  hfs  rw,noauto

可以通过Volume UUID在运行时查找打印的行来获取UUID 。diskutil info /Volumes/volume name


我在〜/ bin /目录中有此chmod + x(可执行文件)。 gist.github.com/voltechs/fc48c9683d50c7c03cab2f0a6477d8da 又见(apple.stackexchange.com/a/310669/43769
VoLTE的

呃... / etc / fstab不存在!
迈克尔

6

OS X具有一种称为“ 磁盘仲裁”框架的机制,通过该机制,程序可以控制在插入或弹出磁盘时发生的情况。它还提供了拦截磁盘插入事件并防止通常的自动安装行为的机会。

但是,更改行为需要第三方实用程序,因为磁盘仲裁框架只是一个编程接口。一个不错的实用程序是Disk Arbitrator,它是Aaron Burghardt提供的免费(BSD许可)工具。

磁盘仲裁器的屏幕截图

当Disk Arbitrator运行时,您可以选择否决新插入磁盘的安装,以只读方式安装它们,或者只是进行正常的自动安装。退出磁盘仲裁程序后,将恢复正常的安装行为。


1

我认为修改fstab以关闭自动挂载对于您尝试执行的操作来说有点多余。就像打开车门一样,因为您不时需要进出车门。

为此,我将使用VirtualBox的内置USB过滤器。这样,您可以在插入时自动安装特定的USB设备。您可以在要为其分配特定虚拟机的“设置”菜单下找到USB过滤器。

例如,下面列出了我的USB设备,如果我想将其自动连接到Windows 10 Pro VM,这些设备可用。我可以连接Seagate FreeAgent Go,SanDisk Cruzer或任何连接的USB设备。但是,连接Logitech USB接收器最终会使鼠标在主机上无法操作,因此请小心连接。

在此处输入图片说明

我怎么知道这有效?好吧,我意外地连接了FreeAgent Go驱动器,并且(据我所知)它无法安装在OS X中。请参阅我原来的“问题”:USB驱动器将无法 安装,未在磁盘实用程序中列出,但在System Profiler中找到了

它是通过序列号或UUID来完成的(我还没有进行足够的调查来弄清楚哪一个),但是我有几个型号和大小完全相同的FreeAgent Go驱动器,只有一个可以自动连接到VM。当时,我以为我的硬盘坏了。

最重要的是,自动挂载仍然有效,而且我能够将USB设备直接连接到VM,而不必经历先卸载它的麻烦。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.