Zum Inhalt springen
TURNKEYGNU / LINUX
AnwendungenDokumentationBlogBildschirmfotosGitHubTurnKey Hub
文Deutsch
EnglishEspañol中文日本語PortuguêsDeutsch
Haus/Amazon EC2 / TurnKey Hub - Beheben Sie Probleme mit dem Start von Grubs / Wiederherstellen des Root-Passworts

Dokumentation

Amazon EC2 / TurnKey Hub - Beheben Sie Probleme mit dem Start von Grubs / Wiederherstellen des Root-Passworts

Auf einer VM (oder Bare Metal Installation) können Sie ein Live-ISO verwenden, um viele Probleme mit Grub, Kernel und anderen damit verbundenen Problemen zu beheben (z. B. verlorener Root-Zugriff). Es ist jedoch möglich, das Root-Volume von einem Server an einen anderen Server anzuhängen, wodurch Sie eine etwas ähnliche Umgebung erhalten, um viele Probleme mit Grub, Boot und ähnlichen Problemen zu beheben. Diese Seite gibt einen Überblick darüber, wie Sie dies über den Hub, die AWS-Konsole und eine SSH-Sitzung tun können.

Spezifische Schritte - einschließlich Befehle

Ich verwende die Server-Labels OLD und NEW, um den ursprünglichen (gebrochenen) Server bzw. den neuen temporären Server zu bezeichnen.

Diese Schritte sollten wie erwähnt innerhalb des "Hub" oder der "AWS-Konsole" ausgeführt werden.

  1. Hub: Starten Sie einen NEW-Server innerhalb des Die gleiche Verfügbarkeitszone wie der defekte ServerDies kann jede Appliance oder Größe sein, z. B. ein t2.micro Core wäre in Ordnung - muss sich aber in der gleichen Verfügbarkeitszone befinden!
  2. Hub: OLD Server stoppen.
  3. AWS-Konsole: Sobald OLD gestoppt hat, lösen Sie das Root-Volume.
  4. AWS-Konsole: Befestigen Sie das (OLD) Root-Volume an NEW (als sekundäres Volume), wenn Sie nach einem Mount Point gefragt werden, verwenden Sie /dev/sdf.
  5. Melden Sie sich über SSH bei NEW an: Verwenden Sie die folgenden Befehle, um eine chroot einzurichten und geben Sie sie ein:
# check that the OLD server volume is attached as /dev/xvdf:
gdisk -l /dev/xvdf

# Assuming OLD server volume is /dev/xvdf, mount it and chroot in:
mkdir /mnt2
mount /dev/xvdf2 /mnt2
mount --bind /dev /mnt2/dev
mount --bind /proc /mnt2/proc
mount --bind /sys /mnt2/sys
chroot /mnt2
  1. SSH - Führen Sie Fix(es) in chroot durch: Angenommen, dass dies ohne Fehler gelingt, befinden Sie sich jetzt in der Chroot Ihres OLD-Server-Volumes. Ich stelle einige mögliche Korrekturen fest, die für Boot-Probleme sowie das Zurücksetzen des Root-Passworts relevant sind:
# optional: update kernel
apt-get update
apt-get install linux-image-$(dpkg --print-architecture)
apt-get install linux-image-$(uname -r)

# optional: regenerate initramfs (will be run automatically if the kernel is updated)
update-initramfs -u

# Note: as part of the initramfs regeneration process (whether via updating the
# kernel, or manually regenerating) it is expected and normal to see the
# following errors/warnings:
#
# /usr/share/initramfs-tools/scripts/casper-bottom/25autologin: 13: .: Can't open /scripts/casper-functions
# /usr/share/initramfs-tools/scripts/casper-bottom/25singleuser_shell: 6: .: Can't open /scripts/casper-functions
# /usr/share/initramfs-tools/scripts/casper-bottom/25ssh_emptypw: 6: .: Can't open /scripts/casper-functions

# To avoid adding grub boot entries for the host machine (i.e. the NEW server), disable the OS prober
# (note os-prober has no value other than on dual boot machines)
chmod a-x /etc/grub.d/30_os-prober

# reinstall grub2
grub-install --boot-directory=/boot /dev/xvdf
update-grub

# reset root password
passwd root

# add a public SSH key
echo "_keytype_ _public_key_data_ _email_" >> /root/.ssh/authorized_keys
# IMPORTANT: replace "_keytype_ _public_key_data_ _email_" with the contents of your public key.
# email is optional but highly recommended
# Sie können auch andere Dinge wie Check-Logs oder zusätzliche Pakete wie gewünscht installieren.
  1. SSH - Unmount OLD Volume: Hoffentlich hat alles gut funktioniert und du hast keine Fehler bekommen.
# exit and tidy up
exit
umount /mnt2/dev
umount /mnt2/proc
umount /mnt2/sys
umount /mnt2
  1. AWS-Konsole: OLD-Root-Volume von NEW freisetzen und erneut an den ursprünglichen Server (OLD) anhängen. /dev/xvda.
  2. Hub: Wenn nicht, dann wiederholen Sie die Schritte 2-8 und versuchen Sie einige verschiedene Schritte innerhalb der chroot (Schritt 6).
TURNKEYGNU / LINUX

Eigene Infrastruktur betreiben, ohne bei null anzufangen.

TurnKey erkunden
Über TurnKeyDokumentationHäufige FragenBlogGitHub
Frei und quelloffenStandardmäßig sicherSofort einsatzbereit