El disco duro externo no se apaga

El disco duro externo no se apaga

Cuando apago Ubuntu, mi disco duro USB externo no se apaga (en absoluto), mientras sigo apagando otros dispositivos USB (como mis auriculares y teclado).

Tengo una placa base B365M DS3H WIFI si eso hace la diferencia.

El disco duro se apaga normalmente con Windows.

¿Cómo hago para que se apague normalmente?

Editar: incluso después de apagar el disco duro y apagarlo normalmente, todavía recibe energía cuando no debería después del apagado.

Respuesta1

Esto parece ser una "característica" detu placa base Gigabytellamado"Carga ENCENDIDO/APAGADO". De la descripción de la característica:

Las últimas placas base de GIGABYTE están equipadas con tecnología de carga ON/OFF que te permite no sólo cargar tu iPhone, iPad o iPod Touch, sino que también te permite cargarlo rápidamente. Como beneficio adicional, incluso se puede cargar cuando tu PC está apagada, por lo que incluso si olvidas enchufarlo al cargador después de haber sincronizado tu música, se cargará completamente cuando lo necesites.

[...]

*Se pueden cargar máximo 3 dispositivos al mismo tiempo. La corriente de carga puede variar con la especificación de PSU en espera de 5 V.

Como es poco probable que la placa base esté mirandoespecíficamentePara los dispositivos Apple basados ​​en la identificación del fabricante del dispositivo USB, me atrevería a decir que la placa base simplemente proporciona 5 V de energía ininterrumpida a un máximo de tres puertos USB, independientemente de si la máquina está encendida o no. Si este es el caso, entonces la unidad externa no sabrá que debe apagarse a menos que se le dé una orden específica para hacerlo.

Debido a que ha dicho que la unidad se apagará correctamente cuando Windows se apague, esto me hace pensar que la unidad está esperando un comando del sistema operativo host que Ubuntu puede no enviar por cualquier motivo (algunas unidades esperan power-offy otras esperan). para eject).

Una posible solución sería escribir un script que se ejecute cada vez que el sistema entre en un ciclo de apagado para desmontar primero las particiones USB y luego enviar un comando de "apagado" para un dispositivo determinado.

Si quieres probarlo, aquí te explicamos cómo hacerlo:

  1. Abrir Terminal (si aún no está abierto)
  2. Obtenga el UUIDpara el disco USB con blkid:
    sudo blkid
    
    Esto le dará una lista de todos sus dispositivos y buscará el que represente los discos USB que desea apagar. Es posible que veas algo similar a esto:
    /dev/sdc1: UUID="AzJSHp-stpU-1ArB-YOMD-G7OD-l1Uz-xJhQIh" TYPE="ext4" PARTUUID="04592289-01"
    
     
  3. Cree un script de shell en su directorio de inicio (o en cualquier lugar, en realidad):
    vi ~/sleep-disks.sh
    
    Nota:No dudes en utilizar cualquier editor de texto. vi no es un requisito.
  4. Pegue lo siguiente:
    #!/bin/sh
    
    sudo hdparm -Y /dev/disk/by-uuid/<disk-uuid>
    exit 0
    
    Si tiene algún problema para usarlo, hdparmpuede utilizar este enfoque:
    #!/bin/sh
    
    disk_uuid="<disk-uuid>"
    
    udisksctl unmount -b /dev/disk/by-uuid/${disk_uuid}
    udisksctl power-off -b /dev/disk/by-uuid/${disk_uuid}
    
    exit 0
    
    Nota:Asegúrate de reemplazar <disk-uuid> con el valor adecuado determinado en el paso 1.
  5. Guarda el archivo
  6. Asegúrese de que el script sea ejecutable:
    sudo chmod +x ~/sleep-disks.sh
    
  7. Cree un nuevo registro de servicio systemd:
    sudo vi /etc/systemd/system/sleep-disks.service
    
  8. Pegue lo siguiente:
    [Unit]
    Description=Shut down external disks
    DefaultDependencies=no
    Before=shutdown.target reboot.target halt.target
    # This works because it is installed in the target and will be
    #   executed before the target state is entered
    # Also consider kexec.target
    
    [Service]
    Type=oneshot
    User=<YOUR_USER>
    Group=<YOUR_USER>
    ExecStart=/home/<YOUR_USER>/sleep-disks.sh
    
    [Install]
    WantedBy=halt.target reboot.target shutdown.target
    
    Nota:Asegúrate de reemplazar <YOUR_USER> con su nombre de usuario real, y ExecStart= debe apuntar a la ubicación real del script de shell.
  9. Guarda el archivo
  10. Recarga el demonio:
    sudo systemctl daemon-reload
    

Esto garantizará que el sleep-disks.shscript se ejecute cada vez que se le indique a la computadora que se apague, reinicie o se detenga (suspenda).

Elhdparm -Y comando le indica al disco externo que baje a su estado de energía más bajo, que es "apagado". Dela documentación:

-Y     Force  an  IDE  drive to immediately enter the lowest power consumption
       sleep mode, causing it to shut down completely.  A hard or soft reset is
       required  before  the drive can be accessed again (the Linux IDE driver
       will automatically handle issuing a reset if/when needed).  The current
       power mode status can be checked using the -C option.

Esto udisksctl unmountgarantizará que el disco se desmontará, por lo que udisksctl power-offlo apagará.

Alternativamente... tal vez puedas simplemente desactivar la función "Carga ENCENDIDA/APAGADA" en tu BIOS si esto es algo que nunca usas

información relacionada