Red Hat Training

A Red Hat training course is available for RHEL 8

C.10. レスキューモードの使用

インストールプログラムのレスキューモードは、Red Hat Enterprise Linux DVD またはその他の起動メディアから起動できる最小限の Linux 環境です。さまざまな問題を修復するコマンドラインユーティリティーが含まれています。レスキューモードは、起動メニューの Troubleshooting メニューからアクセスできます。このモードでは、ファイルシステムを読み取り専用としてマウントしたり、拒否リストに登録したり、ドライバーディスクで提供されるドライバーを追加したり、システムパッケージをインストールまたはアップグレードしたり、パーティションを管理したりできます。

注記

インストールプログラムのレスキューモードは、systemd システムおよびサービスマネージャーの一部として提供されるレスキューモード (シングルユーザーモードに相当) および緊急モードとは異なります。

レスキューモードで起動するには、最小起動ディスク、USB ドライブ、フルインストール DVD など、Red Hat Enterprise Linux の起動用メディアを使用してシステムを起動できる必要があります。

重要

iSCSI デバイスや zFCP デバイスなどの高度なストレージは、rd.zfcp=root=iscsi: オプション などの dracut 起動オプションを使用するか、64 ビットの IBM Z 上の CMS 設定ファイルで設定する必要があります。レスキューモードで起動した後は、ストレージデバイスを対話的に設定できません。dracut 起動オプションの詳細は、dracut.cmdline(7) の man ページを参照してください。

C.10.1. レスキューモードでシステムの起動

この手順では、レスキューモードで起動する方法を説明します。

手順

  1. 最小限の起動用メディア、フルインストールの DVD、または USB ドライブからシステムを起動し、起動メニューが表示されるまで待ちます。
  2. 起動メニューから Troubleshooting > Rescue a Red Hat Enterprise Linux system オプションを選択するか、inst.rescue オプションを起動コマンドラインに追加します。起動コマンドラインに入るには、Tab キー (BIOS ベースのシステムの場合) を押すか、e キー (UEFI ベースのシステムの場合) を押します。
  3. オプション:起動するドライバーディスクで提供されるサードパーティーのドライバーが必要な場合は、inst.dd=driver_name を起動コマンドラインに追加します。

    inst.rescue inst.dd=driver_name
  4. オプション:Red Hat Enterprise Linux ディストリビューションに含まれるドライバーが原因でシステムが起動しない場合は、modprobe.blacklist= オプションを起動コマンドラインに追加します。

    inst.rescue modprobe.blacklist=driver_name
  5. Enter (BIOS ベースのシステムの場合) または Ctrl+X (UEFI ベースのシステムの場合) を押して、変更したオプションを起動します。次のメッセージが表示されるまで待ちます。

    The rescue environment will now attempt to find your Linux installation and mount it under the directory: /mnt/sysroot/. You can then make any changes required to your system. Choose 1 to proceed with this step. You can choose to mount your file systems read-only instead of read-write by choosing 2. If for some reason this process does not work choose 3 to skip directly to a shell.
    
    1) Continue
    2) Read-only mount
    3) Skip to shell
    4) Quit (Reboot)

    1 を選択すると、インストールプログラムは /mnt/sysroot/ ディレクトリーにファイルシステムをマウントしようとします。パーティションのマウントに失敗すると通知されます。2 を選択すると、ファイルシステムを /mnt/sysroot/ ディレクトリーにマウントしようとしますが、読み取り専用モードになります。3 を選択すると、ファイルシステムはマウントされません。

    システムルートの場合には、インストーラーは /mnt/sysimage/mnt/sysroot の 2 つのマウントポイントをサポートします。/mnt/sysroot パスは、ターゲットシステムの / をマウントするために使用されます。通常、物理ルートとシステムの root は同じであるため、/mnt/sysroot/mnt/sysimage と同じファイルシステムに割り当てられます。唯一の例外は、デプロイメントに基づいてシステムの root が変更する rpm-ostree システムのみです。次に、/mnt/sysroot は、/mnt/sysimage のサブディレクトリーに割り当てられます。chroot には /mnt/sysroot を使用することを推奨します。

  6. 続行するには 1 を選択します。システムがレスキューモードになると、VC (仮想コンソール) 1 および VC 2 にプロンプトが表示されます。Ctrl+Alt+F1 キーの組み合わせで VC 1 にアクセスし、Ctrl+Alt+F2 で VC 2 にアクセスします。

    sh-4.2#
  7. ファイルシステムがマウントされていても、レスキューモードではデフォルトの root パーティションは一時的な root パーティションであり、通常のユーザーモード (multi-user.target または graphical.target) で使用するファイルシステムの root パーティションではありません。ファイルシステムのマウントを選択し、正常にマウントされた場合は、次のコマンドを実行してレスキューモード環境の root パーティションを、ファイルシステムの root パーティションに変更できます。

    sh-4.2# chroot /mnt/sysroot

    これは、root パーティションが / としてマウントされることが求められる rpm などのコマンドを実行する必要がある場合に便利です。chroot 環境を終了するには、exit と入力してプロンプトに戻ります。

  8. 3 を選択した場合でも、/directory/ などのディレクトリーを作成し、次のコマンドを入力すると、レスキューモード内でパーティションまたは LVM2 論理ボリュームを手動でマウントできます。

    sh-4.2# mount -t xfs /dev/mapper/VolGroup00-LogVol02 /directory

    上記のコマンドでは、/directory/ は作成したディレクトリーで、/dev/mapper/VolGroup00-LogVol02 はマウントする LVM2 論理ボリュームになります。パーティションのタイプが XFS 以外の場合は、文字列 xfs を正しい種類 (ext4 など) に置き換えます。

  9. すべての物理パーティションの名前が不明な場合は、次のコマンドを実行するとリストが表示されます。

    sh-4.2# fdisk -l

    LVM2 物理ボリューム、ボリュームグループ、または論理ボリュームの名前がすべて不明な場合は、pvdisplay コマンド、vgdisplay コマンド、または lvdisplay コマンドを使用します。

C.10.2. レスキューモードでの SOS レポートの使用

sosreport コマンドラインユーティリティーは、実行中のカーネルバージョン、読み込み済みモジュール、システムおよびサービスの設定ファイルなどの設定および診断情報をシステムから収集します。このユーティリティーの出力は、/var/tmp/ ディレクトリーの tar アーカイブに保存されます。sosreport ユーティリティーは、システムエラーの分析とトラブルシューティングに役立ちます。この手順に従って、レスキューモードで sosreport 出力を取得します。

前提条件

  • レスキューモードでシステムを起動している。
  • インストール済みのシステムの / (root) パーティションを読み書きモードでマウントしている。
  • この問題を Red Hat サポートに連絡し、ケース番号を受け取っている。

手順

  1. root ディレクトリーを /mnt/sysroot/ ディレクトリーに変更します。

    sh-4.2# chroot /mnt/sysroot/
  2. sosreport を実行して、システム設定と診断情報を含むアーカイブを生成します。

    sh-4.2# sosreport
    重要

    sosreport は、Red Hat サポートから受け取った名前とケース番号の入力を求めるプロンプトが表示されます。次の文字またはスペースを追加するとレポートが使用できなくなる可能性があるため、英数字のみを使用してください。

    # % & { } \ < > > * ? / $ ~ ' " : @ + ` | =

  3. オプション:ネットワークを使用して、生成されたアーカイブを新しい場所に転送する場合は、ネットワークインターフェイスを設定する必要があります。このシナリオでは、他の手順は必要ないため、動的 IP アドレス指定を使用します。ただし、静的アドレスを使用する場合は、次のコマンドを実行して、ネットワークインターフェイス (dev eth0 など) に IP アドレス (10.13.153.64/23 など) を割り当てます。

    bash-4.2# ip addr add 10.13.153.64/23 dev eth0
  4. chroot 環境を終了します。

    sh-4.2# exit
  5. 生成されたアーカイブを新しい場所に保存し、その場所からアーカイブへのアクセスを容易にします。

    sh-4.2# cp /mnt/sysroot/var/tmp/sosreport new_location
  6. ネットワークを介したアーカイブの転送は、scp ユーティリティーを使用します。

    sh-4.2# scp /mnt/sysroot/var/tmp/sosreport username@hostname:sosreport

C.10.3. GRUB2 ブートローダーの再インストール

シナリオによっては、GRUB2 ブートローダーが誤って削除または破損されたり、他のオペレーティングシステムによって置き換えられることがあります。この手順に従って、BIOS を使用する AMD64 システムおよび Intel 64 システムのマスターブートレコード (MBR) に GRUB2 を再インストールします。または、Open Firmware を使用する IBM Power Systems のリトルエンディアンバリアントに GRUB2 を再インストールします。

前提条件

  • レスキューモードでシステムを起動している。
  • インストール済みのシステムの / (root) パーティションを読み書きモードでマウントしている。
  • /boot マウントポイントを読み取り/書き込みモードでマウントしている。

手順

  1. root パーティションを変更します。

    sh-4.2# chroot /mnt/sysroot/
  2. install_device ブロックデバイスがインストールされている GRUB2 ブートローダーを再インストールします。

    sh-4.2# /sbin/grub2-install install_device
    重要

    grub2-install コマンドを実行すると、以下の条件がすべて適用されると、マシンが起動できなくなる可能性があります。

    • システムは、EFI (Extensible Firmware Interface) を使用する AMD64 または Intel 64 です。
    • Secure Boot が有効になります。

    grub2-install コマンドを実行すると、EFI (Extendsible Firmware Interface) および Secure Boot が有効な AMD64 システムまたは Intel 64 システムを起動することはできません。この問題は、grub2-install コマンドが shim アプリケーションを使用する代わりに直接起動する署名されていない GRUB2 イメージをインストールするために発生します。システムが起動すると shim アプリケーションはイメージの署名を検証します。見つからない場合は、システムの起動に失敗します。

  3. システムを再起動します。

C.10.4. RPM を使用してドライバーを追加または削除

ドライバーが見つからないか、誤作動すると、システムの起動時に問題が発生します。レスキューモードは、システムが起動に失敗してもドライバーを追加または削除できる環境を提供します。可能な場合は、RPM パッケージマネージャーを使用して、誤作動するドライバーを削除するか、更新されたドライバーや不足しているドライバーを追加することが推奨されます。以下の手順に従って、ドライバーを追加または削除します。

重要

ドライバーディスクからドライバーをインストールすると、ドライバーディスクは、このドライバーを使用するシステムにある initramfs イメージをすべて更新します。ドライバーが原因でシステムが起動できない場合は、別の initramfs イメージからシステムを起動する方法は使用できません。

C.10.4.1. RPM を使用したドライバーの追加

以下の手順に従ってドライバーを追加します。

前提条件

  • レスキューモードでシステムを起動している。
  • インストール済みのシステムを読み書きモードでマウントしている。

手順

  1. そのドライバーを含む RPM パッケージを利用できるようにします。たとえば、CD または USB フラッシュドライブをマウントして、RPM パッケージを /mnt/sysroot/ 配下の任意の場所 (例: /mnt/sysroot/root/drivers/) にコピーします。
  2. root ディレクトリーを /mnt/sysroot/ に変更します。

    sh-4.2# chroot /mnt/sysroot/
  3. rpm -ivh コマンドを使用して、ドライバーパッケージをインストールします。たとえば、以下のコマンドを実行して、xorg-x11-drv-wacom ドライバーパッケージを /root/drivers/ からインストールします。

    sh-4.2# rpm -­ivh /root/drivers/xorg-x11-drv-wacom-0.23.0-6.el7.x86_64.rpm
    注記

    この chroot 環境の /root/drivers/ ディレクトリーは、元のレスキュー環境の /mnt/sysroot/root/drivers/ ディレクトリーです。

  4. chroot 環境を終了します。

    sh-4.2# exit
C.10.4.2. RPM を使用したドライバーの削除

以下の手順に従ってドライバーを削除します。

前提条件

  • レスキューモードでシステムを起動している。
  • インストール済みのシステムを読み書きモードでマウントしている。

手順

  1. root ディレクトリーを /mnt/sysroot/ ディレクトリーに変更します。

    sh-4.2# chroot /mnt/sysroot/
  2. rpm -e コマンドを使用して、ドライバーパッケージを削除します。たとえば、xorg-x11-drv-wacom ドライバーパッケージを削除するには、次のコマンドを実行します。

    sh-4.2# rpm -e xorg-x11-drv-wacom
  3. chroot 環境を終了します。

    sh-4.2# exit

    誤動作のあるドライバーを何らかの理由で削除できない場合は、代わりにドライバーを拒否リストに登録することで、起動時に読み込まれないようにすることができます。

  4. ドライバーの追加および削除が終了したら、システムを再起動します。