Как включить внешний жесткий диск после его отключения?

17

Когда я «безопасно извлекаю» внешний жесткий диск из моего файлового менеджера (Thunar), весь жесткий диск выключается и исчезает из него /dev. Поэтому, я думаю, что под капотом это делается путем вызова, udisksctl power-off -b /dev/sdXкоторый имеет тот же эффект.

Я думал, что как-то должно быть возможно снова включить устройство. Прочитав /programming//a/12675749 , я подумал, что выключение может быть сделано путем записи /sys/bus/usb/devices/usbX/power/control, но sysfs, похоже, остается нетронутым.

Итак, как можно снова включить внешнее устройство после его отключения с помощью udisksctl? Меня раздражает, что я не могу перемонтировать раздел после размонтирования его из файлового менеджера.

Binabik
источник
5
Описанный здесь подход unbind / rebind работает. Тем не менее, он имеет нежелательный побочный эффект сброса всех других устройств на этом контроллере USB. Это плохо, если у вас есть, скажем, другой жесткий диск USB, к которому вы обращаетесь - вы получаете ошибки ввода-вывода и нежелательный перемонтирование только для чтения.
Нейт Элдридж
1
Посмотрите на этот ответ . Он имеет много полезной информации, которая может быть полезна для вас.
Масуд Гейсари
3
При некотором риске спрашивать об очевидном, является ли отключение / повторное подключение внешнего устройства вариантом? Или, если есть физический выключатель питания, выключающий и снова включающий? Первый вариант - это то, что для меня стало почти ежедневной вещью "второй натуры".
Джим
1
@ Джим, этим я тоже занимаюсь почти каждый день. Но это остается раздражающим.
Бинабик
1
@Binabik Я тебя слышу. Windows то же самое, если вы используете функцию «безопасного удаления».
Джим

Ответы:

3

Если Thunar ведет себя как udisksctl power-off, то он использует usb_remove_store () .

Это означает, что Thunar несовместим с Microsoft Windows. Вы можете просто использовать его eject /dev/sdXиз командной строки, чтобы разрешить безопасное удаление оборудования. Разница лишь в том, что светодиод не гаснет. Чтобы вытащить, используйте eject -t /dev/sdX.

Вот цитата Алана Стерна (который фактически написал код ядра Linux, который выполняет опцию «удалить»):

Фактически, атрибут «удалить» работает для любого USB-устройства, поскольку все, что он делает, это отключает входящий порт. Но обычно он предназначен только для устройств хранения данных. Я собирался сказать, что это нужно только для устройств хранения данных, но это не правильно - это вообще не нужно . Его основная цель - сделать так, чтобы люди, находящиеся под управлением Windows, чувствовали себя более комфортно, отключив светодиод на устройстве, чтобы показать, что удаление теперь безопасно.

hackerb9
источник