заново установить извлеченную SD-карту без повторной установки

18

Я использую карту microSD в моем MacBook Air для дополнительного хранения, используя флэш-адаптер (самодельный, похожий на изящный мини-привод).

Чтобы сэкономить батарею, когда я ее не использую, я отключил автоматическое монтирование, используя / etc / fstab. Но иногда я случайно извлекаю его вместо размонтирования (потому что это то, что делает интерфейс поиска).

После извлечения я знаю, что единственный способ перемонтировать - вынуть адаптер карты и вставить его обратно. Так как он находится на одном уровне, мне нужна скрепка, чтобы вынуть его.

Поэтому мне нужен способ повторно включить кард-ридер без необходимости повторной установки.

В Windows это возможно с помощью инструмента командной строки devcon от Microsoft, или перейдите в диспетчер устройств, отключив и включив устройство чтения карт.

Должен быть способ сделать это, поэтому, пожалуйста, не отвечайте, просто сказав, что это невозможно.

Благодарность

CoolkcaH
источник
1
Я ценю это не то, что вы хотите услышать, но, к сожалению, я не думаю, что есть способ перемонтировать, как только вы извлекли диск (либо с помощью Finder, Disk Utility или с помощью diskutil). Как вы говорите, если вы, например, размонтируете этот диск (а не извлекаете его) diskutil unmountDisk, тогда вы можете просто перемонтировать его снова с помощью diskutil mountDisk. Тем не менее, взгляните на этот вопрос, который предлагает и альтернативное приложение и (в комментариях) способ сделать это с помощью разгрузки kexts
binarybob
1
Спасибо за идею выгрузить / перезагрузить модуль ядра, это имеет смысл. Я не знаю, почему я не вспомнил об этом, это эквивалентно способу Windows.
CoolkcaH

Ответы:

3

Mountain предоставляет функцию под названием «Remount USB Storages», чтобы делать то, что вы хотите.

В этой статье блога рассказывается, как использовать Mountain для решения типичных проблем с Nifty MiniDrive, таких как разрядка аккумулятора в спящем режиме, или как заново подключить SD-карту после ее извлечения.

Лучше всего то, что Mountain устанавливает привилегированный вспомогательный инструмент, поэтому вам не нужно вводить пароль администратора каждый раз, когда вы хотите перемонтировать диск. Также вы можете настроить Mountain на автоматическое выполнение своей работы в фоновом режиме.

Ян Линксвайлер
источник
2
Ссылки могут сломаться. Пожалуйста, дайте четкий ответ, чтобы обеспечить долголетие / целостность вашего ответа для будущих зрителей.
1 ''
1
Гора сдвинулась - appgineers.de/mountain
Дейв Нунан,
22

On Mountain Lion со встроенными считывателями SD:

sudo kextunload -b com.apple.driver.AppleSDXC
sudo kextload -b com.apple.driver.AppleSDXC
Марк Ауффлик
источник
Прекрасно работает в El Cap (10.11.4) с моим отличным приводом. Очень полезно, когда батарея моего ноутбука разряжается, и она переходит в режим гибернации, и я хочу перемонтировать диск после подключения. (Но без перезагрузки.)
Крейг Отис
В 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.

Спасибо бинарному бобу за указатели.

CoolkcaH
источник
Это не сработало вHighSierra
Necktwi
Когда-то это
Cyberwiz
5

Я создал AppleScript из решения Coolkah:

отобразить диалоговое окно «Ваш пароль администратора:« ответ по умолчанию »» со скрытым ответом
установить PWD на текст, возвращенный результата
Сценарий do оболочки имя "пароль PWD с правами администратора
Roadrunner
источник
Большое спасибо! Я нашел эту страницу очень полезной при настройке скрипта. Также, естественно, вы сильно меняете часть кода «ваше имя» на имя вашего компьютера, в противном случае ваш пароль будет отклонен (я знаю, я был достаточно глуп, чтобы попытаться). daiya.mvps.org/applescript.htm
PatrickT
Чтобы уточнить комментарий @PatrickT: «ваше имя» должно быть именем вашей учетной записи пользователя , а не именем вашего компьютера (я знаю, я был достаточно глуп, чтобы попытаться;)).
Галаад
@Gilead, обратите внимание, спасибо за исправление! Я был достаточно глуп, чтобы установить имя моего компьютера и имя пользователя на одно и то же имя ...
PatrickT
3

Извлечь / перемонтировать с помощью сочетания клавиш (запрашивает пароль)

Это основано на Roadrunner, который был основан на CoolkcaH, и на основе руководства Apple по использованию Automator.

Как создать рабочий процесс с Automator

  1. Запустить Automator

  2. Выберите шаблон «Сервис».

  3. Выберите «Утилиты» из библиотеки и дважды щелкните «Запустить AppleScript».

  4. Чтобы создать сервис, который всегда доступен, выберите:

«Сервис не получает [никакого ввода] в [любое приложение]»

в верхней части экрана Automator.

  1. Введите следующий AppleScript:

    при запуске {вход, параметры}

    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. Сохраните сервис с уникальным именем. Сервис будет сохранен в:

~ / Library / Услуги

  1. Добавьте сочетание клавиш. Откройте панель «Сочетания клавиш» на панели «Клавиатура» в Системных настройках. Нажмите на знак +, чтобы добавить новый ярлык и найти название службы. Добавьте ярлык, дважды щелкнув справа от названия службы. Пример: команда + опция + F12 (вы можете избежать комбинации клавиш, которая может быть случайно нажата).
PatrickT
источник
Я хотел бы добавить следующие бесплатные советы, основываясь на моем 1-дневном опыте с SD-картой: перейдите в Spotlight Preferences и добавьте SD-карту в список вещей, которые НЕ нужно индексировать: похоже, индексация с помощью SD-карты быть багги: он идет бесконечным циклом, он копирует миллион невидимых файлов с расширением _. (или что-то в этом роде), он вызывает зависание курсора каждые 2 минуты, он разряжает батарею и, по моему опыту, нагревает так сильно, что SD-карта отключается принудительно, и вам необходимо перезагрузить SMC, чтобы вернуть его обратно.
PatrickT
Чтобы предотвратить индексацию подключенной SD-карты с помощью Spotlight, я обнаружил, что четвертый метод, описанный в комментариях внизу этого потока, позволяет «выжить» размонтированию (создайте файл с именем .metadata_never_index в каталоге, который вы хотите исключить): tekrevue. com / tip /…
PatrickT
1

Я использую TheMiniDrive с картой памяти microSD (аналогично Nifty). Запуск Mavericks на 13-дюймовом MacBook, выпущенном в конце 2012 года, с Retina и встроенным устройством чтения карт SD.

Решение CoolkcaH по выгрузке / загрузке AppleUSBCardReader.kext ничего не дало в моих тестах.

Однако решение Mark Aufflick по выгрузке / загрузке com.apple.driver.AppleSDXC перемонтировало извлеченную SD-карту за один шаг, не обращаясь к Дисковой утилите. Я использовал Automator в соответствии с решением PatrickT и просто заменил код CoolkcaH на код Марка Ауффлика. Вот весь код, который я использовал для замены Патрика в Automator (опять же, обязательно замените [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
BerkeleyBernie
источник
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

кредиты

Get Jet
источник
Это не работает для SD-карт, после их извлечения их необходимо физически повторно установить. (Если вы не используете другое решение на этой странице)
Matt Sephton
На самом деле, в моем случае мне не нужно вручную переустанавливать SD-карту, я просто монтирую и размонтирую ее с помощью этого кода
Get Jet
0

Места перемещены в Высокой Сьерре

Это перезагрузит считыватель SDXC.

$ sudo kextunload /System/Library/Extensions/AppleSDXC.kext; sudo kextload /System/Library/Extensions/AppleSDXC.kext
Роберт В. Миллер
источник