Dela via


Använda seriekonsolen för att komma åt GRUB och enanvändarläge

Gäller för: ✔️ Virtuella Linux-datorer

Kommentar

CentOS som refereras i den här artikeln är en Linux-distribution och kommer att nå End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledning.

GRand Unified Bootloader (GRUB) är förmodligen det första du ser när du startar en virtuell dator (VM). Eftersom det visas innan operativsystemet har startat är GRUB inte tillgängligt via SSH. I GRUB kan du ändra startkonfigurationen så att den startar i enanvändarläge, bland annat.

Enanvändarläge är en minimal miljö med minimal funktionalitet. Det kan vara användbart för att undersöka startproblem, filsystemproblem eller nätverksproblem. Färre tjänster kan köras i bakgrunden och beroende på körningsnivå kanske ett filsystem inte ens monteras automatiskt.

Läge för en användare är också användbart i situationer där den virtuella datorn kan konfigureras för att endast acceptera SSH-nycklar för inloggning. I det här fallet kanske du kan använda enanvändarläge för att skapa ett konto med lösenordsautentisering.

Kommentar

Seriekonsoltjänsten tillåter endast användare med deltagarnivå eller högre behörighet att komma åt seriekonsolen för en virtuell dator.

Om du vill ange läget för en användare anger du GRUB när den virtuella datorn startas och ändrar startkonfigurationen i GRUB. Se detaljerade instruktioner för att ange GRUB i nästa avsnitt. Om den virtuella datorn i allmänhet har konfigurerats för att visa GRUB kan du använda omstartsknappen i den virtuella datorns seriekonsol för att starta om den virtuella datorn och visa GRUB.

Skärmbild av knappen Starta om virtuell dator som visas i verktygsfältet.

Allmän GRUB-åtkomst

Om du vill komma åt GRUB startar du om den virtuella datorn medan fönstret Seriekonsol är öppen. Vissa distributioner kräver tangentbordsindata för att visa GRUB, och andra visar grub automatiskt i några sekunder så att användarens tangentbordsindata kan avbryta tidsgränsen.

För att kunna komma åt enanvändarläge vill du se till att GRUB är aktiverat på den virtuella datorn. Beroende på din distribution kan en del installationsarbete vara nödvändigt för att säkerställa att GRUB är aktiverat. Information om distribution finns i nästa avsnitt.

Starta om den virtuella datorn för att få åtkomst till GRUB i seriekonsolen

Du kan starta om den virtuella datorn i seriekonsolen genom att hovra över knappen Starta om och sedan välja Starta om virtuell dator. Ett meddelande om omstarten visas längst ned i fönstret.

Du kan också starta om den virtuella datorn genom att köra ett SysRq "b"-kommando om SysRq är aktiverat. Information om vad du kan förvänta dig av GRUB när du startar om finns i de distributionsspecifika anvisningarna i nästa avsnitt.

Animerad GIF visar ett kommandoradsgränssnitt. Användaren väljer Starta om virtuell dator i verktygsfältet och sedan startas V M i seriekonsolen om.

Allmän åtkomst till enanvändarläge

Du kan behöva manuell åtkomst till enanvändarläge när du inte har konfigurerat ett konto med lösenordsautentisering. Ändra GRUB-konfigurationen för att manuellt gå in i enanvändarläge. När du har gjort det kan du läsa avsnittet "Använd enanvändarläge för att återställa eller lägga till ett lösenord" för ytterligare instruktioner.

Om den virtuella datorn inte kan starta, släpper distributioner dig ofta automatiskt i enanvändarläge eller nödläge. Andra distributioner kräver dock ytterligare konfiguration, till exempel att konfigurera ett rotlösenord, innan de kan släppa dig till en användare eller nödläge automatiskt.

Använd enanvändarläge för att återställa eller lägga till ett lösenord

När du är i enanvändarläge lägger du till en ny användare med sudo-behörighet genom att göra följande:

  1. Kör useradd <username> för att lägga till en användare.
  2. Kör sudo usermod -a -G sudo <username> för att bevilja den nya användarens rotbehörigheter.
  3. Använd passwd <username> för att ange lösenordet för den nya användaren. Du kan sedan logga in som ny användare.

Åtkomst för Red Hat Enterprise Linux (RHEL)

Om RHEL inte kan starta normalt, släpps du automatiskt i enanvändarläge. Men om du inte har konfigurerat rotåtkomst för enanvändarläge har du inget rotlösenord och kan inte logga in. Det finns en lösning (se avsnittet "Ange läget för en användare manuellt i RHEL" manuellt), men vi föreslår att du konfigurerar rotåtkomst från början.

GRUB-åtkomst i RHEL

RHEL levereras med GRUB aktiverat ur lådan. Om du vill ange GRUB startar du om den virtuella datorn genom att köra sudo rebootoch trycker sedan på valfri tangent. GRUB-fönstret ska visas. Om det inte är det kontrollerar du att följande rader finns i GRUB-filen (/etc/default/grub):

För RHEL 8

Kommentar

Red Hat rekommenderar att du använder Grubby för att konfigurera kernel-kommandoradsparametrar i RHEL 8+. Det går för närvarande inte att uppdatera grub-timeout- och terminalparametrarna med grubby. Om du vill ändra uppdatera argumentet GRUB_CMDLINE_LINUX för alla startposter kör du grubby --update-kernel=ALL --args="console=ttyS0,115200 console=tty1 console=ttyS0 earlyprintk=ttyS0". Mer information finns här.

GRUB_TIMEOUT=5
GRUB_TERMINAL="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"

För RHEL 7

GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 net.ifnames=0"

Kommentar

Red Hat innehåller även dokumentation för start i räddningsläge, nödläge eller felsökningsläge och för återställning av rotlösenordet. Anvisningar finns i Terminal-menyredigering under start.

Konfigurera rotåtkomst för enanvändarläge i RHEL

Rotanvändaren är inaktiverad som standard. Enanvändarläge i RHEL kräver att rotanvändaren är aktiverad. Om du behöver aktivera enanvändarläge använder du följande instruktioner:

  1. Logga in på Red Hat-systemet via SSH.
  2. Växla till rot.
  3. Aktivera lösenordet för rotanvändaren genom att göra följande:
    • Kör passwd root (ange ett starkt rotlösenord).
  4. Kontrollera att rotanvändaren endast kan logga in via ttyS0 genom att göra följande: a. Kör vi /etc/ssh/sshd_configoch se till att PermitRootLogIn är inställt på no. b. Kör vi /etc/securetty file för att endast tillåta inloggning via ttyS0.

Om systemet nu startas i enanvändarläge kan du logga in med rotlösenordet.

Du kan också för RHEL 7.4+ eller 6.9+, för att aktivera enanvändarläge i GRUB-prompterna, se Starta i enanvändarläge.

Ange enanvändarläge manuellt i RHEL

Om du har konfigurerat GRUB och rotåtkomst med hjälp av föregående instruktioner kan du ange läget för en användare genom att göra följande:

  1. Om du vill ange GRUB trycker du på Esc när du startar om den virtuella datorn.

  2. I GRUB trycker du på E för att redigera det operativsystem som du vill starta i. Operativsystemet visas vanligtvis på den första raden.

  3. Leta rätt på kernel-linjen. I Azure börjar den med linux eller linux16.

  4. Tryck på Ctrl+E för att gå till slutet av raden.

  5. I slutet av raden lägger du till systemd.unit=rescue.target.

    Den här åtgärden startar dig i enanvändarläge. Om du vill använda nödläge lägger du till systemd.unit=emergency.target i slutet av linjen (i stället för systemd.unit=rescue.target).

  6. Tryck på Ctrl+X för att avsluta och starta om med de tillämpade inställningarna.

    Du uppmanas att ange administratörslösenordet innan du kan gå in i enanvändarläge. Det här lösenordet är det som du skapade i föregående instruktioner.

    Animerad GIF visar ett kommandoradsgränssnitt. Användaren väljer en server, letar upp slutet av kernelraden och anger sedan den angivna texten.

Ange enanvändarläge utan att rotkontot är aktiverat i RHEL

Om du inte har aktiverat rotanvändaren genom att följa de tidigare anvisningarna kan du fortfarande återställa rotlösenordet genom att göra följande:

Kommentar

Om du använder SELinux bör du följa de ytterligare steg som beskrivs i Red Hat-dokumentationen när du återställer rotlösenordet.

  1. Om du vill ange GRUB trycker du på Esc när du startar om den virtuella datorn.

  2. I GRUB trycker du på E för att redigera det operativsystem som du vill starta i. Operativsystemet visas vanligtvis på den första raden.

  3. Leta rätt på kernel-linjen. I Azure börjar den med linux16.

  4. I slutet av raden lägger du till rd.break i slutet av raden. Lämna ett utrymme mellan kernellinjen och rd.break.

    Den här åtgärden avbryter startprocessen innan kontrollen skickas från initramfs till systemd, enligt beskrivningen i Red Hat-dokumentationen.

  5. Tryck på Ctrl+X för att avsluta och starta om med de tillämpade inställningarna.

    När du har startat om släpps du i nödläge med ett skrivskyddat filsystem.

  6. I gränssnittet anger du mount -o remount,rw /sysroot för att återmontera rotfilsystemet med läs-/skrivbehörighet.

  7. När du har startat i enanvändarläge anger du chroot /sysroot för att växla till sysroot fängelset.

  8. Nu är du i roten och kan börja felsöka systemproblemen.

  9. I RHEL skyddar SELinux framtvingandeläget operativsystemet från ändringar. Du kan köra touch /.autorelabel för att ange filsystemet igen när lösenordet har ändrats.

  10. När du är klar anger du reboot -f för att starta om.

Animerad GIF visar processen att gå in i enanvändarläge utan att rotkontot är aktiverat i RHEL i kommandoradsgränssnittet.

Kommentar

När du går igenom föregående instruktioner hamnar du i nödgränssnittet så att du även kan utföra uppgifter som att redigera fstab. Vi rekommenderar dock vanligtvis att du återställer rotlösenordet och använder det för att gå in i enanvändarläge.

Åtkomst för CentOS

Precis som Red Hat Enterprise Linux kräver enanvändarläget i CentOS GRUB och rotanvändaren aktiveras.

GRUB-åtkomst i CentOS

CentOS levereras med GRUB aktiverat direkt. Om du vill ange GRUB startar du om den virtuella datorn genom att ange sudo rebootoch trycker sedan på valfri tangent. Den här åtgärden visar GRUB-fönstret.

Läge för en användare i CentOS

Om du vill aktivera enanvändarläge i CentOS följer du de tidigare anvisningarna för RHEL.

Åtkomst för Ubuntu

Ubuntu-avbildningar kräver inget rotlösenord. Om systemet startas i enanvändarläge kan du använda det utan ytterligare autentiseringsuppgifter.

GRUB-åtkomst i Ubuntu

Om du vill komma åt GRUB trycker du på och håller på Esc medan den virtuella datorn startas.

Som standard kanske Ubuntu-avbildningar inte automatiskt visar GRUB-fönstret. Du kan ändra inställningen genom att göra följande:

  1. Öppna filen /etc/default/grub.d/50-cloudimg-settings.cfg i en textredigerare.

  2. Ändra värdet GRUB_TIMEOUT till ett värde som inte är noll.

  3. Öppna /etc/default/grub i en textredigerare.

  4. Kommentera ut raden GRUB_HIDDEN_TIMEOUT=1 .

  5. Se till att det finns en GRUB_TIMEOUT_STYLE=menu rad.

  6. Kör sudo update-grub.

Läge för en användare i Ubuntu

Om Ubuntu inte kan starta normalt hamnar du automatiskt i enanvändarläge. Om du vill ange enanvändarläge manuellt gör du följande:

  1. I GRUB trycker du på E för att redigera startposten (Ubuntu-posten).
  2. Leta efter raden som börjar med linux och leta sedan efter ro.
  3. Lägg till enkel efter ro, vilket säkerställer att det finns ett utrymme före och efter enkel.
  4. Tryck på Ctrl+X för att starta om med de här inställningarna och ange läget för en användare.

Använda GRUB för att anropa bash i Ubuntu

När du har provat föregående instruktioner kan det finnas en situation (till exempel ett bortglömt rotlösenord) där du fortfarande inte kan komma åt enanvändarläget på den virtuella Ubuntu-datorn. Du kan också be kerneln att köras /bin/bash som init i stället för systeminit. Den här åtgärden ger dig ett bash-gränssnitt och möjliggör systemunderhåll. Använd följande instruktioner:

  1. I GRUB trycker du på E för att redigera startposten (Ubuntu-posten).

  2. Leta efter raden som börjar med linux och leta sedan efter ro.

  3. Ersätt ro med rw init=/bin/bash.

    Den här åtgärden monterar filsystemet som skrivskyddat och används /bin/bash som initprocess.

  4. Tryck på Ctrl+X för att starta om med de här inställningarna.

Åtkomst för CoreOS

Enanvändarläge i CoreOS kräver att GRUB är aktiverat.

GRUB-åtkomst i CoreOS

Om du vill komma åt GRUB trycker du på valfri tangent medan den virtuella datorn startas.

Läge för en användare i CoreOS

Om CoreOS inte kan starta normalt hamnar du automatiskt i enanvändarläge. Om du vill ange enanvändarläge manuellt gör du följande:

  1. I GRUB trycker du på E för att redigera startposten.

  2. Leta efter raden som börjar med linux$. Det bör finnas två instanser av raden, var och en inkapslad i en annan om... else-sats .

  3. Lägg till coreos.autologin=ttyS0 i slutet av varje linux$-rad.

  4. Tryck på Ctrl+X för att starta om med de här inställningarna och ange läget för en användare.

Åtkomst för SUSE SLES

Nyare bilder av SLES 12 SP3+ tillåter åtkomst via seriekonsolen om systemet startas i nödläge.

GRUB-åtkomst i SUSE SLES

GRUB-åtkomst i SLES kräver en startladdarkonfiguration via YaST. Gör följande för att skapa konfigurationen:

  1. Använd SSH för att logga in på din virtuella SLES-dator och kör sudo yast bootloadersedan . Tryck på Tabb, tryck på Retur och använd sedan piltangenterna för att navigera genom menyn.

  2. Gå till Kernelparametrar och markera sedan kryssrutan Använd seriekonsol .

  3. Lägg till serial --unit=0 --speed=9600 --parity=no i konsolargumenten.

  4. Spara inställningarna och avsluta genom att trycka på F10.

  5. Om du vill ange GRUB startar du om den virtuella datorn och trycker på valfri tangent under startsekvensen för att grub-fönstret ska visas.

    Standardtimeouten för GRUB är 1s. Du kan ändra den här inställningen genom att ändra variabeln GRUB_TIMEOUT i filen /etc/default/grub .

Animerad GIF visar processen för att skapa startladdarens konfiguration via YaST.

Läge för en användare i SUSE SLES

Om SLES inte kan starta normalt släpps du automatiskt i nödgränssnittet. Gör följande för att ange nödgränssnittet manuellt:

  1. I GRUB trycker du på E för att redigera startposten (SLES-posten).

  2. Leta efter kernelraden som börjar med linux.

  3. Lägg till systemd.unit=emergency.target i slutet av kernelraden.

  4. Tryck på Ctrl+X för att starta om med de här inställningarna och ange nödgränssnittet.

    Kommentar

    Den här åtgärden släpper in dig i nödgränssnittet med ett skrivskyddat filsystem. Om du vill redigera filer monterar du om filsystemet med läs- och skrivbehörighet. Om du vill göra det anger du mount -o remount,rw / i gränssnittet.

Åtkomst för Oracle Linux

Precis som Red Hat Enterprise Linux kräver enanvändarläge i Oracle Linux GRUB och rotanvändaren aktiveras.

GRUB-åtkomst i Oracle Linux

Oracle Linux levereras med GRUB aktiverat direkt. Om du vill ange GRUB startar du om den virtuella datorn genom att köra sudo rebootoch trycker sedan på Esc. Den här åtgärden visar GRUB-fönstret. Om GRUB-fönstret inte visas kontrollerar du att värdet på raden innehåller seriekonsolen GRUB_TERMINAL (d.v.sGRUB_TERMINAL="serial console". ). Återskapa GRUB med grub2-mkconfig -o /boot/grub/grub.cfg.

Läge för en användare i Oracle Linux

Om du vill aktivera enanvändarläge i Oracle Linux följer du de tidigare anvisningarna för RHEL.

Nästa steg

Mer information om seriekonsolen finns i:

Kontakta oss om du behöver hjälp

Om du har frågor eller behöver hjälp skapar du en supportbegäran eller frågar Azure Community-support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.