OSS Fan ~OSSでLinuxサーバ構築~

このエントリーをはてなブックマークに追加

AlmaLinux 8.4をシングルユーザモードで起動

カテゴリ:OSSセットアップ | ソフトウェア:Linux | タグ:
最終更新日: | 公開日:2021/09/26

目次

概要

 設定変更内容を間違えたなどの理由でLinuxが起動しなくなった場合に、設定を再変更するために シングルユーザモード利用するケースがあります。 今回はAlmaLinux 8.4をシングルユーザモードで起動します。 シングルユーザモードはネットワーク接続がない状態でLinuxが起動しますので、 TeraTermやVNCは利用できません。コンソール接続で作業する必要があります。

構成

サーバ構成

OS

AlmaLinux 8.4 (Electric Cheetah) aarch64

インストールで使用したOSイメージ

  • AlmaLinux-8.4-aarch64-dvd.iso

手順

シングルユーザモードで起動

カーネルの起動オプションを変更

 サーバの電源を入れ、Linuxの起動メニュー画面が表示されたら、 カーソルが一番上(レスキューモードでもシステムセットアップでもない)にあることを確認して[e]キーを押します。

 カーネルの起動オプションが変更可能な状態で表示されますので、「linux」で始まる行の末尾に スペースを空けて「single」と入力します(下の図の赤線部分が入力した箇所)。 「linux」で始まる行は折り返されて複数行に渡っているケースが多いので、入力箇所を間違えないようにしてください。

 入力が終わったら[Ctrl] + [x]キーを押します。変更した内容に沿ってLinuxカーネルが起動します。

シングルユーザモードで起動後の確認

ネットワークの状態を見てみる

 シングルユーザモードで起動後にIPアドレスを確認しようとするとインタフェースが DOWN 状態になっていて、 IPアドレスが割り当てられていないことが分かります。つまりサーバの外部と通信できません。

# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp1s0:  mtu 1500 qdisc noop state DOWN group default qlen 1000 ←ここにDOWNと表示あり
    link/ether 52:54:00:51:59:4c brd ff:ff:ff:ff:ff:ff

 Network Managerでコネクションの状態を見ようとしても、NetworkManager.serviceが 起動していないせいか、nmcliコマンド自体が失敗してしまいます。

# nmcli c
エラー: NMClient オブジェクトを作成できませんでした: Could not connect: そのようなファイルやディレクトリはありません。

シングルユーザモードのままネットワークを有効にしてみる

 なお、シングルユーザモードのままでもNetworkManager.serviceを起動することでIPアドレスが有効になり、 デフォルトゲートウェイにpingが通るようになりました。

# systemctl start NetworkManager.service
[ 8031.325340] IPv6: ADDRCONF(NETDEV_UP): enp1s0: link is not ready

# ip a
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp1s0:  mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:51:59:4c brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.53/24 brd 192.168.0.255 scope global noprefixroute enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fe51:594c/64 scope link
       valid_lft forever preferred_lft forever
# nmcli c
NAME    UUID                                  TYPE      DEVICE
enp1s0  5feaa578-c4d8-4fb0-a3f5-28316f67692c  ethernet  enp1s0
# ping 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=1.92 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.789 ms

--- 192.168.0.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3054ms
rtt min/avg/max/mdev = 0.789/1.125/1.923/0.465 ms

シングルユーザモードの終了

Linuxの再起動

 シングルユーザモードを終了するには普通にLinuxを再起動すれば良いです。 先程変更したカーネルの起動オプションは元に戻っていますので、再起動後はシングルユーザモードにはならず、通常起動します。

# shutdown -r 0
Shutdown scheduled for Sun 2021-09-26 00:51:09 JST, use 'shutdown -c' to cancel.

参考にしたサイト