Есть ли способ отключить жесткий диск USB вручную?

11

У меня есть внешний жесткий диск с питанием от USB, подключенный к моему ноутбуку DELL. Иногда после нажатия на «Безопасное удаление» пункта во всплывающем меню его значка на боковой панели, диск не монтируется и удаляется из /dev/папки ( sdbи sdb1оба удаляются) и lsusbне показывает устройство, но жесткий диск продолжает вращаться, и я чувствую вибрацию, положив на нее палец. Но несколько раз через несколько секунд после нажатия кнопки «Безопасное удаление» он останавливается и не вибрирует. Есть ли способ (может быть команда CLI), чтобы отключить его?

Учитель PHP
источник

Ответы:

14

Попробуй это:

udisksctl unmount -b /dev/sdXY
udisksctl power-off -b /dev/sdX

на Linux Mint или Ubuntu

user742999
источник
1
Ошибка при отключении питания: Используемый диск: устройство / dev / sdd1 установлено (udisks-error-quark, 14)
Elder Geek,
3
Как вы, наверное, знаете, вам просто нужно сначала размонтировать его @ElderGeek ... Я отредактировал, чтобы исправить, тем более что здесь нет другого ответа, использующего, udisksctlнасколько я вижу. Если вы не согласны с этим, пожалуйста, не стесняйтесь откат и т. Д.
Zanna
Это правильный ответ. Я долго задавался вопросом, что это было! Оказывается, диски управляются udisks, который управляется udisksctl.
Маркус
13

Запуск hdparm -y /dev/sdbот имени root приведет к остановке вращения диска. Если что-то получит доступ к диску, оно снова раскрутится.

Страница man предполагает, что это полезно только для дисков IDE. Однако я проверил, что он работает с USB-накопителем, подключенным к Dell, работающему 14.04. Страница man говорит, что команда обычно приводит к замедлению диска, что предполагает наличие некоторых дисков, которые не будут вращаться при выполнении этой команды.

kasperd
источник
Может ли эта команда вызвать какие-либо проблемы для моего диска или моих данных (см. Ответ от пользователя 283885)?
PHP Learner
@PHPLearner Это предупреждение против отключения привода до того, как все будет записано. Это предупреждение применяется независимо от того, вращается диск или нет. Однако всегда полезно убедиться, что все записано до того, как диск будет запущен. Вы можете напечататьsync ; hdparm -y /dev/sdb
kasperd
2
Я прихожу к выводу, что если я бегу, sync ; hdparm -yто не о чем беспокоиться о диске или данных на диске. Я мог бы отключить диск в любое время мне нравится?
PHP Learner
2
@PHPLearner Вы все равно должны сначала убедиться, что диск отключен.
Касперд
3

Если ваш рабочий стол делает что-то подозрительное, вы всегда можете использовать резервный терминал.

sudo umount /dev/sdXY
# (this will umount, it will complain on opened files, if so lsof and see which ones.)
sudo sync  
# ( this flushes all buffers to disk. It will ensure that no data is lingering in ram.)
sudo eject /dev/sdX
# ( this works on dvd/cds and some, not all usb devices, it detaches the device from the port. Some devices "get smart" and try to reset and readd themselves to the disk, however all caches are clean and safe to unplug).

С другой стороны, если устройство не идентифицировано как блочное устройство по USB, вы можете использовать sdparm или hdparm на этом устройстве для парковки головок, если это необходимо, однако использование таких инструментов не приведет к переполнению буферов. И если вы забудете, что устройство спит и выдернули питание, вы можете испортить ваши данные.

user283885
источник
Что касается повреждения данных, если я использую hdparm -fFy, гарантирует ли это, что повреждение данных не произойдет?
PHP Learner
1
Делать umount, syncи ejectне ждущий диск и не удалить диск значок из панели задач. Кажется, что эти команды отличаются от «Безопасное удаление». Но hdparm -yостановите вращение диска только перед «Безопасным извлечением», но мне нужно выключить его (прекратить вращение) после «Безопасного извлечения». Я думаю, что лучше задать правильный вопрос в новом вопросе .
Ученик PHP
Как сказал Learner, упомянутое комбо гарантирует, что никакие данные не задерживаются и диск можно отключить. Жесткие диски будут использовать оставшееся вращение диска в качестве динамо, чтобы генерировать достаточно энергии, чтобы припарковать голову, так что вы в безопасности, просто дергая шнур, пока вы не покачиваете диск. Linux - очень либертарианская операционная система, и она не остановит вас перед тем, как записать данные в памяти на диск, чтобы вы могли отключить питание , поэтому вы можете застрелиться в ноге. Однако, если вы все еще не чувствуете себя комфортно, потянув за шнур, вы можете выключить его с помощью hdparm после промывки.
user283885
В случае, когда eject удаляет жесткий диск из / dev, вы можете отключить usb-порт, к которому подключен жесткий диск, как описано здесь stackoverflow.com/questions/4702216/…, который на самом деле совпадает с дерганием шнура. Опять же, хитрость заключается в том, чтобы привод вращался без ударов в течение 30 секунд. Вы можете аккуратно положить ладонь на нее и почувствовать, что она все еще гудит. Если нет, то это безопасно двигаться.
user283885
@Fabby Некоторые ответы научили меня хорошим новым вещам, но ни один из них не показал способ отключить «Безопасное извлечение» жесткого диска. Все команды работают только до «Безопасного удаления», поэтому я не принял ни одной!
PHP Learner
2

Попробуйте утилиту Disks - это должно быть где-то в вашем меню (в моем случае под Accessories ). Вы также можете запустить его из терминала, запустив

gnome-disks

... затем выберите диск, и вы увидите кнопку питания в правом верхнем углу окна с всплывающей подсказкой «Выключить диск» .

netgenius.co.uk
источник
0

Отключите USB-кабель должен сделать это. Если нет, то подключите его снова и снова безопасно извлеките, пока он не отключится.

psusi
источник
Даже если это звучит странно, «вручную» в вопросе означает «автоматически».
EnzoR
На самом деле это единственный ответ, который гарантированно работает со ВСЕМИ «безопасно удаленными» блочными USB-устройствами. Выполнение команды режима ожидания через hdparm не всегда приводит к остановке каждого диска, равно как и к другим подходам, не включающим этот шаг.
Старейшина Гик
0

Вот как я это делаю на Linux Mint 17.3

  1. Перечислите ваши диски с разделами и убедитесь, что вы выбрали правильный диск

    lsblk
    
  2. Размонтируйте все смонтированные разделы диска, например, с помощью этого шаблона команды

    sudo umount /dev/sdXY
    

    где X - буква вашего диска, а Y - номер раздела, который вы хотите отключить.

  3. Стоп HDD

    udisks --detach /dev/sdX
    
  4. Отключите USB-кабель

gumkins
источник
-1

У меня есть три одинаково правильных решения, из которых вы можете выбрать.

Мое личное решение - купить концентратор с переключателем питания для каждого порта. Я нахожу это удивительно удобным. Насколько я помню, это стоило всего около 6 долларов на Amazon. Я посмотрю, смогу ли я найти вам предмет для продажи, прежде чем опубликовать это, но достаточно сказать, что такое доступное устройство существует. Нашел это!

В этом другом обсуждении было определено, что есть команда терминала, которая может использоваться для буквального отключения питания от выбранных USB-портов. Вопрос возник, потому что пользователь, который задал вопрос, использовал планшет с батарейным питанием, а его невнимательные коровники подключали свои мобильные телефоны для зарядки, разряжая его батарею. Проверьте парня, который нашел решение! ;-)

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

gyropyge
источник