Hmm, eu vi ejetar o disco rígido como em / dev / sda em algum lugar. Acho que a referência estava errada então.
31512 Joe
Você pode fazer isso, mas geralmente não faz muito, se é que alguma coisa.
Ignacio Vazquez-Abrams
11
Isso pressupõe que o dispositivo esteja montado em primeiro lugar e que carrega outro grande conjunto de suposições (ele possui um sistema de arquivos que você pode ler, por exemplo). Imagine que você está apagando várias unidades externas - elas provavelmente nunca são montadas. ejetar é a coisa certa a usar.
James Moore
11
Se estou sempre inseguro, eu syncantes de arrancá-lo fora
EkriirkE
Grande, gordo AVISO: Isso NÃO é completamente verdade. Caso contrário eject, o driver de dispositivo USB subjacente ainda pode (tentar) escrever APÓS o umountretorno. Isso pode ser visto claramente se a unidade tiver um LED de status. Puxar o pendrive logo após o umounttérmino é RECEITA DE DESASTRE.
ZioByte 11/09
77
Sim. Por exemplo:
sudo eject /dev/sda
Outras respostas aqui que indicam que você precisa de hardware de ejeção mecânica estão incorretas.
Desmontar não é a mesma coisa que ejetar.
Se você desmontar um volume, poderá montá-lo imediatamente, pois o dispositivo subjacente ainda está disponível. Em algumas situações, isso pode representar um risco de segurança. Ao ejetar o dispositivo, apenas uma redefinição do subsistema USB (por exemplo, uma reinicialização) recarregará o dispositivo.
Ao ejetar o dispositivo, você efetivamente desabilita qualquer acesso adicional ao dispositivo. Somente uma redefinição do subsistema USB (por exemplo, uma reinicialização) recarregará o dispositivo. Caso contrário, você deve desconectar fisicamente o dispositivo USB e reconectá-lo para acessá-lo novamente.
Antes de ejetar, este comando desmontará todos os volumes no dispositivo que foi montado.
Se os volumes estiverem em uso, esse comando falhará como na desmontagem, exceto que alguns volumes podem ser desmontados e alguns volumes podem permanecer montados.
Eu também tive que usar sudopara concluir este comando (tudo o que faria era desmontar a unidade antes de dizer que não era possível abrir o arquivo). Fora isso, resposta útil.
GDP2 31/01
Resposta subestimada neste tópico. Basta olhar para um pen drive montado no FAT32 e observe como a desmontagem e a ejeção têm um mundo de diferença apenas no explorador de arquivos (por exemplo: nautilus). Um simples clipe de Sansa também ajudaria a demonstrar isso.
Cloud
O dispositivo ainda está presente ao executar o lsusb. Portanto, você não precisa redefinir todo o subsistema USB. Apenas o dispositivo é suficiente. Você pode usar o usbreset para fazer isso github.com/jkulesza/usbreset github.com/CWempe/usbreset Os arquivos usbreset.c estão identicamente nos dois projetos,
Hannes
Como sei que "sda" é o caminho certo? Posso mapear sda, sdb, etc. para os nomes reais dos dispositivos?
Jürgen K.
38
ejectfuncionará, mas realmente não "terminará o trabalho" em relação às unidades rotativas USB .
A melhor maneira de desconectar um disco rígido externo USB, após a desmontagem adequada , é:
udisks --detach /dev/sdb
Isso geralmente faz com que a unidade gire para baixo normalmente.
FWIW, esta é a única coisa que funciona para mim em um Xen dom0 com um suporte USB externo - os comandos eject e udisks deram erros.
GS - Peça desculpas a Monica
11
Eu estava procurando por isso, estou no modo de emergência dracut e não tenho acesso a nenhuma das outras funções. Obrigado!
Nassiel 25/10
hdparm -Ytambém é útil para unidades SATA / IDE.
Walf
6
Se você ler atentamente a página do manual ejetar (1) , poderá ver que existem 4 métodos de ejeção:
-r This option specifies that the drive should be ejected using a CDROM
eject command.
-s This option specifies that the drive should be ejected using SCSI
commands.
-f This option specifies that the drive should be ejected using a remov‐
able floppy disk eject command.
-q This option specifies that the drive should be ejected using a tape
drive offline command.
Quando você chama ejetar no HDD / SCSI, emite um ioctl(fd, SG_IO, (void *)&io_hdr);comando (copiar das eject.cfontes).
Isso é equivalente à remoção segura do dispositivo no MS Windows ou no MaxOSX.
Para alguns dispositivos, isso tem uma média especial. Por exemplo, o Kindle 3 após o comando de ejeção ter sido movido para o modo de carregamento e permitir a navegação no dispositivo, enquanto antes da tela ser bloqueada.
"Ejetar" não tem significado para hardware sem uma bandeja ou outro mecanismo de carregamento (presumo que ele também funcione com unidades de fita).
No entanto, o teste com uma unidade flash USB externa informa que ejectfunciona da mesma maneira umount- com o efeito colateral de fazer os nós do dispositivo desaparecerem, por exemplo,
% ls /dev/sdc*
/dev/sdc /dev/sdc1
% sudo eject /dev/sdc
% ls /dev/sdc*
/dev/sdc
Nunca tentei com fitas ( mt rewofflé mais conveniente porque também rebobina), mas faz o trabalho com drives de disquetes motorizados, como os encontrados em Macs antigos e estações de trabalho Sun.
Alexs #
@Alexios interessante.
Renan
3
Na linha de comando osx, você deve usar diskutil, onde LABEL é a etiqueta da sua unidade USB.
Sua resposta é boa, embora talvez seja um pouco curta. Eu sugeriria elaborar mais: o que esse comando faz, como, por que isso é o que você sugere etc.
user259412 4/15/15
0
OK, vou tentar explicar isso melhor:
O comando udisks remove e desliga completamente qualquer dispositivo USB montado ou conectado ao comando system unmount, basta desmontar a partição, ou seja: dev / sdb1 ou qualquer outra coisa, mas o usb ainda está presente no sistema.
Portanto, não é o mesmo desmontar, ejetar e desanexar
udisks = desligar o usb
umount = apenas desmonte a partição e não o pendrive inteiro
ejetar = o mesmo ou muito próximo do comando umount
eject /dev/sdX
issg_start -s /dev/sdX
(dosg3_utils
pacote), ambos usam comandos SCSI para enviar para o dispositivo.Respostas:
Não. Nem precisam ser;
eject
é usado para abrir unidades ópticas, nas quais não é possível puxar a mídia diretamente.A desmontagem é suficiente para USB / eSATA / etc. dispositivos de armazenamento.
fonte
sync
antes de arrancá-lo foraeject
, o driver de dispositivo USB subjacente ainda pode (tentar) escrever APÓS oumount
retorno. Isso pode ser visto claramente se a unidade tiver um LED de status. Puxar o pendrive logo após oumount
término é RECEITA DE DESASTRE.Sim. Por exemplo:
Outras respostas aqui que indicam que você precisa de hardware de ejeção mecânica estão incorretas.
Desmontar não é a mesma coisa que ejetar.
fonte
sudo
para concluir este comando (tudo o que faria era desmontar a unidade antes de dizer que não era possível abrir o arquivo). Fora isso, resposta útil.eject
funcionará, mas realmente não "terminará o trabalho" em relação às unidades rotativas USB .A melhor maneira de desconectar um disco rígido externo USB, após a desmontagem adequada , é:
Isso geralmente faz com que a unidade gire para baixo normalmente.
Precisamente, a implementação atual :
Esse processo está próximo ao procedimento manual sugerido aqui . A resposta inicial foi no askubuntu .
EDIT: Além disso, como aponta g.rocket , este comando pode ser equivalente:
fonte
udisksctl
que não tem--detach
otion está disponível. O que fazer neste caso? obrigado.udisks
.udisks
? Não está no meu sistema. Eu encontrei o pacoteudisks2
, mas que não fezudisks
ouudisks2
disponível.udisksctl power-off -b /dev/sdwhatever
parece fazer a mesma coisa.Etapas manuais para desmontar o disco / dev / sdb (requer sudo):
Isso desligará completamente o dispositivo e o desconectará do sistema. Ele não será detectado novamente até que seja desconectado e reconectado.
fonte
hdparm -Y
também é útil para unidades SATA / IDE.Se você ler atentamente a página do manual ejetar (1) , poderá ver que existem 4 métodos de ejeção:
Quando você chama ejetar no HDD / SCSI, emite um
ioctl(fd, SG_IO, (void *)&io_hdr);
comando (copiar daseject.c
fontes).Isso é equivalente à remoção segura do dispositivo no MS Windows ou no MaxOSX.
Para alguns dispositivos, isso tem uma média especial. Por exemplo, o Kindle 3 após o comando de ejeção ter sido movido para o modo de carregamento e permitir a navegação no dispositivo, enquanto antes da tela ser bloqueada.
Outros utilitários fazem a mesma coisa, assim
fonte
"Ejetar" não tem significado para hardware sem uma bandeja ou outro mecanismo de carregamento (presumo que ele também funcione com unidades de fita).
No entanto, o teste com uma unidade flash USB externa informa que
eject
funciona da mesma maneiraumount
- com o efeito colateral de fazer os nós do dispositivo desaparecerem, por exemplo,Note que
/dev/sdc1
desapareceu.fonte
mt rewoffl
é mais conveniente porque também rebobina), mas faz o trabalho com drives de disquetes motorizados, como os encontrados em Macs antigos e estações de trabalho Sun.Na linha de comando osx, você deve usar diskutil, onde LABEL é a etiqueta da sua unidade USB.
fonte
udisks --detach /dev/sdX
onde (X) é a última letra do seu dispositivo USB. Funciona bem em qualquer sistema Linux.fonte
OK, vou tentar explicar isso melhor:
O comando udisks remove e desliga completamente qualquer dispositivo USB montado ou conectado ao comando system unmount, basta desmontar a partição, ou seja: dev / sdb1 ou qualquer outra coisa, mas o usb ainda está presente no sistema.
Portanto, não é o mesmo desmontar, ejetar e desanexar
udisks = desligar o usb
umount = apenas desmonte a partição e não o pendrive inteiro
ejetar = o mesmo ou muito próximo do comando umount
fonte