LoginSignup
0
0

#ConoHaVPS でrootパスワード忘れたのでsingle-modeでpasswd初期化しようとしたらemergency-mode突入した件(なんとかなったlog)

Last updated at Posted at 2024-01-08

事象 / Symptoms

  • ConoHa VPS
    • OS: おそらく RHEL系 (AlmaLinux 8)
    • Kernel: 5.14.0-*****
    • GRUB: 2.06
  • root password を忘れてしまった。
  • sudo できるユーザのパスワードも忘れた。
    • 普段は証明書認証(passなし)でログインしているのでパスワードは使ってない。
  • Internet の海に転がってる情報そのまま試してもうまくいかず、Emergency-mode に突入、shellが起動しない。
  • または single-mode に突入できるが、 root passwd を聞かれパスワードリセットできない。

対処

  • GRUB bootloader の設定に下記追加して起動(再起動すると消えるのでやり直す場合は編集し直し。)
  • 起動後 passwd 再設定
- linux ro console=tty0,115200n8r
+ linux rw init=/sysroot/bin/sh single console=

免責事項

  • 本記事に記載している内容を実施して発生した内容については責任を負えません。
  • あくまで 自己責任で 実施お願いします。
  • 極力正しい情報であるよう心がけていますが、versionの違い等により意図しない結果になることがあります。

手順

  1. OS起動している場合は halt -p をなんとかして実行する。

    • といっても無理な場合が殆ど。なので。。。
    • ConoHaのVPS管理コンソールからシャットダウンを実施する。
    • ちなみに再起動でもいいが、bootloader画面のタイムアウト時間(自動でOSが立ち上がり始める時間)が reboot だとかなり短いので、一旦シャットダウンしたほうが楽。
    • コンソールボタンはこの時点で押しておくと次の手順のとき少し楽。
      図1-1(図1-01)
  2. シャットダウンさせたらConoHaのVPS管理コンソールから起動させる。

    • コンソールボタンが有効化されたらすぐに押すこと。
    • 前項でコンソール開いていた場合は、おそらくステータスが "切断" になっているので、右上の "再読み込み" をクリックしておく。( "接続完了" になっていればOK)
  3. GRUB(bootloader)が立ち上がってきたら、自動起動カウントダウンが始まっているので、↑↓(矢印キー)など押してカウントダウンを止める。

    • カウントダウン止めると図3-01のようになる。
      図3-01(図3-01)
  4. 通常起動している設定プランを選択(通常は一番上の項目)を選択(矢印キーで移動。マウスは使用できない)して、eキーを押下する。

    • 押下すると 図4-01 のようになる。
      図4-01(図4-01)
  5. 編集する箇所は下記の通り linux で始まっている行の roinit=, console=, single

    • すでに編集モードになっているので h, j, k, l, w, b などのショートカットキーは使用できない。

    • Emacs-like と書かれているので Emacs のショートカットキーなら使えるかもしれんが、Emacsは宗教上の理由で使えない

    • = などの記号はキーマップがいつものとは異なっており、入力するのが大変だった。

      • 弊方の環境では ^= に紐づいていた。
    • ConoHa のVPSコンソールにはテキスト送信機能があるが、そっちに = 入力しても _ に変わってしまうので、手入力したほうがはやそう。

    • linux セクション内に console= が複数記述されているが、 console=tty0,115200n8r だけ編集すればOK

    • 変更後は 図5-01 のようになる。
      図5-01(図5-01)

      - linux ro console=tty0,115200n8r (以降略)
      + linux rw init=/sysroot/bin/sh single console= (以降略)
      
      変更前
      load_video
      set gfxpayload=keep
      insmod gzio
      linux ($root)/vmlinuz-5.14.0-284.25.1.el9_2.x86_64 root=UUID=(略) ro net.ifnames=0 console=net.ifname=0 console=tty0 console=tty0,115200n8r crashkernel=1G-4G:192M,4G-64G:64G-:512M
      initrd ($root)/initramfs-5.14.0-284.25.1.el9_2.x86_64.img $tuned_initrd
      
      変更後
      load_video
      set gfxpayload=keep
      insmod gzio
      linux ($root)/vmlinuz-5.14.0-284.25.1.el9_2.x86_64 root=UUID=(略) rw init=/sysroot/bin/sh single net.ifnames=0 console=net.ifname=0 console=tty0 console= crashkernel=1G-4G:192M,4G-64G:64G-:512M
      initrd ($root)/initramfs-5.14.0-284.25.1.el9_2.x86_64.img $tuned_initrd
      
  6. 編集が完了したら、Ctrl-x (Ctrlキーとxキー同時に押す)を実行して編集した設定で起動させる。
    図6-01(図6-01)

  7. GRUBの画面で編集した内容に問題なければ、rootのパスワードが聞かれずにOSが立ち上がってくれます。
    図7-01
    (図7-01)

  8. あとは chroot して、passwdすれば rootのパスワード書き換えできます。

    • chroot することでいつものフォルダ(ディレクトリ)が見えてきます。

      • この状態なら passwd が再設定可能(図8-01)
    • chroot 環境では /proc が適切にマウントされていない為か、reboot できませんでした。(図8-02)

    • chroot 環境から exit することで reboot できるようです。
      図8-01(図8-01)
      図8-02(図8-02)

      chroot /sysroot
      passwd
      exit
      reboot
      
  9. 再起動後はいつも通りに使えばOK
    図9-01(図9-01)

簡単に動画化してみた

忘却の神詞を呼び覚ます on ConoHa VPS 【#coefont実況 #voiceroid実況 】

Refs

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0