次の投稿では、CentOS/RHEL/OEL 5 および 6 システムを、インストールされている別のカーネルで起動する手順を示しています。
CentOS/RHEL/OEL 5 および 6 オペレーティング システムは、デフォルトのブート ローダーとして GRUB を使用します。 rpm、up2date、または yum アプリケーションを使用してカーネルをインストールすると、カーネル パッケージによって、その新しいカーネルのブート ローダー構成ファイルにエントリが作成されます。ただし、rpm は、デフォルトのカーネル、up2date および yum のように起動するように新しいカーネルを構成しません。これは、rpm を使用して新しいカーネルをインストールするときに手動で行う必要があります。また、u2date または yum を使用して新しいカーネルをインストールした後、ブートローダー構成ファイルを再確認して、構成が正しいことを確認してください。
以前に別のカーネルがインストールされていて、GRUB 構成ファイルのデフォルトで設定されているものとは異なるもので起動したい場合は、デフォルトのカーネルを変更して起動する必要があります。
CentOS/RHEL/OEL 5 および 6 でデフォルトのブート カーネルを変更するには、次の手順を実行します。
1. /boot/grub/grub.conf ファイルを編集します テキスト エディタを使用します。
GRUB 構成ファイルは デフォルト で始まります 、タイムアウト 、スプラッシュ画像 、および hiddenmenu ディレクティブ 、次の例のようになります:
# vi /boot/grub/grub.conf # grub.conf generated by anaconda # # Note that you do not have to rerun grub after making changes to this file # NOTICE: You have a /boot partition. This means that # all kernel and initrd paths are relative to /boot/, eg. # root (hd0,0) # kernel /vmlinuz-version ro root=/dev/mapper/vg_luisol6-lv_root # initrd /initrd-[generic-]version.img #boot=/dev/xvda default=0 timeout=50 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Oracle Linux Server Unbreakable Enterprise Kernel (2.6.39-400.294.6.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-2.6.39-400.294.6.el6uek.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-2.6.39-400.294.6.el6uek.x86_64.img title Oracle Linux Server Unbreakable Enterprise Kernel (3.8.13-118.19.2.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-3.8.13-118.19.2.el6uek.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-3.8.13-118.19.2.el6uek.x86_64.img title Oracle Linux Server Unbreakable Enterprise Kernel (4.1.12-61.1.14.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-4.1.12-61.1.14.el6uek.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-4.1.12-61.1.14.el6uek.x86_64.img title Oracle Linux Server Red Hat Compatible Kernel (2.6.32-642.6.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-642.6.1.el6.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-642.6.1.el6.x86_64.img
ディレクティブ「デフォルト 」 (例では赤でマーク) は、GRUB がデフォルトで起動するカーネル エントリを指定します。
GRUB は、構成ファイル内のカーネル エントリを 0 から数えます。ディレクティブ「default=0」 」は、このアクションをオーバーライドしない限り、GRUB がデフォルトで最初のカーネル エントリを起動することを意味します。
2. 「default」の値を、インストールされているカーネルのいずれかに対応する、デフォルトで起動する目的のカーネルの値に変更します。値を「0」から、起動に必要なデフォルトのカーネルに対応する目的の値に設定します。
上記の例では、それぞれがインストールされたカーネルを参照する 3/5 行のスタンザがあります。これらのスタンザは常にタイトル エントリで始まり、その後に関連するルート、カーネル、および initrd ディレクティブが常にインデントされます。各スタンザが、カーネル /vmlinuz-[version_number] のバージョン番号と一致するバージョン番号 (括弧内) を含むタイトルで始まることを確認してください 同じスタンザの行。
この例には、4 つの異なるカーネルがインストールされています (例は OEL 6 システムのものです):
title Oracle Linux Server Unbreakable Enterprise Kernel (2.6.39-400.294.6.el6uek.x86_64) = 0 title Oracle Linux Server Unbreakable Enterprise Kernel (3.8.13-118.19.2.el6uek.x86_64) = 1 title Oracle Linux Server Unbreakable Enterprise Kernel (4.1.12-61.1.14.el6uek.x86_64) = 2 title Oracle Linux Server Red Hat Compatible Kernel (2.6.32-642.6.1.el6.x86_64) = 3
変更:
default=1" to boot with UEK3 kernel version "3.8.13-118.19.2.el6uek.x86_64" "default=2" to boot with UEK4 kernel version "4.1.12-61.1.14.el6uek.x86_64" "default=3" to boot with RHCK (Red Hat Compatible Kernel) version "2.6.32-642.6.1.el6.x86_64"
3. システムを再起動します。
# shutdown -r now
4. サーバーがバックアップされて実行されたら、「uname」コマンドを実行して、ブートされたデフォルトのカーネルが正しいことを確認します:
# vi /boot/grub/grub.conf ... default=2 timeout=50 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu title Oracle Linux Server Unbreakable Enterprise Kernel (2.6.39-400.294.6.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-2.6.39-400.294.6.el6uek.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-2.6.39-400.294.6.el6uek.x86_64.img title Oracle Linux Server Unbreakable Enterprise Kernel (3.8.13-118.19.2.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-3.8.13-118.19.2.el6uek.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-3.8.13-118.19.2.el6uek.x86_64.img title Oracle Linux Server Unbreakable Enterprise Kernel (4.1.12-61.1.14.el6uek.x86_64) root (hd0,0) kernel /vmlinuz-4.1.12-61.1.14.el6uek.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-4.1.12-61.1.14.el6uek.x86_64.img title Oracle Linux Server Red Hat Compatible Kernel (2.6.32-642.6.1.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-642.6.1.el6.x86_64 ro root=/dev/mapper/vg_luisol6-lv_root rd_NO_LUKS LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=la-latin1 rd_LVM_LV=vg_luisol6/lv_root rd_LVM_LV=vg_luisol6/lv_swap rd_NO_DM rhgb quiet initrd /initramfs-2.6.32-642.6.1.el6.x86_64.img
# uname -r 4.1.12-61.1.14.el6uek.x86_64