おそらくすべてのカーネルがシステムから削除されているか、破損が原因で、システムに起動するカーネルがない状況では、レスキュー モードからのカーネルのインストールが必要です。レスキュー モードから新しいカーネルをインストールし、システムを起動して再度実行することもできます。
レスキュー モードで起動しています
インストール DVD または ISO を使用してシステムを起動し、レスキュー モードに入ります。レスキュー モードで起動する方法の詳細については、以下の手順に従ってください。
1. ISO イメージを添付
ISO イメージの代わりに実際のインストール DVD を使用することもできますが、ISO イメージを使用する方が簡単で、データセンターに行って DVD をシステムに物理的に挿入する必要はありません。異なる仮想化プラットフォームには、ISO イメージを VM ゲストにアタッチ/マウントするための同様の機能があります。 ISO イメージから起動するように起動順序を変更してください。
2.システムを起動します
ISO イメージから CentOS 7 システムを起動します。起動画面で、トラブルシューティング オプションを選択します 画面の最後に。
3. 次の画面で、[CentOS Linux システムをレスキューする] オプションを選択します。 .
4. 次の画面で、Enter キーを押して続行します。 Rescue でインストールを検索するかどうか尋ねられたら、[続行] を選択します。
インストールの検出で問題が発生した場合は、[スキップ] オプションを使用して再試行し、ストレージを手動で検出してマウントします。レスキュー モードで正しいインストールが検出された場合、下の図に示すメッセージが表示されます。
ルート環境に入りたくないので、ここでは chroot ステップをスキップします。
カーネルのインストール
1. 次に、インストールしたシステムに適したカーネルをインストールします。インストールされているシステム バージョンと同じインストール メディアを用意することが重要です。ルート環境 /mnt/sysimage で rpm コマンドを使用してカーネルをインストールします。
# cd /mnt/install/repo/Packages # rpm -ivh --root=/mnt/sysimage kernel-3.10.0-514.el7.x86_64
<強い>2. Grub2 構成の生成 – 次のステップは、chroot コマンドを使用してルート ディレクトリを /mnt/sysimage に変更することです。これにより、システムがルート環境になります。ここで、新しくインストールされたカーネルの grub2 構成を生成できます。
# chroot /mnt/sysimage # grub2-mkconfig -o /boot/grub2/grub.cfg
<強い>3.確認 – /boot 内のファイルに新しいカーネルがあるかどうかを確認します。ファイル /boot/grub2/grub.cfg のカーネル メニュー エントリも確認します。 .
ls -lrt /boot/vmlinuz-* -rwxr-xr-x. 1 root root 5392080 Nov 22 2016 /boot/vmlinuz-3.10.0-514.el7.x86_64 -rwxr-xr-x. 1 root root 5392080 Oct 1 12:44 /boot/vmlinuz-0-rescue-4bd23218ddab41e587bdd39ae2cfc09a
# cat /boot/grub2/grub.cfg ..... menuentry 'CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-514.el7.x86_64-advanced-7efe94a2-10ec-40e4-8d89-a52faf13535e' { load_video set gfxpayload=keep insmod gzio insmod part_msdos insmod xfs set root='hd0,msdos1' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,msdos1 --hint-efi=hd0,msdos1 --hint-baremetal=ahci0,msdos1 --hint='hd0,msdos1' f88bd588-6f4d-4050-bd3f-443cf2049ee7 else search --no-floppy --fs-uuid --set=root f88bd588-6f4d-4050-bd3f-443cf2049ee7 fi linux16 /vmlinuz-3.10.0-514.el7.x86_64 root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet LANG=en_US.UTF-8 initrd16 /initramfs-3.10.0-514.el7.x86_64.img } .....
<強い>4.ファイルシステムの再ラベル付け
SELinux を使用している場合は、次の再起動時にファイル システムのラベルを変更するためのファイル /.autorelabel を作成します。
# touch /.autorelabel
これで、chroot 環境を終了してシステムを再起動できます。