Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
simplex
Beiträge: 4
Registriert: 09.10.2022 03:01:41

Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von simplex » 09.10.2022 03:23:52

Als kleines Wochenendprojekt wollte ich einen verschlüsselten Debian USB Stick erstellen, den man in einen beliebigen Rechner benutzen kann, mit Persistenz.
Leider klappt dies nicht recht. Der USB Stick bootet nur auf dem Rechner, auf dem er erstellt wurde. Bin mir nicht sicher, ob ich etwas falsch mache, oder ob dies einfach mit Debian nicht möglich ist.

Meine Schritte:
-debian-11.5.0-amd64-netinst.iso mit Rufus auf USB Stick kopiert, vom Stick gebootet und Debian mit den Default Einstellungen auf einen zweiten USB Stick installiert
-Als Partitionsmethode habe ich "Guided - Use entire Disk and set up encrypted LVM" gewählt.

Nach der Installation startet der Stick auf dem System, auf dem er erstellt wurde, problemlos.

Interessanterweise wurde ein neues Boot Device mit dem Namen "debian" erstellt. Dies ist im Bios auch noch sichtbar, wenn der Stick nicht eingesteckt ist.
Benutzt man dieses Boot Device, und der neu erstellte Stick ist eingesteckt, startet Debian. Versucht man den Stick mit Debian selbst als Boot Device zu benutzen, funktioniert der Start nicht (Kein Betriebssystem gefunden).

Hier sieht man auch schon das Problem. Der Stick selbst startet nicht, sondern nur das während der Installation erstellt Boot Device "debian". Und dieses Boot Device haben natürlich nur Rechner, auf denen Debian schon mal installiert wurde. Somit kann mein Stick auch nur auf solchen Rechnern benutzt werden.

Mein Ziel ist es, dass der Stick auf allen Rechnern starten kann.

Hat jemand dieses Problem schon mal gehabt, mache ich etwas falsch, oder ist dies eine Limitierung von Debian?

Bin dankbar für Hinweise!

DeletedUserReAsG

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von DeletedUserReAsG » 09.10.2022 07:56:53

simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 03:23:52
Interessanterweise wurde ein neues Boot Device mit dem Namen "debian" erstellt. Dies ist im Bios auch noch sichtbar, wenn der Stick nicht eingesteckt ist.
Das deutet auf zwei Sachen hin: deine Maschine nutzt UEFI, und beim Installieren wurde dein Stick dort zum Booten hinterlegt. Das ist, was man vom Installer erwarten würde – schließlich soll der ein System bootbar auf der gegebenen Maschine installieren.
Wenn ich mich recht erinnere, bietet der Installer einen „Expertenmodus“ an, in dem man dann angeben kann, wohin der Bootloader geschrieben werden soll – dort würde man den Stick selbst angeben.
Wenn das nicht funktionieren sollte, wird etwas Handarbeit erforderlich sein.

Vielleicht ist’s auch einfacher, ein Debian-Livesystem herzunehmen und den Wünschen entsprechend zu modifizieren.

rjh

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von rjh » 09.10.2022 10:57:20

niemand hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 07:56:53

Wenn ich mich recht erinnere, bietet der Installer einen „Expertenmodus“ an, in dem man dann angeben kann, wohin der Bootloader geschrieben werden soll – dort würde man den Stick selbst angeben.
Die Möglichkeit hat man auch im "normalen" Installationsmodus. Ganz am Schluß kommt die Meldung in der es sinngemäß heißt, es würde alles passend dafür ausschauen jetzt den Bootloader standardmäßig zu installieren, wenn man das wolle. Wenn man das dann verneint, wird daraufhin die Option angezeigt, den Bootloader auch auf das gewünschte Medium, in dem Fall der USB-Stick zu installieren.

Habe mir kürzlich erst einen M2-USB "Stick" installiert mit UEFI. Es hängt dann, wie oben bereits ausgeführt, davon ab, wie das BIOS des anderen Rechners das USB-Device erkennt. Mit Umstellen der UEFI / Legacy Auswahl und/oder "F7" (bzw. wo der Rechner ggf. eine Boot-Auswahl vorsieht) schafft man es meist irgendwann dann auch den Stick zu booten.

Bei LVM-Volumes ist es meiner Erfahrung nach ggf. problematischer, falls mit GRUB doch etwas schief geht, das System noch aus dem GRUB Rescue Mode zu booten. Mir ist das zumindest nicht gelungen.

Benutzeravatar
grubenlicht
Beiträge: 556
Registriert: 10.06.2021 22:35:56

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von grubenlicht » 09.10.2022 15:27:19

man kann (auch) Ventoy benutzen, oder – läuft auf dasselbe hinaus – grub standalone für EFI und CSM

simplex
Beiträge: 4
Registriert: 09.10.2022 03:01:41

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von simplex » 09.10.2022 15:31:45

niemand hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 07:56:53
simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 03:23:52
Interessanterweise wurde ein neues Boot Device mit dem Namen "debian" erstellt. Dies ist im Bios auch noch sichtbar, wenn der Stick nicht eingesteckt ist.
Das deutet auf zwei Sachen hin: deine Maschine nutzt UEFI, und beim Installieren wurde dein Stick dort zum Booten hinterlegt. Das ist, was man vom Installer erwarten würde – schließlich soll der ein System bootbar auf der gegebenen Maschine installieren.
Wenn ich mich recht erinnere, bietet der Installer einen „Expertenmodus“ an, in dem man dann angeben kann, wohin der Bootloader geschrieben werden soll – dort würde man den Stick selbst angeben.
Wenn das nicht funktionieren sollte, wird etwas Handarbeit erforderlich sein.

Vielleicht ist’s auch einfacher, ein Debian-Livesystem herzunehmen und den Wünschen entsprechend zu modifizieren.
rjh hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 10:57:20
niemand hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 07:56:53

Wenn ich mich recht erinnere, bietet der Installer einen „Expertenmodus“ an, in dem man dann angeben kann, wohin der Bootloader geschrieben werden soll – dort würde man den Stick selbst angeben.
Die Möglichkeit hat man auch im "normalen" Installationsmodus. Ganz am Schluß kommt die Meldung in der es sinngemäß heißt, es würde alles passend dafür ausschauen jetzt den Bootloader standardmäßig zu installieren, wenn man das wolle. Wenn man das dann verneint, wird daraufhin die Option angezeigt, den Bootloader auch auf das gewünschte Medium, in dem Fall der USB-Stick zu installieren.

Habe mir kürzlich erst einen M2-USB "Stick" installiert mit UEFI. Es hängt dann, wie oben bereits ausgeführt, davon ab, wie das BIOS des anderen Rechners das USB-Device erkennt. Mit Umstellen der UEFI / Legacy Auswahl und/oder "F7" (bzw. wo der Rechner ggf. eine Boot-Auswahl vorsieht) schafft man es meist irgendwann dann auch den Stick zu booten.

Bei LVM-Volumes ist es meiner Erfahrung nach ggf. problematischer, falls mit GRUB doch etwas schief geht, das System noch aus dem GRUB Rescue Mode zu booten. Mir ist das zumindest nicht gelungen.

Vielen Dank für eure Kommentare! Dank denen habe ich etwas mehr in Richtung Bootloader recherchiert, und die Lösung des Problems gefunden:

EFI Boot benötigt eine andere Dateistruktur wenn von einem USB Device anstatt einer internen Platte gebootet werden soll.
Die Lösung dafür ist simpel:
Nachdem man das System normal auf den USB Stick installiert hat, wie ich beschrieben habe, einfach das neu installierte System booten, und folgendes im Terminal eingeben:

EDIT: WICHTG: Vor der Installation sollten alle bootfähigen Harddisks unbedingt ausgesteckt werden, ansonsten installiert der Setup automatisch den EFI Bootloader auf diese und nicht den Stick!

grub-install --removable /dev/sdX

dieser Befehl installiert Grub2 mit der korrekten Dateistruktur für externe Devices, wobei /dev/sdX der USB Stick ist. Wichtig: sollte der USB Stick beispielsweise sdb sein, dann auch sdb benutzen, und NICHT sdb1 oder sdb2 etc.

Das wichtige ist der Parameter --removable - Dies bewirkt, dass grub2 mit der nötigen Dateistruktur für USB Sticks / Platten installiert wird.

Nun bootet der Stick auf allen Devices, welche EFI benutzen.

BIOS/CSM/legacy habe ich nicht getestet, da ich es nicht brauche (und heutzutage fast alle neueren Geräte sowieso EFI sind).

Wer dies aber trotzdem möchte, dem kann ich diesen Post mit einer Anleitung empfehlen, dort habe ich auch die Lösung oben gefunden:

https://unix.stackexchange.com/a/646034

LG und noch einen schönen Sonntag!
Zuletzt geändert von simplex am 09.10.2022 23:04:29, insgesamt 1-mal geändert.

Benutzeravatar
grubenlicht
Beiträge: 556
Registriert: 10.06.2021 22:35:56

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von grubenlicht » 09.10.2022 19:09:22

du hättest auch einfach beim ersten Installieren auf den Stick der internen ESP die Markierung esp "klauen" können, denn der Installer wählt immer automatisch die erste gefundene ESP. Wenn dann also auf dem Stick eine angelegt ist mit Markierung esp, dann wird auch nur die gewählt.
Ferner sollte/könnte man auch noch unnötig erzeugte NVRAM Einträge bereinigen.

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von Livingston » 09.10.2022 19:54:32

simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 15:31:45
Das wichtige ist der Parameter --removable - Dies bewirkt, dass grub2 mit der nötigen Dateistruktur für USB Sticks / Platten installiert wird.
Genau genommen bewirkt --removable, dass nichts im UEFI des Rechners verändert wird, sondern nur der Stick bootbar gemacht wird, und dass der Bootloader auf dem Stick den generischen Namen bootx64.efi verpasst bekommt (statt grubx oder sonst was an das System angepasstes).
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

simplex
Beiträge: 4
Registriert: 09.10.2022 03:01:41

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von simplex » 09.10.2022 23:15:06

grubenlicht hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 19:09:22
du hättest auch einfach beim ersten Installieren auf den Stick der internen ESP die Markierung esp "klauen" können, denn der Installer wählt immer automatisch die erste gefundene ESP. Wenn dann also auf dem Stick eine angelegt ist mit Markierung esp, dann wird auch nur die gewählt.
Ferner sollte/könnte man auch noch unnötig erzeugte NVRAM Einträge bereinigen.
Wäre einfacher, habe jedoch keine solche Option während dem Setup gesehen. Bist du sicher, dass dies möglich ist?
Livingston hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 19:54:32
simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 15:31:45
Das wichtige ist der Parameter --removable - Dies bewirkt, dass grub2 mit der nötigen Dateistruktur für USB Sticks / Platten installiert wird.
Genau genommen bewirkt --removable, dass nichts im UEFI des Rechners verändert wird, sondern nur der Stick bootbar gemacht wird, und dass der Bootloader auf dem Stick den generischen Namen bootx64.efi verpasst bekommt (statt grubx oder sonst was an das System angepasstes).
Würde nicht darauf setzen, dass nichts im UEFI des Rechners verändert wird. Ich habe heute morgen grub-install mit -removable benutzt, und dabei vergessen, dass der EFI Bootloader des Sticks auf einer Internen HD lag, zusammen mit dem Windows Bootloader. Dies hat mir den Windows Bootloader komplett abgeschossen, und ich musste von Hand den gesamten Windows bootloader neu aufsetzen, inkl. Partition etc. Hat mehrere Stunden gedauert, und ich denke hatte viel mit Glück zu tun, dass ich dies geschafft habe.

Benutzeravatar
grubenlicht
Beiträge: 556
Registriert: 10.06.2021 22:35:56

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von grubenlicht » 10.10.2022 11:26:32

simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 23:15:06
...Bist du sicher, dass dies möglich ist?
ja, das macht man von außerhalb des Installationvorgangs, z.B. von einem LiveSystem aus mit gparted
Livingston hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 19:54:32
Das wichtige ist der Parameter --removable - Dies bewirkt, dass grub2 mit der nötigen Dateistruktur für USB Sticks / Platten installiert wird.
in man grub-install steht davon allerdings nichts, kannst Du dazu mal mehr Infos liefern
Zitat man grub-install
--removable
the installation device is removable. This option is only avail‐
able on EFI.
Genau genommen bewirkt --removable, dass nichts im UEFI des Rechners verändert wird, sondern nur der Stick bootbar gemacht wird, und dass der Bootloader auf dem Stick den generischen Namen bootx64.efi verpasst bekommt (statt grubx oder sonst was an das System angepasstes).
das kann ich bestätigen z.B.
/EFI/ubuntu:
grubx64.efi mmx64.efi shimx64.efi
simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 23:15:06
Dies hat mir den Windows Bootloader komplett abgeschossen
wahrscheinlich wurde lediglich die BootOrder geändert…
und ich musste von Hand den gesamten Windows bootloader neu aufsetzen, inkl. Partition etc.
möchtest du mal aufzeigen, wie du das gemacht hast?

Benutzeravatar
Tintom
Moderator
Beiträge: 3069
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von Tintom » 10.10.2022 12:34:51

simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 23:15:06
Würde nicht darauf setzen, dass nichts im UEFI des Rechners verändert wird.
Andersrum wird ein Schuh draus: Es wird immer im UEFI etwas verändert, solange nicht die Option --no-nvram mitgegeben wird

Benutzeravatar
Livingston
Beiträge: 1816
Registriert: 04.02.2007 22:52:25
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.0.0.1

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von Livingston » 10.10.2022 13:03:49

Jo, --no-nvram ist tatsächlich die einzig sichere Methode, um die UEFI-Tabellen unangetastet zu lassen.
Die man page ist bezüglich --removable etwas schwammig:
--removable
gibt an, dass das Installationsgerät ein Wechseldatenträger ist. Diese Option ist nur für EFI verfüg‐
bar.
Was dabei heraus kommt: Ein Eintrag auf dem angegebenen Gerät unter <boot>/EFI/boot/bootx64.efi bzw. bei 32-Bit-UEFI: bootia32.efi
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams

simplex
Beiträge: 4
Registriert: 09.10.2022 03:01:41

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von simplex » 11.10.2022 20:51:08

grubenlicht hat geschrieben: ↑ zum Beitrag ↑
10.10.2022 11:26:32
simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 23:15:06
...Bist du sicher, dass dies möglich ist?
ja, das macht man von außerhalb des Installationvorgangs, z.B. von einem LiveSystem aus mit gparted
Verstehe nicht, wie man das mit einem Partitionsprogramm lösen könnte. Das Ziel ist ja, dass der Debian Setup den EFI Bootloader auf dem Stick installiert, und nicht der internen HD. Ich konnte keine Option finden, auf der man dies wählen könnte (evtl. habe ich etwas übersehen...?). Darum war meine Lösung einfach alle internen HDDs von denen gebootet werden kann, auszustecken, sodass der Setup gezwungen ist, den EFI Bootloader auf dem Stick zu installieren.
grubenlicht hat geschrieben: ↑ zum Beitrag ↑
10.10.2022 11:26:32
simplex hat geschrieben: ↑ zum Beitrag ↑
09.10.2022 23:15:06
Dies hat mir den Windows Bootloader komplett abgeschossen
wahrscheinlich wurde lediglich die BootOrder geändert…
und ich musste von Hand den gesamten Windows bootloader neu aufsetzen, inkl. Partition etc.
möchtest du mal aufzeigen, wie du das gemacht hast?
Keine Ahnung was genau geändert wurde. Auf jeden Fall wurde der Windows Bootloader nicht mehr erkannt und ein Boot war unmöglich.
Ich habe den Windows bootloader mithilfe von dieser Anleitung neu erstellt (Kurz: Habe die komplette Bootpartition gelöscht und dann per dieser Anleitung wieder aufgebaut. Danach manuell einen neuen Boot Eintrag in das NVRAM geschrieben mit efibootmgr auf einem LIVE Linux):

http://woshub.com/how-to-repair-deleted ... windows-7/

Nachdem ich viele andere Dinge probiert habe - Dies hat teilweise funktioniert.

Bootloader wurde aber im Bios nicht angezeigt, und mein Bios unterstützt die manuelle Auswahlt von EFI files nicht, darum musste ich mit einem Linux Live System mit efibootmgr manuell einen neue Eintrag anlegen, der auf EFI\Microsoft\Boot\bootmgr.efi verwies (nicht auf EFI\Microsoft\Boot\bootmgrfw.efi), wie in der Anletung beschrieben!)

Benutzeravatar
grubenlicht
Beiträge: 556
Registriert: 10.06.2021 22:35:56

Re: Universeller Debian USB Stick mit Persistenz - Aber funktioniert nur auf einem Rechner!

Beitrag von grubenlicht » 11.10.2022 22:24:52

simplex hat geschrieben: ↑ zum Beitrag ↑
11.10.2022 20:51:08
Verstehe nicht, wie man das mit einem Partitionsprogramm lösen könnte.
deswegen schrieb ich ja
ja, das macht man von außerhalb des Installationvorgangs, z.B. von einem LiveSystem aus mit gparted
man enfernt die Markierung esp von der internen ESP.
Klar kann man auch die interne(n) Platte(n) abstecken, läuft auf 's selbe hinaus.

Antworten