重新装入弹出的SD卡而无需重新插入


18

我使用冲洗适配器(自制的,类似于漂亮的minidrive)在macbook air中使用microSD卡进行额外存储。

为了节省电池,当我不使用它时,我使用/ etc / fstab禁用了自动挂载。但是有时候,我不小心弹出了它,而不是卸载了它(因为finder gui就是这样做的)。

弹出后,我知道要重新安装的唯一方法是取出卡适配器,然后再放回去。由于它是齐平的,因此需要回形针才能将其取出。

因此,我需要一种无需重新插入即可重新启用读卡器的方法。

在Windows中,可以使用Microsoft的devcon命令行工具,或转到设备管理器以禁用和启用读卡器,从而实现此目的。

必须有一种方法可以做到这一点,所以请不要仅说不​​可能就回答。

谢谢


1
我很高兴这不是您想听到的,但不幸的是,我认为一旦弹出磁盘(通过Finder,Disk Utility或使用diskutil),就无法重新挂载。如您所说,例如,如果您使用来卸载(而不是弹出)该磁盘diskutil unmountDisk,则可以随后简单地再次对其进行重新装载diskutil mountDisk。就是说,看看这个建议和替代应用程序的问题,以及(在评论中)使用卸载kexts的方法
binarybob 2012年

1
感谢内核模块卸载/重新加载的想法,这很合理。我不知道为什么我不记得这一点,它等效于Windows。
CoolkcaH 2012年

Answers:


3

Mountain提供了一项称为“重新安装USB存储器”的功能,可以执行您想要的操作。

这篇博客文章告诉您如何使用Mountain解决Nifty MiniDrive的常见问题,例如睡眠模式下的电池消耗,或者如何在弹出SD卡后重新连接SD卡。

最好的事情是Mountain安装了特权的帮助器工具,因此您不必每次都要重新安装驱动器时都输入管理员密码。另外,您可以将Mountain配置为在后台自动执行其工作。


2
链接可能会断开。请提供清晰的答案,以确保您的答案对未来的观看者来说长久/完整。
1英寸


22

在带有内置SD读取器的Mountain Lion上:

sudo kextunload -b com.apple.driver.AppleSDXC
sudo kextload -b com.apple.driver.AppleSDXC

我的Nifty驱动器在El Cap(10.11.4)中完美运行。当我的笔记本电脑电池没电并且进入休眠模式时,这非常有用,并且我想在重新插入驱动器后重新安装驱动器。(但不必重新启动。)
Craig Otis

HighSierra它说Kext com.apple.driver.AppleSDXC not found for unload request.
Necktwi

6

在终端输入:

sudo kextunload /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext; sudo kextload /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext

这将卸载并加载读卡器内核驱动程序,它将再次出现在diskutil中。

感谢binarybob的指针。


它不起作用HighSierra
Necktwi

为我工作了一次,但是现在运行它会崩溃并重新启动我的
Macbook

5

我已经根据Coolkah的解决方案构建了一个AppleScript:

显示对话框“您的管理员密码:”默认答案“”和隐藏答案
将PWD设置为结果返回的文本
做shell脚本“ sudo kextunload /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext; sudo kextload /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext”用户名“ your名称”密码具有管理员权限的PWD

太谢谢了!我发现此页面对于设置脚本非常有用。同样,自然地,您将代码的“您的名称”部分更改为计算机的名称,否则您的密码将被拒绝(我知道,我很愚蠢地尝试了)。 daiya.mvps.org/applescript.htm
PatrickT

为了澄清@PatrickT的评论:“您的名字”应该是您的用户帐户名,而不是您的计算机名(我知道,我很愚蠢地尝试;))。
Gilead 2014年

@Gilead,当场感谢您的纠正!我很愚蠢,无法将计算机的名称和用户帐户设置为相同的名称...
PatrickT 2014年

3

使用键盘快捷键弹出/重新安装(提示输入密码)

这基于Roadrunner(基于CoolkcaH)以及Apple使用Automator的指南。

如何使用Automator创建工作流

  1. 启动自动器

  2. 选择“服务”模板。

  3. 从库中选择“实用程序”,然后双击“运行AppleScript”。

  4. 要创建始终可用的服务,请选择:

“服务在[任何应用程序]中收到[无输入]”

在Automator屏幕的顶部。

  1. 键入以下AppleScript:

    在运行时{input,parameters}

    display dialog "Your Administrator Password:" default answer "" with hidden answer
    set PWD to text returned of the result
    do shell script "sudo kextunload /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext; sudo kextload /System/Library/Extensions/AppleStorageDrivers.kext/Contents/PlugIns/AppleUSBCardReader.kext" user name "[UserName]" password PWD with administrator privileges
    
    return input
    

    结束运行

[UserName]部分应用计算机的用户名/登录帐户替换。

  1. 使用唯一名称保存服务。该服务将保存在:

〜/图书馆/服务

  1. 添加键盘快捷方式。在“系统偏好设置”的“键盘”面板中,打开“键盘快捷方式”窗格。单击+号以添加新的快捷方式并找到服务的名称。通过双击服务名称的右侧来添加快捷方式。例如:command + option + F12(您可能想要避免可能会意外按下的键组合)。

根据我使用SD卡的1天经验,我想添加以下免费建议:转到Spotlight首选项,然后将SD卡添加到未建立索引的列表中:使用SD卡建立索引似乎可以容易出错:它会无限循环,它会复制一百万个扩展名为_的不可见文件。(或类似的东西),它每2分钟冻结一次光标,消耗掉电池的电量,并且以我的经验,它会过热,以至于SD卡被强行卸下,因此您需要重置SMC才能取回它。
PatrickT

为防止已安装的SD卡被Spotlight索引,我发现该线程底部的注释中描述的第四个方法可以“生存”卸载(在要排除的目录中创建一个名为.metadata_never_index的文件):tekrevue。 com / tip /…
PatrickT 2014年

1

我将TheMiniDrive与microSD卡(类似于Nifty)一起使用。在配备Retina并内置SD卡读卡器的2012年末的13英寸MacBook上运行Mavericks。

CoolkcaH的解决方案卸载/加载AppleUSBCardReader.kext在我的测试中没有做任何事情。

但是,Mark Aufflick的解决方案卸载/加载com.apple.driver.AppleSDXC确实在一个步骤中重新安装了弹出的SD卡,而无需转到“磁盘工具”。我根据PatrickT的解决方案使用了Automator,并用Mark Aufflick的代码简单地替换了CoolkcaH的代码。这是我用来替换Automator中Patrick的完整代码(同样,请确保将[UserName]替换为您的实际用户名):

on run {input, parameters}

        display dialog "Your Administrator Password:" default answer "" with hidden answer
        set PWD to text returned of the result

        do shell script "sudo kextunload -b com.apple.driver.AppleSDXC; sudo kextload -b com.apple.driver.AppleSDXC" user name "[UserName]" password PWD with administrator privileges

    return input
end run

0

可能是我在网上看到的最好的解决方案:

卸载连接的硬盘驱动器

diskutil unmount /dev/disk2s1

Volume VM Drive on disk2s1 unmounted

注意我们如何使用unmount命令。我们需要使用完整路径(即/ dev / disk2s1)指定分区的位置。

安装连接的硬盘驱动器。要再次安装驱动器,而不必将其取出再重新插入,我可以发出以下命令:

diskutil mount /dev/disk2s1

Volume VM Drive on /dev/disk2s1 mounted

学分


这对于SD卡不起作用,一旦弹出SD卡,就需要对其进行物理重新插入。(除非您在此页面上使用其他解决方案,否则)
Matt Sephton

实际上,就我而言,我不需要手动重新读取sd卡,我只需使用以下代码进行安装和卸载即可
获取Jet

0

高山区的地点

这将重新加载SDXC阅读器。

$ sudo kextunload /System/Library/Extensions/AppleSDXC.kext; sudo kextload /System/Library/Extensions/AppleSDXC.kext
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.