Como ligar um disco rígido externo após desligá-lo?

17

Quando eu "removo" com segurança um disco rígido externo do meu gerenciador de arquivos (Thunar), todo o disco rígido é desligado e desaparece /dev. Portanto, acho que, sob o capô, isso é feito chamando udisksctl power-off -b /dev/sdXque tem o mesmo efeito.

Eu pensei que deveria ser possível trazer o dispositivo novamente. Depois de ler /programming//a/12675749 , pensei que talvez o desligamento seja feito escrevendo para /sys/bus/usb/devices/usbX/power/control, mas o sysfs parece permanecer intocado.

Então, como é possível ligar um dispositivo externo novamente após desligá-lo com o udisksctl? Para mim, é chato não poder montar novamente uma partição depois de desmontá-la do gerenciador de arquivos.

Binabik
fonte
5
A abordagem de desacoplamento / religação descrita aqui funciona. No entanto, tem o efeito colateral indesejável de redefinir todos os outros dispositivos nesse controlador USB. Isso é ruim se você tiver, digamos, outro disco rígido USB que estiver acessando - você receberá erros de E / S e uma remontagem indesejada somente leitura.
Nate Eldredge
1
Dê uma olhada nesta resposta . Tem muitas informações úteis que podem ser úteis para você.
Masoud Gheysari
3
Com algum risco de perguntar o óbvio, é desconectado / reconectado ao dispositivo externo uma opção? Ou se houver um interruptor físico, desligando e ligando novamente? A primeira opção é algo que, para mim, acaba de se tornar um tipo quase diário de "segunda natureza".
Jim
1
@ Jim, é o que eu faço quase todos os dias também. Mas continua sendo irritante.
Binabik
1
@Binabik eu ouço você. O Windows é o mesmo se você usar o recurso "remoção segura".
Jim

Respostas:

3

Se o Thunar estiver se comportando como udisksctl power-off, então ele está usando usb_remove_store () .

Isso significa que Thunar está sendo incompatível com o Microsoft Windows. Você pode simplesmente usar eject /dev/sdXna linha de comando para permitir que o hardware seja removido com segurança. A única diferença é que a luz do LED não se apaga. Para cancelar a ejeção, use eject -t /dev/sdX.

Aqui está uma citação de Alan Stern (que realmente escreveu o código do kernel do Linux que executa a opção "remover"):

De fato, o atributo "remover" funciona para qualquer dispositivo USB, pois tudo o que faz é desativar a porta upstream. Mas normalmente ele é destinado apenas a dispositivos de armazenamento em massa. Eu diria que é necessário apenas para dispositivos de armazenamento em massa, mas isso não está correto - não é necessário . Seu principal objetivo é fazer com que as pessoas que foram condicionadas pelo Windows se sintam mais confortáveis, desativando um LED no dispositivo para indicar que a remoção agora é segura.

hackerb9
fonte