
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-off
und 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:
- Öffnen Sie das Terminal (falls es nicht bereits geöffnet ist)
- Besorgen Sie sich das
UUID
für den USB-Stick mitblkid
:
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:sudo blkid
/dev/sdc1: UUID="AzJSHp-stpU-1ArB-YOMD-G7OD-l1Uz-xJhQIh" TYPE="ext4" PARTUUID="04592289-01"
- Erstellen Sie ein Shell-Skript in Ihrem Home-Verzeichnis (oder irgendwo anders):
Notiz:Sie können jeden beliebigen Texteditor verwenden.vi ~/sleep-disks.sh
vi
ist keine Voraussetzung. - Fügen Sie Folgendes ein:
Wenn bei der Verwendung Probleme auftreten,#!/bin/sh sudo hdparm -Y /dev/disk/by-uuid/<disk-uuid> exit 0
hdparm
können Sie diesen Ansatz verwenden:
Notiz:Ersetzen Sie unbedingt#!/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
<disk-uuid>
mit dem richtigen Wert, der in Schritt 1 ermittelt wurde. - Speicher die Datei
- Stellen Sie sicher, dass das Skript ausführbar ist:
sudo chmod +x ~/sleep-disks.sh
- Erstellen Sie einen neuen systemd-Dienstdatensatz:
sudo vi /etc/systemd/system/sleep-disks.service
- Fügen Sie Folgendes ein:
Notiz:Ersetzen Sie unbedingt[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
<YOUR_USER>
mit Ihrem tatsächlichen Benutzernamen undExecStart=
sollte auf den tatsächlichen Speicherort des Shell-Skripts verweisen. - Speicher die Datei
- Laden Sie den Daemon neu:
sudo systemctl daemon-reload
Dadurch wird sichergestellt, dass das sleep-disks.sh
Skript jedes Mal ausgeführt wird, wenn der Computer heruntergefahren, neu gestartet oder angehalten (suspendiert) wird.
Der hdparm -Y
Befehl 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 unmount
wird sichergestellt, dass die Festplatte ausgehängt und somit udisksctl power-off
ausgeschaltet wird.
Alternativ ... können Sie vielleicht einfach die Funktion „ON/OFF Charge“ in Ihrem BIOS deaktivieren, wenn Sie diese nie verwenden