Existe-t-il un moyen de désactiver manuellement un disque dur USB?

11

J'ai un disque dur externe alimenté par USB connecté à mon ordinateur portable DELL. Parfois, après avoir cliqué sur l'élément "Supprimer en toute sécurité" dans le menu contextuel de son icône dans la barre latérale, le lecteur est démonté et supprimé du /dev/dossier ( sdbet les sdb1deux sont supprimés) et lsusbn'affiche pas l'appareil, mais le disque dur reste en rotation et je pouvais sentir la vibration en mettant mon doigt dessus. Mais parfois, quelques secondes après avoir cliqué sur "Retirer en toute sécurité", il s'arrête de tourner et n'a aucune vibration. Existe-t-il un moyen (peut-être une commande CLI) de le désactiver?

Apprenant PHP
la source

Réponses:

14

Essaye ça:

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

sous Linux Mint ou Ubuntu

user742999
la source
1
Erreur lors de la mise hors tension du lecteur: Le lecteur utilisé: Le périphérique / dev / sdd1 est monté (udisks-error-quark, 14)
Elder Geek
3
Comme vous le savez probablement, il vous suffit de le démonter d'abord @ElderGeek ... J'ai modifié pour corriger, d'autant plus qu'il n'y a pas d'autre réponse ici en utilisant udisksctlautant que je puisse voir. Si vous n'êtes pas d'accord avec cela, n'hésitez pas à revenir en arrière, etc.
Zanna
c'est la bonne réponse. Je me suis longtemps demandé ce que c'était! il s'avère que les disques sont gérés par des udisks, contrôlés par udisksctl.
Marcus
13

L'exécution en hdparm -y /dev/sdbtant que root entraînera l'arrêt du disque. Si quelque chose accède au disque, il va à nouveau tourner.

La page de manuel suggère que cela n'est utile que pour les disques IDE. Cependant, j'ai testé qu'il fonctionne avec une clé USB connectée à un Dell exécutant 14.04. La page de manuel indique que la commande entraînera généralement la décélération du lecteur, ce qui suggère que certains lecteurs existent qui ne ralentiront pas lorsque cette commande sera émise.

kasperd
la source
Cette commande peut-elle causer des problèmes à mon lecteur ou à mes données (voir la réponse de l'utilisateur283885)?
PHP Learner
@PHPLearner Cela met en garde contre la déconnexion du lecteur avant que tout ne soit écrit. Cet avertissement s'applique, que le disque tourne ou non. Cependant, c'est toujours une bonne idée de s'assurer que tout a été écrit avant que le disque ne tourne. Vous pouvez tapersync ; hdparm -y /dev/sdb
kasperd
2
Je conclus que si je cours, sync ; hdparm -yil n'y a rien à craindre sur le lecteur ou les données sur le lecteur. Je pourrais déconnecter le lecteur à tout moment
PHP Learner
2
@PHPLearner Vous devez toujours vous assurer que le lecteur est démonté en premier.
kasperd
3

Si votre bureau fait quelque chose de louche, vous pouvez toujours vous rabattre sur le 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).

D'un autre côté, une fois qu'un périphérique n'est pas identifié en tant que périphérique bloc sur USB, vous pouvez utiliser sdparm ou hdparm sur ce périphérique pour garer les têtes si vous le souhaitez, mais l'utilisation de ces outils ne fera pas clignoter les tampons. Et si vous oubliez que l'appareil est en veille et coupez l'alimentation, vous pouvez corrompre vos données.

user283885
la source
À propos de la corruption de données, si j'utilise hdparm -fFycela garantit-il qu'aucune corruption de données ne se produira?
PHP Learner
1
Faire umount, syncet ejectne pas pouvoir sur le lecteur et ne supprime pas l' icône du lecteur de la barre des tâches. Il semble que ces commandes diffèrent de "Supprimer en toute sécurité". Mais hdparm -yarrêtez la rotation du disque uniquement avant "Retirer en toute sécurité", mais je dois l'éteindre (arrêter la rotation) après "Retirer en toute sécurité". Je pense qu'il vaut mieux poser la bonne question dans une nouvelle question .
PHP Learner
Comme l'a dit Learner, le combo mentionné vous assure qu'aucune donnée n'est en attente et que le lecteur peut être débranché. Les disques durs utiliseront la rotation restante du plateau comme une dynamo pour générer suffisamment d'énergie pour garer la tête, vous êtes donc en sécurité en tirant simplement sur le cordon, tant que vous ne bougez pas le lecteur. Linux est un système d'exploitation très libertaire et ne vous empêchera pas d'éteindre votre lecteur avant de vider les données en mémoire sur le disque, vous pouvez donc vous tirer une balle dans le pied. Cependant, si vous ne vous sentez toujours pas à l'aise pour tirer le cordon, vous pouvez éteindre avec hdparm après le rinçage.
user283885
Dans le cas où l'éjection supprime le disque dur de / dev, vous pouvez éteindre le port USB auquel le disque dur est connecté, comme décrit ici stackoverflow.com/questions/4702216/…, ce qui est vraiment la même chose que de tirer le cordon. Encore une fois, l'astuce consiste à laisser le disque tourner sans chocs, pendant environ 30 secondes. Vous pouvez doucement placer votre paume dessus et sentir s'il bourdonne encore. Si ce n'est pas le cas, alors il est sûr de se déplacer.
user283885
@Fabby Certaines des réponses m'ont appris de bonnes nouvelles, mais aucune d'entre elles ne montre un moyen de désactiver le disque dur «retiré en toute sécurité». Toutes les commandes ne fonctionnent qu'avant "Supprimer en toute sécurité", donc je n'en ai accepté aucune!
PHP Learner
2

Essayez l' utilitaire Disks - qui devrait être quelque part dans votre menu (dans mon cas, sous Accessoires ). Vous pouvez également le lancer à partir d'un terminal en exécutant

gnome-disks

... puis sélectionnez le disque et vous verrez un bouton d'alimentation en haut à droite de la fenêtre, avec l'infobulle "Éteindre le lecteur" .

netgenius.co.uk
la source
0

Débranchez le câble USB devrait le faire. Sinon, rebranchez-le et retirez-le en toute sécurité jusqu'à ce qu'il reste éteint.

psusi
la source
Même si cela avait l'air étrange, «manuellement» en question signifie «automatiquement».
EnzoR
C'est en fait la seule réponse qui est garantie pour fonctionner avec TOUS les périphériques USB bloqués "en toute sécurité". L'émission d'une commande de secours via hdparm ne ralentira pas toujours chaque lecteur, ni aucune des autres approches qui n'incluent pas cette étape.
Elder Geek
0

Voici comment je fais ça sur Linux Mint 17.3

  1. Lister vos disques avec des partitions et assurez-vous de sélectionner le bon lecteur

    lsblk
    
  2. Démontez toutes les partitions montées du disque, par exemple avec ce modèle de commande

    sudo umount /dev/sdXY
    

    où X est votre lettre de lecteur et Y un numéro de partition que vous souhaitez démonter.

  3. Arrêter le disque dur

    udisks --detach /dev/sdX
    
  4. Débranchez le câble USB

gumkins
la source
-1

J'ai trois solutions également valables parmi lesquelles vous pouvez faire votre choix.

Ma solution personnelle consiste à acheter un hub d'utilisation doté d'un interrupteur d'alimentation pour chaque port. Je le trouve incroyablement pratique. Si je me souviens bien, cela ne coûte qu'environ 6 $ sur Amazon. Je vais voir si je peux vous trouver l'article à vendre avant de poster ceci, mais il suffit de vous dire qu'un tel appareil abordable existe. Je l'ai trouvé!

Dans cette autre discussion, il a été déterminé qu'il existe une commande de terminal qui peut être utilisée pour désactiver littéralement l'alimentation de certains ports USB. La question est venue parce que l'utilisateur qui a posé la question utilisait une tablette fonctionnant sur batterie et que ses vacheres inconsidérées branchaient leurs téléphones portables pour se recharger, déchargeant ainsi sa batterie. Découvrez le mec qui a découvert la solution! ;-)

Enfin, en fonction peut-être de la marque et des caractéristiques dudit lecteur, il devrait y avoir une commande "spin down" que vous pouvez envoyer au lecteur avant de le démonter. Je n'ai jamais utilisé une telle commande manuellement, mais à l'époque du DOS, avant que les fonctionnalités d'économie d'énergie ne soient courantes, c'était ainsi que vous deviez le faire, il va donc de soi qu'il existe un moyen de le faire aujourd'hui et de le comprendre out peut être aussi simple que d'écrire au fabricant du lecteur, de consulter son site Web ou de googler la bonne question, c'est-à-dire "commande de sélection des disques durs". Je ne maintiens pas la solution suivante. J'ai fait une recherche occasionnelle et j'ai trouvé ça . Votre kilométrage peut varier. Faites-moi savoir si cela fonctionne pour vous.

gyropyge
la source