staging.inyokaproject.org

Für diese Funktion musst du eingeloggt sein.

GRUB_2/Shell

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels GRUB_2/Shell.

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 7478

Newubunti schrieb:

vielleicht reden wir ja gerade aneinander vorbei. Daher wie war denn Deine Frage

Deine Antwort hat mich zu den Tests animiert und ich wollte nur meine Ergebnisse mitteilen.

Was ich schon interessant finde, bei mir funktioniert es nur im BIOS-Modus der VM genau so wie es im Wiki steht. Im UEFI kommen immer Startseiten der UEFI-Firmware.

Leider scheint das eben nicht allgemeingültig zu sein. Meine VM ist "VirtualBox Version 6.1.32".

Der UEFI-Vorgang im Host und der im der VM unterscheiden sich durch eine andere Startseiten der UEFI-Firmware.

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 4768

@Berlin_1946:

Was aktuell im Wiki steht, soll ja geändert werden. Der aktuelle Vorschlag steht hier.

Was das Testen unter VirtualBox anbelangt, hatte auch black_tencate hier kurz angetestet.

Wann drückst Du bei den VirtualBox-Tests denn die jeweilige Taste? Wenn Du in VirtualBox das Menü in der /etc/default/grub auf countdown konfigurierst und dann wenn der Countdown beim Booten läuft die Esc -Taste drückst, dann kommt bei Dir immer noch das UEFI-Menü von VirtualBox?

LG, Newubunti

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 7478

Newubunti schrieb:

Wann drückst Du bei den VirtualBox-Tests denn die jeweilige Taste? Wenn Du in VirtualBox das Menü in der /etc/default/grub auf countdown konfigurierst und dann wenn der Countdown beim Booten läuft die Esc -Taste drückst, dann kommt bei Dir immer noch das UEFI-Menü von VirtualBox?

Hat nur unmittelbar nach Erscheinen des schwarzen Bildschirm gewirkt, sonst startete der Bootvorgang.

Stelle doch deinen Vorschlag ein und wir warten ab, wie darauf reagiert wird. Vllt sind dann nicht nur wir zwei an dem Thema. 😎

Ich meine, da sind eben nur unsere Rechner die Testobjekte. Für allgemeingültige Aussagen ist das keine breite Basis. 😉

Gehen wir davon aus, dass der Vorschlag so allgemein gehalten ist, dass er für sehr viele Fälle hilft.

Nachtrag:

Ich habe nur mit dieser Änderung GRUB_TIMEOUT=10 getestet.

Wenn du Interesse hast, poste doch deine /etc/default/grub , dann teste ich auch mal damit.

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 4768

Berlin_1946 schrieb:

Hat nur unmittelbar nach Erscheinen des schwarzen Bildschirm gewirkt, sonst startete der Bootvorgang.

Du hast das so konfiguriert,

GRUB_TIMEOUT_STYLE=countdown
GRUB_TIMEOUT=10

und erhältst dann nur einen schwarzen Bildschirm? Ich erhalte dann einen schwarzen Bildschirm auf dem der Countdown herunter gezählt wird und in der Zeit drück ich dann die Esc .

LG, Newubunti

EDIT:

Dein Nachtrag und mein Post hatten sich jetzt zeitlich überschnitten.

EDIT: Und nach den Änderungen an der /etc/default/grub führst Du aber schon

sudo update-grub

aus, oder?

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 7478

Hallo Newubunti,

mache ich morgen.

Nur diese 2 Punkte geändert.

GRUB_TIMEOUT_STYLE=countdown
GRUB_TIMEOUT=10

bzw jetzt nur noch den einen. 🤣

Berlin_1946 Team-Icon

Supporter, Wikiteam

Anmeldungsdatum:
18. September 2009

Beiträge: 7478

Newubunti schrieb:

Ich erhalte dann einen schwarzen Bildschirm auf dem der Countdown herunter gezählt wird und in der Zeit drück ich dann die Esc .

Ja gleiches Verhalten.

Nachtrag:

im der VM im BIOS-Modus funktionieren und Esc .

Nachtrag 2:

in den VMs im UEFI-Modus funktionieren keine

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 4768

Ok, danke, für die Rückmeldung. Dann verhält sich GRUB letztlich grundsätzlich bei Dir schon so wie allgemein bekannt und im Wiki hatte vor allem der Hinweis auf Esc gefehlt.

Alles andere ist dann System-individuell und lässt sich leider nicht besser allgemein beschreiben, als "nach POST-Bildschirm drücken".

LG, Newubunti

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 10674

Hej,

ich habe mal den Abschnitt Starten mit Hilfe der Kommandozeile ein wenig aufgeräumt und korrigiert. Werde es demnächst dann ersetzen, falls kein Widerspruch kommt.

Gruß black tencate

Starten mit Hilfe der Kommandozeile

Die GRUB 2 Kommandozeile bietet dem Benutzer alle für den Systemstart wichtigen Befehle (Liste der cli-Befehle). Es werden jedoch nur einige gebraucht. Sie werden einzeln, nacheinander in der Kommandozeile eingegeben und sind die selben, wie sie auch in der Datei grub.cfg verwendet werden.

Die Eingaben in der Kommandozeile sind nicht dauerhaft, sondern nur einmalig für den entsprechenden Systemstart(versuch).

Der Systemstart aus der Kommandozeile erfolgt nach einem einfachen Schema:

  1. Vorab verschafft man sich mit ls einen Überblick über die angeschlossenen Datenträger.

  2. Zuweisung eines Datenträgers mit den Startdateien des zu startenden Betriebssystems an die Variable root.

  3. Die Startdateien – bei Ubuntu sind das vmlinuz und initrd.img, die sog. Symlinks – werden mit ihren jeweiligen Pfadangaben an die Befehle linux bzw. initrd übergeben. Sofern GRUB diese nicht direkt laden kann - wie es z.B. für Windows der Fall ist - lädt man stattdessen den ersten Sektor des zuvor festgelegten Startdatenträgers mittels chainloader. Dieser Sektor enthält dann das Boot-Programm, des fremden Betriebssystems.

  4. Gestartet wird dann mit den Befehl boot.

Die folgenden Kommandos gibt man der Reihe nach ein und schließt jeweils mit ab:

Beispiel: Linux starten

  1. Start-Datenträger festlegen:

    set root=(hdX,Y) 

    alternativ

    search -f /boot/vmlinuz -set root 
  2. Falls der Home-Ordner auf eine eigene Partition ausgelagert ist muss dieses eingebunden werden:

    set home=(hdX,Y) 

    hdX,Y muss dem eigenen System entsprechend ersetzt werden.

  3. Pfad zu den Startdateien angeben:

    linux /vmlinuz root=/dev/sdXY ro 

    sdXY muss dabei natürlich auch auf das eigene System angepasst werden.

  4. Pfad zur Ramdisk:

    initrd /initrd.img 
  5. System starten:

    boot 

Tipps zu diesem Beispiel:

Tipp1: die Eingabe set root=(hd0,1) ist gleichwertig zu set root=/dev/sda1

Tipp 2: Bei einem normal installierten Jammy Jellyfish liegen die SymLink vmlinuz und initrd unter ▶/boot/vmlinuz◀ bzw. ▶/boot/initrd.img◀.

In Grub funktioniert auch Tab ⇆ zur Dateinamenvervollständigung, d.h. man kann sich bis zu der richtigen Datei "durchhangeln", ohne den exakten Namen zu wissen.

linux / Tab ⇆ ...pfad-zum-linux-image root=/dev/sda1 ro

Beispiel: Windows starten

Hinweis:

Windows hat seinen eigenenen Bootloader. grub kann jenen über die Funktion chainloader starten, dabei ist auf die Unterschiede bei der CSM bzw. EFI Bootmethode zu achten. Ggf. müssen bestimmte Module nachgeladen werden (part_gpt, part_msdos, ntfs… )

  • CSM

    1. Startdatenträger festlegen:

      set root=(hdX,Y) 

      hdX,Y muss dem eigenen System entsprechend ersetzt werden.

    2. Den ersten Sektor des Startdatenträgers laden lassen:

      chainloader +1 
    3. System starten:

      boot 
    4. Alternativ kann man auch mit diesen Befehlen starten:

      search --file /bootmgr --set root
      ntldr /bootmgr
      boot 
  • EFI

    1. Im EFI Modus liegen die Windows Startdateien auf der ESP (Markierung esp,boot), daher muß root auf diese gesetzt werden

      set root=(hdX,Y) 

      hdX,Y anpassen.

    2. der Ladebefehl verweist direkt auf bootmgfw.efi

      chainloader /efi/microsoft/boot/bootmgfw.efi 

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 7816

black_tencate schrieb:

[…] Abschnitt Starten mit Hilfe der Kommandozeile ein wenig aufgeräumt und korrigiert. Werde es demnächst dann ersetzen, falls kein Widerspruch kommt. […]

Sehr schön! Mir ist lediglich ein Punkt aufgefallen:

Tipp1: die Eingabe set root=(hd0,1) ist gleichwertig zu set root=/dev/sda1

Das ist meines Wissens so nicht richtig. GRUB versteht die Angabe /dev/sda1 nicht. Vielleicht ist diese Formulierung besser:

  • Tipp 1: Die Eingabe in der GRUB-Shell set root=(hd0,1) entspricht set root=/dev/sda1 für eine Linux-Shell.

Nach meiner Erinnerung kann man auch auf die Klammern verzichten, also set root=hd0,1 anstatt set root=(hd0,1) schreiben. Bitte nachprüfen. Wenn es stimmt, wäre es eine Erleichterung wegen der (bei deutschen Tastaturen) von der Beschriftung abweichenden Tastenbelegung.

black_tencate

Avatar von black_tencate

Anmeldungsdatum:
27. März 2007

Beiträge: 10674

Hej kB,

kB schrieb:

... Das ist meines Wissens so nicht richtig. GRUB versteht die Angabe /dev/sda1 nicht.

richtig, grub "mault" zwar nicht beider Verwendung, meldet aber dann "no server is specified" Vielleicht ist diese Formulierung besser:

  • Tipp 1: Die Eingabe in der GRUB-Shell set root=(hd0,1) entspricht set root=/dev/sda1 für eine Linux-Shell.

o.k.

Nach meiner Erinnerung kann man auch auf die Klammern verzichten, also set root=hd0,1 anstatt set root=(hd0,1) schreiben.

das ist richtig.

Gruß black tencate

Bilder
Antworten |