Externe Festplatte fährt nicht herunter

Externe Festplatte fährt nicht herunter

Wenn ich Ubuntu herunterfahre, wird meine externe USB-Festplatte (überhaupt) nicht heruntergefahren, während andere USB-Geräte (wie meine Kopfhörer und meine Tastatur) weiterhin ausgeschaltet werden.

Ich habe ein B365M DS3H WIFI-Motherboard, falls das einen Unterschied macht.

Die Festplatte wird unter Windows normal heruntergefahren.

Wie kann ich es normal herunterfahren?

Bearbeiten: Auch nachdem ich die Festplatte ausgeschaltet und normal heruntergefahren habe, wird sie immer noch mit Strom versorgt, obwohl dies nach dem Herunterfahren nicht der Fall sein sollte.

Antwort1

Dies scheint ein "Merkmal" vonIhr Gigabyte-Motherboardangerufen„Ein/Aus-Laden“. Aus der Beschreibung der Funktion:

Die neuesten Motherboards von GIGABYTE sind mit der ON/OFF-Ladetechnologie ausgestattet, mit der Sie Ihr iPhone, iPad oder Ihren iPod Touch nicht nur aufladen, sondern auch schnell aufladen können. Als Bonus können Sie es sogar aufladen, wenn Ihr PC ausgeschaltet ist. Selbst wenn Sie also vergessen, es nach der Synchronisierung Ihrer Musik an Ihr Ladegerät anzuschließen, ist es bei Bedarf vollständig aufgeladen.

[...]

* Es können maximal 3 Geräte gleichzeitig geladen werden. Der Ladestrom kann je nach 5-V-Standby-Spezifikation des Netzteils variieren.

Da es unwahrscheinlich ist, dass das MotherboardspeziellBei Apple-Geräten, die auf einer Hersteller-ID für USB-Geräte basieren, würde ich davon ausgehen, dass das Motherboard einfach 5 V ununterbrochene Stromversorgung für maximal drei USB-Anschlüsse bereitstellt, unabhängig davon, ob das Gerät eingeschaltet ist oder nicht. Wenn dies der Fall ist, weiß das externe Laufwerk nicht, dass es sich selbst abschalten soll, es sei denn, es erhält ausdrücklich einen entsprechenden Befehl.

Da Sie gesagt haben, dass das Laufwerk ordnungsgemäß heruntergefahren wird, wenn Windows heruntergefahren wird, vermute ich, dass das Laufwerk auf einen Befehl vom Host-Betriebssystem wartet, den Ubuntu aus irgendeinem Grund möglicherweise nicht sendet (einige Laufwerke warten darauf power-offund andere warten darauf eject).

Eine mögliche Lösung wäre, ein Skript zu schreiben, das immer dann ausgeführt wird, wenn das System in einen Herunterfahrzyklus wechselt, um zuerst die USB-Partitionen auszuhängen und dann einen „Power-Off“-Befehl für ein bestimmtes Gerät zu senden.

Wenn Sie es ausprobieren möchten, gehen Sie wie folgt vor:

  1. Öffnen Sie das Terminal (falls es nicht bereits geöffnet ist)
  2. Besorgen Sie sich das UUIDfür den USB-Stick mit blkid:
    sudo blkid
    
    Dadurch wird eine Liste aller Ihrer Geräte angezeigt. Suchen Sie nach dem Gerät, das die USB-Festplatten darstellt, die Sie herunterfahren möchten. Möglicherweise sehen Sie etwas Ähnliches wie das Folgende:
    /dev/sdc1: UUID="AzJSHp-stpU-1ArB-YOMD-G7OD-l1Uz-xJhQIh" TYPE="ext4" PARTUUID="04592289-01"
    
     
  3. Erstellen Sie ein Shell-Skript in Ihrem Home-Verzeichnis (oder irgendwo anders):
    vi ~/sleep-disks.sh
    
    Notiz:Sie können jeden beliebigen Texteditor verwenden. vi ist keine Voraussetzung.
  4. Fügen Sie Folgendes ein:
    #!/bin/sh
    
    sudo hdparm -Y /dev/disk/by-uuid/<disk-uuid>
    exit 0
    
    Wenn bei der Verwendung Probleme auftreten, hdparmkönnen Sie diesen Ansatz verwenden:
    #!/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
    
    Notiz:Ersetzen Sie unbedingt <disk-uuid> mit dem richtigen Wert, der in Schritt 1 ermittelt wurde.
  5. Speicher die Datei
  6. Stellen Sie sicher, dass das Skript ausführbar ist:
    sudo chmod +x ~/sleep-disks.sh
    
  7. Erstellen Sie einen neuen systemd-Dienstdatensatz:
    sudo vi /etc/systemd/system/sleep-disks.service
    
  8. Fügen Sie Folgendes ein:
    [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
    
    Notiz:Ersetzen Sie unbedingt <YOUR_USER> mit Ihrem tatsächlichen Benutzernamen und ExecStart= sollte auf den tatsächlichen Speicherort des Shell-Skripts verweisen.
  9. Speicher die Datei
  10. Laden Sie den Daemon neu:
    sudo systemctl daemon-reload
    

Dadurch wird sichergestellt, dass das sleep-disks.shSkript jedes Mal ausgeführt wird, wenn der Computer heruntergefahren, neu gestartet oder angehalten (suspendiert) wird.

Der hdparm -YBefehl weist die externe Festplatte an, in den niedrigsten Energiezustand zu wechseln, also „aus“. Vondie Dokumentation:

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

Dadurch udisksctl unmountwird sichergestellt, dass die Festplatte ausgehängt und somit udisksctl power-offausgeschaltet wird.

Alternativ ... können Sie vielleicht einfach die Funktion „ON/OFF Charge“ in Ihrem BIOS deaktivieren, wenn Sie diese nie verwenden

verwandte Informationen