Seriële console gebruiken om toegang te krijgen tot GRUB en de modus voor één gebruiker
Van toepassing op: ✔️ Virtuele Linux-machines
Notitie
CentOS waarnaar in dit artikel wordt verwezen, is een Linux-distributie en bereikt het einde van de levensduur (EOL). Houd rekening met uw gebruik en plan dienovereenkomstig. Zie De richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.
GRand Unified Bootloader (GRUB) is waarschijnlijk het eerste wat u ziet wanneer u een virtuele machine (VM) opstart. Omdat het wordt weergegeven voordat het besturingssysteem is gestart, is GRUB niet toegankelijk via SSH. In GRUB kunt u uw opstartconfiguratie wijzigen om te worden opgestart in de modus voor één gebruiker, onder andere.
De modus voor één gebruiker is een minimale omgeving met minimale functionaliteit. Het kan handig zijn voor het onderzoeken van opstartproblemen, bestandssysteemproblemen of netwerkproblemen. Minder services kunnen op de achtergrond worden uitgevoerd en, afhankelijk van het runlevel, kan een bestandssysteem mogelijk niet automatisch worden gekoppeld.
De modus voor één gebruiker is ook handig in situaties waarin uw VIRTUELE machine kan worden geconfigureerd om alleen SSH-sleutels voor aanmelding te accepteren. In dit geval kunt u mogelijk de modus voor één gebruiker gebruiken om een account te maken met wachtwoordverificatie.
Notitie
Met de seriële consoleservice kunnen alleen gebruikers met machtigingen op inzenderniveau of hoger toegang krijgen tot de seriële console van een virtuele machine.
Als u de modus voor één gebruiker wilt invoeren, voert u GRUB in wanneer de VM wordt opgestart en wijzigt u de opstartconfiguratie in GRUB. Zie gedetailleerde instructies voor het invoeren van GRUB in de volgende sectie. Als uw VIRTUELE machine is geconfigureerd om GRUB weer te geven, kunt u de knop Voor opnieuw opstarten in de seriële console van uw VIRTUELE machine gebruiken om de VIRTUELE machine opnieuw op te starten en GRUB weer te geven.
Algemene GRUB-toegang
Als u toegang wilt krijgen tot GRUB, start u de VM opnieuw op terwijl het deelvenster Seriële console is geopend. Voor sommige distributies is toetsenbordinvoer vereist om GRUB weer te geven. Andere distributies laten GRUB gedurende een paar seconden automatisch zien, zodat gebruikerstoetsenbordinvoer de time-out kan annuleren.
Als u toegang wilt krijgen tot de modus voor één gebruiker, wilt u ervoor zorgen dat GRUB is ingeschakeld op uw VIRTUELE machine. Afhankelijk van uw distributie is het mogelijk dat bepaalde installatiewerkzaamheden nodig zijn om ervoor te zorgen dat GRUB is ingeschakeld. Zie de volgende sectie voor distributiespecifieke informatie.
Start de VM opnieuw op om toegang te krijgen tot GRUB in seriële console
U kunt de VIRTUELE machine opnieuw opstarten in de seriële console door de muisaanwijzer op de knop Opnieuw opstarten te bewegen en vervolgens De VM opnieuw opstarten te selecteren. Onder aan het deelvenster wordt een melding over het opnieuw opstarten weergegeven.
U kunt de virtuele machine ook opnieuw opstarten door een SysRq -opdracht 'b' uit te voeren als SysRq is ingeschakeld. Zie de distributiespecifieke instructies in de volgende secties voor informatie over wat u van GRUB kunt verwachten wanneer u opnieuw opstart.
Algemene toegang tot modus voor één gebruiker
Mogelijk hebt u handmatige toegang nodig tot de modus voor één gebruiker wanneer u geen account met wachtwoordverificatie hebt geconfigureerd. Wijzig de GRUB-configuratie om handmatig de modus voor één gebruiker in te voeren. Nadat u dit hebt gedaan, raadpleegt u de sectie 'Modus voor één gebruiker gebruiken om een wachtwoord opnieuw in te stellen of toe te voegen' voor meer instructies.
Als de VIRTUELE machine niet kan worden opgestart, worden distributies vaak automatisch in de modus voor één gebruiker of in de noodmodus geplaatst. Andere distributies vereisen echter extra instellingen, zoals het instellen van een hoofdwachtwoord, voordat ze u automatisch kunnen neerzetten in de modus voor één gebruiker of noodgeval.
De modus voor één gebruiker gebruiken om een wachtwoord opnieuw in te stellen of toe te voegen
Nadat u zich in de modus voor één gebruiker bevindt, voegt u als volgt een nieuwe gebruiker met sudo-bevoegdheden toe:
- Voer
useradd <username>
deze opdracht uit om een gebruiker toe te voegen. - Voer deze opdracht
sudo usermod -a -G sudo <username>
uit om de nieuwe gebruikershoofdbevoegdheden toe te kennen. - Hiermee
passwd <username>
stelt u het wachtwoord voor de nieuwe gebruiker in. U kunt zich vervolgens aanmelden als de nieuwe gebruiker.
Toegang voor Red Hat Enterprise Linux (RHEL)
Als RHEL normaal niet kan worden opgestart, wordt u automatisch in de modus voor één gebruiker geplaatst. Als u echter geen hoofdtoegang hebt ingesteld voor de modus voor één gebruiker, hebt u geen hoofdwachtwoord en kunt u zich niet aanmelden. Er is een tijdelijke oplossing (zie de sectie 'Handmatig de modus voor één gebruiker invoeren in RHEL'), maar we raden u aan om in eerste instantie hoofdtoegang in te stellen.
GRUB-toegang in RHEL
RHEL wordt geleverd met GRUB die out-of-the-box is ingeschakeld. Als u GRUB wilt invoeren, start u de VM opnieuw op door deze uit te voeren sudo reboot
en drukt u vervolgens op een willekeurige toets. Het deelvenster GRUB moet worden weergegeven. Als dit niet het is, controleert u of de volgende regels aanwezig zijn in uw GRUB-bestand (/etc/default/grub
):
Voor RHEL 8
Notitie
Red Hat raadt het gebruik van Grubby aan om opdrachtregelparameters voor kernel te configureren in RHEL 8+. Het is momenteel niet mogelijk om de time-out van de grub en terminalparameters bij te werken met behulp van grubby. Als u het argument GRUB_CMDLINE_LINUX voor alle opstartvermeldingen wilt wijzigen, voert u het volgende uit grubby --update-kernel=ALL --args="console=ttyS0,115200 console=tty1 console=ttyS0 earlyprintk=ttyS0"
. Meer informatie vindt u hier.
GRUB_TIMEOUT=5
GRUB_TERMINAL="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0 earlyprintk=ttyS0"
Voor RHEL 7
GRUB_TIMEOUT=5
GRUB_TERMINAL_OUTPUT="serial console"
GRUB_CMDLINE_LINUX="console=tty1 console=ttyS0,115200n8 earlyprintk=ttyS0,115200 net.ifnames=0"
Notitie
Red Hat biedt ook documentatie voor het opstarten in de reddingsmodus, noodmodus of foutopsporingsmodus en voor het opnieuw instellen van het hoofdwachtwoord. Zie Terminal-menu bewerken tijdens het opstarten voor instructies.
Hoofdtoegang instellen voor de modus voor één gebruiker in RHEL
De hoofdgebruiker is standaard uitgeschakeld. Voor de modus voor één gebruiker in RHEL moet de hoofdgebruiker zijn ingeschakeld. Als u de modus voor één gebruiker wilt inschakelen, gebruikt u de volgende instructies:
- Meld u via SSH aan bij het Red Hat-systeem.
- Schakel over naar de hoofdmap.
- Schakel het wachtwoord voor de hoofdgebruiker als volgt in:
- Uitvoeren
passwd root
(stel een sterk hoofdwachtwoord in).
- Uitvoeren
- Zorg ervoor dat de hoofdgebruiker zich alleen kan aanmelden via ttyS0 door het volgende te doen: a. Voer
vi /etc/ssh/sshd_config
en zorg ervoor dat PermitRootLogIn is ingesteld opno
. b. Uitvoerenvi /etc/securetty file
om aanmelding alleen toe te staan via ttyS0.
Als het systeem nu wordt opgestart in de modus voor één gebruiker, kunt u zich aanmelden met het hoofdwachtwoord.
Als u voor RHEL 7.4+ of 6.9+ de modus voor één gebruiker wilt inschakelen in de GRUB-prompts, raadpleegt u Opstarten in de modus voor één gebruiker.
Handmatig de modus voor één gebruiker invoeren in RHEL
Als u GRUB- en roottoegang hebt ingesteld met behulp van de voorgaande instructies, kunt u de modus voor één gebruiker als volgt invoeren:
Als u GRUB wilt invoeren, drukt u op Esc wanneer u de VIRTUELE machine opnieuw opstart.
Druk in GRUB op E om het besturingssysteem te bewerken waarin u wilt opstarten. Het besturingssysteem wordt meestal vermeld op de eerste regel.
Zoek de kernellijn. In Azure begint het met Linux of Linux16.
Druk op Ctrl+E om naar het einde van de regel te gaan.
Voeg aan het einde van de regel systemd.unit=rescue.target toe.
Met deze actie wordt u opgestart in de modus voor één gebruiker. Als u de noodmodus wilt gebruiken, voegt u systemd.unit=emergency.target toe aan het einde van de regel (in plaats van systemd.unit=rescue.target).
Druk op Ctrl+X om af te sluiten en opnieuw op te starten met de toegepaste instellingen.
U wordt gevraagd om het beheerderswachtwoord voordat u de modus voor één gebruiker kunt invoeren. Dit wachtwoord is het wachtwoord dat u in de vorige instructies hebt gemaakt.
Voer de modus voor één gebruiker in zonder hoofdaccount ingeschakeld in RHEL
Als u de hoofdgebruiker niet hebt ingeschakeld door de eerdere instructies te volgen, kunt u het hoofdwachtwoord nog steeds opnieuw instellen door het volgende te doen:
Notitie
Als u SELinux gebruikt, moet u, wanneer u het hoofdwachtwoord opnieuw instelt, de aanvullende stappen volgen die worden beschreven in de Red Hat-documentatie.
Als u GRUB wilt invoeren, drukt u op Esc wanneer u de VIRTUELE machine opnieuw opstart.
Druk in GRUB op E om het besturingssysteem te bewerken waarin u wilt opstarten. Het besturingssysteem wordt meestal vermeld op de eerste regel.
Zoek de kernellijn. In Azure begint het met linux16.
Voeg aan het einde van de regel rd.break toe aan het einde van de regel. Laat een spatie tussen de kernellijn en rd.break staan.
Met deze actie wordt het opstartproces onderbroken voordat het besturingselement wordt doorgegeven aan
initramfs
systemd
, zoals beschreven in de Red Hat-documentatie.Druk op Ctrl+X om af te sluiten en opnieuw op te starten met de toegepaste instellingen.
Nadat u opnieuw hebt opgestart, wordt u in de noodmodus geplaatst met een alleen-lezen bestandssysteem.
Voer in de shell in
mount -o remount,rw /sysroot
om het hoofdbestandssysteem opnieuw te koppelen met lees-/schrijfmachtigingen.Nadat u bent opgestart in de modus voor één gebruiker, gaat
chroot /sysroot
u naar desysroot
gevangenis.U bent nu de hoofdmap en u kunt beginnen met het oplossen van de systeemproblemen.
In RHEL beveiligt SELinux de modus afdwingen het besturingssysteem tegen wijzigingen. U kunt uitvoeren
touch /.autorelabel
om het bestandssysteem opnieuw te labelen nadat het wachtwoord is gewijzigd.Nadat u klaar bent, voert
reboot -f
u het opnieuw opstarten in.
Notitie
Als u de voorgaande instructies doorloopt, komt u in de shell voor noodgevallen, zodat u ook taken zoals bewerken fstab
kunt uitvoeren. Normaal gesproken raden we u echter aan uw hoofdwachtwoord opnieuw in te stellen en dit te gebruiken om de modus voor één gebruiker in te voeren.
Toegang voor CentOS
Net als Red Hat Enterprise Linux moet de modus voor één gebruiker in CentOS GRUB en de hoofdgebruiker zijn ingeschakeld.
GRUB-toegang in CentOS
CentOS wordt geleverd met GRUB die out-of-the-box is ingeschakeld. Als u GRUB wilt invoeren, start u de VIRTUELE machine opnieuw op door deze in te voeren sudo reboot
en drukt u vervolgens op een willekeurige toets. Met deze actie wordt het deelvenster GRUB weergegeven.
Modus voor één gebruiker in CentOS
Als u de modus voor één gebruiker in CentOS wilt inschakelen, volgt u de eerdere instructies voor RHEL.
Toegang voor Ubuntu
Ubuntu-installatiekopieën hebben geen hoofdwachtwoord nodig. Als het systeem wordt opgestart in de modus voor één gebruiker, kunt u het zonder extra referenties gebruiken.
GRUB-toegang in Ubuntu
Als u toegang wilt krijgen tot GRUB, houdt u Esc ingedrukt terwijl de VIRTUELE machine wordt opgestart.
Ubuntu-installatiekopieën worden standaard mogelijk niet automatisch weergegeven in het deelvenster GRUB. U kunt de instelling als volgt wijzigen:
Open in een teksteditor het bestand /etc/default/grub.d/50-cloudimg-settings.cfg .
Wijzig de
GRUB_TIMEOUT
waarde in een niet-nulwaarde.Open /etc/default/grub in een teksteditor.
Markeer de
GRUB_HIDDEN_TIMEOUT=1
regel als commentaar.Zorg ervoor dat er een
GRUB_TIMEOUT_STYLE=menu
lijn is.Voer
sudo update-grub
uit.
Modus voor één gebruiker in Ubuntu
Als Ubuntu niet normaal kan opstarten, wordt u automatisch in de modus voor één gebruiker geplaatst. Ga als volgt te werk om de modus voor één gebruiker handmatig in te voeren:
- Druk in GRUB op E om uw opstartvermelding (de Ubuntu-vermelding) te bewerken.
- Zoek naar de lijn die begint met Linux en zoek vervolgens naar ro.
- Voeg één na ro toe, zodat er een spatie voor en na één is.
- Druk op Ctrl+X om opnieuw op te starten met deze instellingen en voer de modus voor één gebruiker in.
GRUB gebruiken om bash aan te roepen in Ubuntu
Nadat u de voorgaande instructies hebt geprobeerd, is er mogelijk een situatie (zoals een vergeten hoofdwachtwoord) waarin u nog steeds geen toegang hebt tot de modus voor één gebruiker in uw Ubuntu-VM. U kunt de kernel ook laten uitvoeren /bin/bash
als init, in plaats van de systeem-init. Met deze actie krijgt u een bash-shell en kunt u systeemonderhoud uitvoeren. Gebruik de volgende instructies:
Druk in GRUB op E om uw opstartvermelding (de Ubuntu-vermelding) te bewerken.
Zoek naar de lijn die begint met Linux en zoek vervolgens naar ro.
Vervang ro door rw init=/bin/bash.
Deze actie koppelt uw bestandssysteem als lezen/schrijven en gebruikt
/bin/bash
als het init-proces.Druk op Ctrl+X om opnieuw op te starten met deze instellingen.
Toegang voor CoreOS
Voor de modus voor één gebruiker in CoreOS moet GRUB zijn ingeschakeld.
GRUB-toegang in CoreOS
Druk op een willekeurige toets terwijl de VM wordt opgestart om toegang te krijgen tot GRUB.
Modus voor één gebruiker in CoreOS
Als CoreOS normaal niet kan worden opgestart, wordt u automatisch in de modus voor één gebruiker geplaatst. Ga als volgt te werk om de modus voor één gebruiker handmatig in te voeren:
Druk in GRUB op E om uw opstartvermelding te bewerken.
Zoek naar de lijn die begint met linux$. Er moeten twee exemplaren van de regel zijn, elk ingekapseld in een andere als... else-component .
Voeg coreos.autologin=ttyS0 toe aan het einde van elke linux$ -regel.
Druk op Ctrl+X om opnieuw op te starten met deze instellingen en voer de modus voor één gebruiker in.
Toegang voor SUSE SLES
Nieuwere installatiekopieën van SLES 12 SP3+ staan toegang toe via de seriële console als het systeem wordt opgestart in de noodmodus.
GRUB-toegang in SUSE SLES
GRUB-toegang in SLES vereist een bootloaderconfiguratie via YaST. Ga als volgt te werk om de configuratie te maken:
Gebruik SSH om u aan te melden bij uw SLES-VM en voer deze uit
sudo yast bootloader
. Druk op Tab, druk op Enter en gebruik vervolgens de pijltoetsen om door het menu te navigeren.Ga naar Kernelparameters en schakel het selectievakje Seriële console gebruiken in.
Voeg deze toe
serial --unit=0 --speed=9600 --parity=no
aan de consoleargumenten .Druk op F10 om uw instellingen op te slaan en af te sluiten.
Als u GRUB wilt invoeren, start u de VM opnieuw op en drukt u op een willekeurige toets tijdens de opstartvolgorde om het deelvenster GRUB weer te geven.
De standaardtime-out voor GRUB is 1s. U kunt deze instelling wijzigen door de
GRUB_TIMEOUT
variabele in het bestand /etc/default/grub te wijzigen.
Modus voor één gebruiker in SUSE SLES
Als SLES niet normaal kan opstarten, wordt u automatisch in de noodshell geplaatst. Ga als volgt te werk om de noodshell handmatig in te voeren:
Druk in GRUB op E om uw opstartvermelding (de SLES-vermelding) te bewerken.
Zoek naar de kernellijn die begint met Linux.
Append systemd.unit=emergency.target aan het einde van de kernellijn.
Druk op Ctrl+X om opnieuw op te starten met deze instellingen en voer de shell voor noodgevallen in.
Notitie
Met deze actie komt u in de shell voor noodgevallen met een alleen-lezen bestandssysteem. Als u bestanden wilt bewerken, moet u het bestandssysteem opnieuw koppelen met lees-/schrijfmachtigingen. Voer
mount -o remount,rw /
hiervoor de shell in.
Toegang voor Oracle Linux
Net als Red Hat Enterprise Linux moet de modus voor één gebruiker in Oracle Linux GRUB en de hoofdgebruiker zijn ingeschakeld.
GRUB-toegang in Oracle Linux
Oracle Linux wordt geleverd met GRUB die out-of-the-box is ingeschakeld. Als u GRUB wilt invoeren, start u de VM opnieuw op door deze uit te voeren sudo reboot
en drukt u vervolgens op Esc. Met deze actie wordt het deelvenster GRUB weergegeven. Als het deelvenster GRUB niet wordt weergegeven, moet u ervoor zorgen dat de waarde van de GRUB_TERMINAL
regel seriële console bevat (dat wil GRUB_TERMINAL="serial console"
wel). Bouw GRUB opnieuw op met grub2-mkconfig -o /boot/grub/grub.cfg
.
Modus voor één gebruiker in Oracle Linux
Als u de modus voor één gebruiker in Oracle Linux wilt inschakelen, volgt u de eerdere instructies voor RHEL.
Volgende stappen
Zie voor meer informatie over seriële console:
- Documentatie voor seriële Linux-console
- Seriële console gebruiken om GRUB in te schakelen in verschillende distributies
- Seriële console gebruiken voor NMI- en SysRq-aanroepen
- Seriële console voor Windows-VM's
- Diagnostische gegevens over opstarten
Contacteer ons voor hulp
Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.