AlmaLinux 8.4をシングルユーザモードで起動
目次
概要
設定変更内容を間違えたなどの理由で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.