ubuntuusers.de

Ruhezustand (Suspend-to-Disk) verfügbar machen / Zusammenhang mit Secure Boot

Status: Gelöst | Ubuntu-Version: Ubuntu 22.04 (Jammy Jellyfish)
Antworten |

vulli

Anmeldungsdatum:
6. Februar 2024

Beiträge: 10

Hallo zusammen,

ich neu in der Linuxwelt, benutze bisher ein Windows-Notebook und habe mir als Nachfolger eines mit Ubuntu angeschafft (s.u.). Jetzt habe ich zwei Fragen, die für mich zusammengehören:

  • A) Hat hier jemand eine Meinung/Einschätzung, wie relevant Secure Boot für einen reinen Privatnutzer wie mich ist?

  • B) Welche ist die einfachste und sicherste Methode, den Ruhezustand (Suspend-to-Disk, STD) verfügbar zu machen, die ihr kennt?

Details zur Ausgangssituation:

Ich würde gerne in gewissen Situationen Suspend-to-Disk nutzen. Im ausgelieferten Zustand finde ich in der GUI nirgends die Möglichkeit dazu. (Dass die Swap-Datei im Auslieferungszustand nur ca. 2 GB groß war, belegt, dass das System nicht für STD konfiguriert war.) Nach anfänglichen Recherchen hab ich etwas voreilig eine großzügige Swap-Partition angelegt. Dann bin ich auf das mögliche Problem Secure Boot gestoßen. Das ist in meinem BIOS aktiviert und es heißt, dass dies Ruhezustand/STD verhindern könnte. Falls dem bei mir so sein sollte, frage ich mich, wie relevant Secure Boot für mich, damit ich das abwägen kann. Falls ich mich gegen Secure Boot entscheide, bleibt die Schwierigkeit, STD einzurichten.

Meine Geräte- und Systemdaten:

  • Notebook: Dell Precision 7680

  • Betriebssystem: Ubuntu 22.04 LTS (vorinstalliert)

  • Prozessor: Intel Core i7-13850HX vPro (30 MB Cache, 20 Cores, 28 Threads, bis zu 5,3 GHz, 55 W)

  • Grafikkarte: NVIDIA RTX 2000 Ada, 8 GB GDDR6

  • Arbeitsspeicher: 32GB, 1x32GB 5600MT/s CAMM, non-ECC

  • Interner Speicher: 1 TB, M.2 PCIe NVMe, Gen 4, 2280, SSD

  • Aktive Swap-Partition: 40 GB

Meine kleine Recherche-Odyssee (soll kein Meckern bzgl. des Wikis sein, bin ja echt froh, dass ich damit als Einsteiger schon ziemlich weit komme):

1. Wenn ich nach Drücken der Super-/Windows-Taste "Ruhezustand" ins Suchfeld eingebe, werden mir die Energieeinstellungen angeboten. Dort finde ich aber nichts zu dem Thema. Vielleicht wird hier Ruhezustand als Suspend-to-RAM gedeutet und der Suchtreffer kommt, weil ich tatschlich in den Energieeinstellungen etwas zur "Bereitschaft" finde.

2. Artikel zum Ruhezustand:

Ruhezustand

Im Hinweis zu "Ubuntu 22.04 LTS und neuer" heißt es:

Die Funktionalität des Ruhezustands ist im Linux-Kernel selbst eingebaut und wird über systemd gesteuert, somit benötigt man bei aktuellen Ubuntu-Betriebssystemen auch keine weitere Software zur Nutzung des Ruhezustandes.

Die einzige dortige weiterführende Spur ist die Verlinkung von "systemd" zum entsprechenden Artikel:

systemd

Dort finde ich nur folgenden Hinweis:

Mit Hilfe von systemd-inhibit kann verhindert werden, dass der Rechner heruntergefahren wird, in den Ruhezustand geht etc...

Also erst mal eine Sackgasse.

3. Arikel über Vorbereitung zur Teilverschlüsselung:

Vorbereitung Teilverschlüsselung (Abschnitt „Swap“)

Gnome-Nutzer können den Ruhezustand zusätzlich in der GUI deaktivieren.

Wenn der Ruhezustand in der GUI deaktiviert werden kann, liegt die Schlussfolgerung nahe, dass das auch fürs Aktivieren gilt. Scheint aber zumindest bei mir nicht der Fall zu sein.

4. Zwei Anleitungen zur Aktivierung von Suspend-to-Disk:

Bin noch am Überlegen, ob ich das durchziehe...

Bearbeitet von Berlin_1946:

Forensyntax korrigiert. Siehe und beachte bitte Forum/Syntax (Abschnitt „Syntaxelemente“). Die Links auf die externen Portalseite funktionieren sonst nicht zuverlässig

Newubunti

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5142

Hallo und herzlich Willkommen vulli!

Ich gehe jetzt nur mal auf Deine folgende Frage ein:

  • A) Hat hier jemand eine Meinung/Einschätzung, wie relevant Secure Boot für einen reinen Privatnutzer wie mich ist?

Es hat zwar IMO nichts damit zu tun, ob Du nun Privatnutzer bist oder nicht, aber wenn Du auf Deinem Laptop ausschließlich Ubuntu installiert hast, dann kannst Du Secure Boot getrost abschalten, gerade auch vor dem Hintergund, dass Du Hibernation/S2D nutzen willst.

Begründung:

  1. Secure Boot hat unter Ubuntu und allen anderen Distributionen bei denen standardmäßig die initrd vom Kernelimage separiert wird, aus Secure-Boot-Perspektive das "Problem", dass sie erst auf dem System des Endanwenders erzeugt wird und damit technisch bedingt gar nicht mit dem privaten Secure-Boot-Schlüssel des Distributors signiert an den Endanwender ausgeliefert wird. Zwar ist es grundsätzlich möglich, dass der Endanwender die initrd selbst für Secure Boot signiert, aber da der Distributor nicht weiß, ob der Endanwender das auch tatsächlich macht bzw. herausfindet, wie man das machen kann, die initrd aber für den Systemstart essentiell ist, wird sie derzeit während des Systemstarts gar nicht auf eine vorhandene Signatur überprüft, womit der eigentliche Sinn von Secure Boot - nämlich nur signierte Komponenten während des Systemstarts auszuführen - in diesem wesentlichen Punkt gar nicht eingehalten wird bzw. unter den gegeben Voraussetzungen nicht (anwenderfreundlich) eingehalten werden kann.

  2. Selbst wenn man den unter 1. dargestellten Mangel beseitigt und die initrd als Endanwender selbst signiert, sie dann in das Kernelimage integriert - was als weitere extra Maßnahme notwendig ist, weil der von Ubuntu genutzte GRUB2-Bootloader eine vom Kernelimage separate initrd derzeit schlicht nicht gegen die Secure-Boot-Datenbank prüfen kann - dann stellt einem der bei aktivem Secure Boot in Kraft tertende Kernel lockdown bezüglich der Nutzung von Hibernation derzeit praktisch selbst bei Nutzung einer verschlüsselten Swappartion noch vor Herausforderungen. Für eine Übersicht was alles notwendig ist, um das ganze überhaupt ans Laufen zu bekommen, empfehle ich den lesenswerten Beitrag von Philippe Daouadi.

  3. Obwohl sich Philippe Daouadi schon sehr umfassend des Themas angenommen hat, lässt er IMO den Aspekt außer Acht, dass man für den Systemstart wesentliche Komponenten, die von Secure Boot auf eine Signatur geprüft werden sollen, besser nicht auf dem produktiv genutzten System signieren sollte, weil ein Remoteangreifer so an die Schlüssel gelangen und seinen Schadcode dann doch damit signieren und Secure Boot unterlaufen könnte. Um das zu verhindern, bräuchte man ein separates System, an das man vom Produktivsystem aus die zu signierenden Komponenten schickt und diese dann signiert zurück erhält. Die ganze Übertragung muss dann auch noch gesichert ablaufen, womit man eine Infrastruktur aufbauen muss, die eine nicht unerhebliche Anzahl von Endanwendern wird nicht so ohne weiteres aufbauen und dauerhaft sicher halten wird können.

  4. Den ganzen Aufwand betreibst Du vor dem Hintergrund, das Secure Boot auf Deinem System nur solange als sicher betrachtet werden kann, solange der Hersteller Dein Laptop mit Firmwareupdates versorgt, so dass Sicherheitslücken in der Firmware, die Secure Boot aushebeln können, geschlossen werden. Dabei muss man auch berücksichtigen, dass Secure Boot nur auf einige - wenn auch sehr kritische - Angriffsvektoren zielt, nämlich das Einschleusen von Boot- und Rootkits vornehmlich durch einen Remoteangreifer.

Fazit: Secure Boot ist von der Idee her gar nicht so verkehrt, passt aber nicht gut zur allgemein üblichen Linux-Infrastruktur.

LG, Newubunti

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

vulli schrieb: Ruhezustand

Im Hinweis zu "Ubuntu 22.04 LTS und neuer" heißt es: ...

Im Wiki steht aber auch:

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet: Ubuntu 20.04 Focal Fossa

Zwei Punkte, die sagen: nicht bei "Ubuntu 22.04 LTS und neuer"

systemd

Dort finde ich nur folgenden Hinweis:

Mit Hilfe von systemd-inhibit kann verhindert werden, dass der Rechner heruntergefahren wird, in den Ruhezustand geht etc...

Also erst mal eine Sackgasse.

Aber nur, wenn der Punkt nicht beachtet wird:

... der für die Verwaltung aller auf dem System laufenden Dienste

Unter 22.04 wird der Begriff "Ruhezustand" in der GUI auch nicht mehr verwendet.

Es gibt:

  • Ausschalten/Abmelden # mit den Unterpunkten

    • Bereitschaft

    • Neustart

    • Ausschalten

vulli

(Themenstarter)

Anmeldungsdatum:
6. Februar 2024

Beiträge: 10

Newubunti schrieb:

Ich gehe jetzt nur mal auf Deine folgende Frage ein:

  • A) ...

Vielen Dank für die ausführliche Einschätzung? Vielleicht macht Secure Boot im Business-Umfeld mehr Sinn. (Das Notebook ist eigentlich als Business Workstation ausgelegt.) Dann verfolge ich das Thema Ruhezustand erst mal weiter. ☺

vulli

(Themenstarter)

Anmeldungsdatum:
6. Februar 2024

Beiträge: 10

Berlin_1946 schrieb:

vulli schrieb:

Danke für die schnelle Antwort! ☺

Ruhezustand

Im Hinweis zu "Ubuntu 22.04 LTS und neuer" heißt es: ...

Im Wiki steht aber auch:

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet: Ubuntu 20.04 Focal Fossa

Ganz richtig. Deswegen habe ich die weiteren Infos/Anleitung in dem Artikel nicht weiter beachtet und mich explizit nur auf den Hinweis bezogen, in dem beschrieben wir, wie es in Version 22.04 LTS aussieht. Etwas längerer Auszug als oben:

Die benötigten Pakete stehen bei Ubuntu 22.04 LTS und neuer nicht mehr zur Verfügung. Die Funktionalität des Ruhezustands ist im Linux-Kernel selbst eingebaut und wird über systemd gesteuert, somit benötigt man bei aktuellen Ubuntu-Betriebssystemen auch keine weitere Software zur Nutzung des Ruhezustandes.

Dass in dem Artikel mit Ruhezustand tatsächlich Suspend-to-Disk gemeint ist, geht aus dem einleitenden Abschnitt hervor:

Andere Begriffe sind hibernate (deutsch: "Winterschlaf") oder suspend-to-disk...

Und dann gibt es ja noch die beiden Anleitungen, die ich oben unter Punkt 4 verlinkt habe. Dort sind Screenshots des zusätzlichen Hibernate-Buttons (neben "Suspend", "Hybrid Sleep", "Restart..." und "Power Off...") zu sehen (der offenbar in der GUI per Extension hinzugefügt werden müsste).

All das zusammen muss ich so deuten, dass unter Ubuntu 22.04 LTS der Ruhezustand/Suspend-to-Disk tatsächlich verfügbar gemacht werden kann. Nur frage ich mich, ob es nicht doch einfacher geht (bevor ich ernsthaft überlege, so viel mit Terminal und Extensions einzugreifen); und eine gewisse Unsicherheit bleibt, ob diese Anleitungen in speziell meinem Fall genauso reibungslos funktionieren wie erhofft.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

Hallo vulli

die beiden Links habe ich mir mal grob angeschaut.

  1. https://www.linuxconsultant.org/how-to-enable-hibernate-in-ubuntu-22-04-lts/

  2. https://ubuntuhandbook.org/index.php/2021/08/enable-hibernate-ubuntu-21-10/

der 2. ist aus meiner Sicht, so auf einem leicht unsoliden Stand. Auch 2021 war es schon sehr umstritten und es wurde mehrfach gewarnt GUI mit sudo zu starten.

Ich meine dem Befehl sudo gedit ....

Der 1. scheint da besser zu sein. Ich werde mal versuchen, diesen Beitrag in eine VM zu testen, denn ich benutze kein Ubuntu 22.04.

Hier im Wiki gibt es auch noch eine guten Beitrag, siehe Desktop-Dateien/Beispiele/Einschlafen

DocHifi

Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1468

Ich nutze 22.04 und der Ruhezustand STD funktioniert, ich habe das nach unserem Wiki gemacht.

Ich nutze aber auch kein Secure Boot.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

DocHifi schrieb:

Ich nutze 22.04 und der Ruhezustand STD funktioniert, ich habe das nach unserem Wiki gemacht.

👍

Schreibe doch bitte noch dazu welches Wiki. Danke.

DocHifi

Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1468

Schreibe doch bitte noch dazu welches Wiki. Danke.

Oh je, da muss ich suchen, ist schon ein paar Tage her.

Tut mir leid, ich bring das nicht mehr zusammen, ich bin ursprünglich hier gelandet:

https://wiki.ubuntuusers.de/Ruhezustand/

Da das für 22.04 nicht mehr gültig war hab ich das irgendwie anders gelöst.

Die Swap war bereits in Grub gelistet und wie ich den fehlenden "Knopf" ins Menü gebracht habe, weiß ich nicht mehr, (evtl. über dconf)

Ich bin leider nicht der Typ, der solche Sachen dokumentiert, ich probiere das aus und wenn es funktioniert dann ist es gut.

Ich vermute mal, ich hab das über systemd gelöst, finde den Artikel aber nicht mehr.

Da der Start aus STD genau so lange dauert wie ein Neustart, nutze ich nur noch STR, mein Laptop hängt eh meistens am Strom.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

DocHifi schrieb:

Ich vermute mal, ich hab das über systemd gelöst, finde den Artikel aber nicht mehr.

Da wäre er, der systemd

DocHifi

Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1468

Da wäre er, der systemd

Ja grundsätzlich schon, aber speziell zum STD steht da ja eher nichts.

Wie gesagt, das ganze ist gut 2 Jahre her und ich habe mir das leider nicht gemerkt.

Ich hab es sogar hinbekommen, das der Rechner über den "Sleep" Knopf in STD geht.

Aber ich nutze das auch nicht mehr, weil ich STR bevorzuge.

DocHifi

Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1468

Der TE kann ja grundsätzlich mal testen, ob Hibernate funktioniert.

sudo systemctl hibernate

Fährt meinen Rechner in den STD.

Natürlich ausreichend Swap muss vorhanden sein.

Dann muss man nur noch raus finden, wie man den Knopf ins Menü bekommt, welches beim Ausschalten erscheint und wie das ohne sudo funktioniert.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 9840

DocHifi schrieb:

Der TE kann ja grundsätzlich mal testen, ob Hibernate funktioniert.

sudo systemctl hibernate

Fährt meinen Rechner in den STD.

Schaltest du dann den Rechner über die Power-Taste wieder ein und alle Programme laufen weiter?

Bei einigen Test habe ich bemerkt, dass es wie ausschalten wirkt, obwohl sudo systemctl hibernate aufgerufen wurde.

Natürlich ausreichend Swap muss vorhanden sein.

Du hast eine Swap- Datei oder eine Swap- Partition?

Deine Größe hast du hiernach Swap (Abschnitt „Swapgroesse“) angelegt?

DocHifi

Avatar von DocHifi

Anmeldungsdatum:
21. Oktober 2008

Beiträge: 1468

Schaltest du dann den Rechner über die Power-Taste wieder ein und alle Programme laufen weiter?

Ja

Du hast eine Swap- Datei oder eine Swap- Partition?

Partition

Deine Größe hast du hiernach Swap (Abschnitt „Swapgroesse“) angelegt?

Nee ich hab sie einfach etwas größer gemacht als mein Ram.

vulli

(Themenstarter)

Anmeldungsdatum:
6. Februar 2024

Beiträge: 10

DocHifi schrieb:

Der TE kann ja grundsätzlich mal testen, ob Hibernate funktioniert.

sudo systemctl hibernate

Fährt meinen Rechner in den STD.

Bei mir kommt da zurück:

Failed to hibernate system via logind: Sleep verb "hibernate" not supported
Antworten |