Existe alguma maneira de desligar um HDD USB manualmente?


10

Eu tenho um disco rígido externo alimentado por USB conectado ao meu laptop DELL. Algumas vezes, depois de clicar no item "Remover com segurança" no menu pop-up do seu ícone na barra lateral, a unidade não é montada e é removida da /dev/pasta ( sdbe sdb1ambas são removidas) e lsusbnão mostra o dispositivo, mas o HDD continua girando e eu pude sentir a vibração colocando meu dedo nela. Mas algumas vezes, alguns segundos depois de clicar em "Remover com segurança", ele para de girar e não tem vibração. Existe alguma maneira (pode haver um comando da CLI) de desativá-lo?

Respostas:


13

A execução hdparm -y /dev/sdbcomo raiz fará com que o disco pare de girar. Se alguma coisa acessar o disco, ele girará novamente.

A página do manual sugere que isso é útil apenas para unidades IDE. No entanto, eu testei que ele funciona com uma unidade USB conectada a um Dell executando o 14.04. A página de manual diz que o comando normalmente fará com que a unidade seja desativada, o que sugere que existem algumas unidades que não serão desativadas quando esse comando for emitido.


Esse comando pode causar algum problema para minha unidade ou meus dados (consulte a resposta do usuário283885)?
PHP Learner

@PHPLearner Isso é um aviso contra desconectar a unidade antes que tudo tenha sido escrito. Esse aviso se aplica independentemente de a unidade estar girando ou não. No entanto, é sempre uma boa idéia garantir que tudo tenha sido gravado antes que o disco seja girado. Você pode digitarsync ; hdparm -y /dev/sdb
kasperd

2
Concluo que, se eu correr, sync ; hdparm -ynão há nada para se preocupar com a unidade ou com os dados na unidade. Posso desconectar a unidade a qualquer momento?
PHP Learner

2
@PHPLearner Você ainda deve garantir que a unidade seja desmontada primeiro.
kasperd

13

Tente o seguinte:

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

no Linux Mint ou Ubuntu


11
Energização de erro off drive: A unidade em uso: Dispositivo / dev / sdd1 é montado (udisks-error-quark, 14)
Elder Geek

3
Como você provavelmente sabe, você só precisa desmontá-lo primeiro @ElderGeek ... Editei para corrigir, principalmente porque não há outra resposta aqui usando udisksctlaté onde posso ver. Se você não concordar com isso, sinta-se livre para reverter etc
Zanna

Essa é a resposta correta. Há muito tempo me perguntei o que era! Acontece que os discos são gerenciados por udisks, controlados pelo udisksctl.
Marcus

3

Se sua área de trabalho faz algo suspeito, você sempre usa o fallback no terminal.

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).

Por outro lado, quando um dispositivo não for identificado como um dispositivo de bloco no USB, você poderá usar sdparm ou hdparm nesse dispositivo para estacionar as cabeças, se assim o desejar, no entanto, o uso dessas ferramentas não piscará em buffers. E se você esquecer que o dispositivo está dormindo e puxar a energia, poderá corromper seus dados.


Sobre corrupção de dados, se eu usar hdparm -fFyisso garante que nenhuma corrupção de dados ocorrerá?
PHP Learner

11
Fazendo umount, synce ejectnão ligar para baixo a unidade e não remove ícone da unidade de barra de tarefas. Parece que esses comandos diferem de "Remover com segurança". Mas hdparm -ypare a unidade girando apenas antes de "Remover com segurança", mas preciso desativá-la (pare de girar) depois de "Remover com segurança". Eu acho que é melhor fazer a pergunta certa em uma nova pergunta .
PHP Learner

Como o aluno disse, a combinação mencionada garante que não há dados remanescentes e a unidade pode ser desconectada. Os discos rígidos usarão o giro rotacional restante do prato como um dínamo para gerar energia suficiente para estacionar a cabeça, para que você esteja seguro em apenas puxar o cabo, desde que não mexa na unidade. O Linux é um sistema operacional muito libertário e não o impedirá de desligar sua unidade antes de liberar os dados da memória em disco, para que você possa dar um tiro no pé. No entanto, se ainda não se sentir confortável ao puxar o cabo, você poderá desligar o hdparm após a lavagem.
user283885

No caso em que a ejeção remove o disco rígido de / dev, você pode desligar a porta USB à qual o disco rígido está conectado, conforme descrito aqui stackoverflow.com/questions/4702216/…, que é realmente o mesmo que puxar o cabo. Novamente, o truque é deixar a unidade girar para baixo sem choques por cerca de 30 segundos. Você pode gentilmente colocar a palma da mão em cima dela e sentir se ainda está zumbindo. Caso contrário, é seguro mover-se.
User283885

@Fabby Algumas das respostas estavam me aprendendo coisas boas, mas nenhuma delas mostra uma maneira de desativar o disco rígido "Removido com segurança". Todos os comandos funcionam apenas antes de "Remover com segurança", portanto, não aceitei nenhum!
PHP Learner

2

Experimente o utilitário Disks - que deve estar no seu menu em algum lugar (no meu caso em Acessórios ). Você também pode iniciá-lo a partir de um terminal executando

gnome-disks

... selecione o disco e você verá um botão liga / desliga no canto superior direito da janela, com a dica de ferramenta "Desligar a unidade" .


0

Desconecte o cabo USB. Caso contrário, conecte-o novamente e remova-o com segurança até ficar desligado.


Mesmo que pareça estranho, "manualmente" em questão significa "automaticamente".
EnzoR

Esta é realmente a única resposta garantida para trabalhar com TODOS os dispositivos de bloco USB "removidos com segurança". Emitir um comando em espera via hdparm nem sempre diminui a velocidade de todas as unidades, nem qualquer outra abordagem que não inclua esta etapa.
Elder Geek

0

É assim que faço isso no Linux Mint 17.3

  1. Liste suas unidades com partições e certifique-se de selecionar a unidade adequada

    lsblk
    
  2. Desmonte todas as partições montadas do disco, por exemplo, com este padrão de comando

    sudo umount /dev/sdXY
    

    onde X é a letra da sua unidade e Y é o número da partição que você deseja desmontar.

  3. Stop hdd

    udisks --detach /dev/sdX
    
  4. Desconecte o cabo USB


-1

Eu tenho três soluções igualmente válidas, das quais você pode escolher.

Minha solução pessoal é comprar um hub de uso com um comutador de energia para cada porta. Acho incrivelmente útil. Se bem me lembro, custou apenas cerca de US $ 6 na Amazon. Vou ver se consigo encontrar o item à venda antes de publicá-lo, mas basta dizer que existe um dispositivo tão acessível. Encontrei!

Em esta outra discussão foi determinado que existe um comando terminal que pode ser usado para literalmente desativar o poder de selecionar portas USB. A pergunta surgiu porque o usuário que fazia a pergunta estava usando um tablet operado por bateria e seus insignificantes colegas de vaca estavam conectando seus telefones celulares para carregar, gastando sua bateria. Confira o cara que descobriu a solução! ;-)

Por fim, dependendo talvez da marca e dos recursos da unidade, deve haver um comando "spin down" que você pode enviar para a unidade antes de desmontá-la. Eu nunca usei esse comando manualmente, mas nos dias do DOS, antes que os recursos de economia de energia fossem um lugar comum, era assim que você precisava fazer isso, então é lógico que existe uma maneira de fazê-lo hoje e imaginá-lo pode ser tão fácil quanto escrever para o fabricante da unidade, consultar o site ou pesquisar a pergunta correta, como "comando de rotação para discos rígidos". Eu não mantenho a seguinte solução. Eu fiz uma pesquisa casual e encontrei isso . Sua milhagem pode variar. Deixe-me saber se funciona para você.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.