CentOS 6.10 の起動が GRUB プロンプトで停止する

CentOS 6.10 の起動が GRUB プロンプトで停止する

CentOS 6.10 ホストが起動しません。GRUB プロンプトで停止します。起動のたびに手動で介入せずにこれを修正するにはどうすればよいですか?

これらの手順でシステムを正常に実行できます。

root (hd0,1) 
kernel /vmlinuz<version> root=/dev/sda8 ro 
initrd initramfs<version matching kernel line> 
boot

そこからは、再起動が必要になるまで、すべて正常です。 ユーネーム -aシステムを手動で起動するために使用したバージョンを示します。(はい、ホスト名は hastur です。)

$ uname -a
Linux hastur 2.6.32-754.9.1.el6.x86_64 #1 SMP Thu Dec 6 08:02:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

私のディスクは次のようにレイアウトされています:

$ lsblk -i
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 232.9G  0 disk 
|-sda1   8:1    0   200M  0 part /boot/efi
|-sda2   8:2    0   500M  0 part /boot
|-sda3   8:3    0  73.2G  0 part /var
|-sda4   8:4    0  48.8G  0 part /home
|-sda5   8:5    0  29.3G  0 part /opt
|-sda6   8:6    0  14.7G  0 part /tmp
|-sda7   8:7    0   7.8G  0 part [SWAP]
`-sda8   8:8    0  58.4G  0 part /
sr0     11:0    1  1024M  0 rom  

これらは/etc/fstab内の関連するエントリです。(/boot/efiの短いUUIDは、blkid /dev/sda1

UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 /      ext4  defaults   1 1
UUID=bbec4552-4895-4ad9-a82a-e3668a9b8e4b /boot  ext4  defaults   1 2
UUID=8067-187B     /boot/efi   vfat    umask=0077,shortname=winnt 0 0

私のgrub.confは

$ sudo cat /boot/efi/EFI/redhat/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,1)
#          kernel /vmlinuz-version ro root=/dev/sdb8
#          initrd /initrd-[generic-]version.img
#boot=/dev/sdb1
device (hd0) HD(1,800,64000,6c514bde-63d4-4e1f-9306-7792c17f1e90)
default=0
timeout=5
splashimage=(hd0,1)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.32-754.11.1.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-754.11.1.el6.x86_64 ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-754.11.1.el6.x86_64.img
title CentOS (2.6.32-754.11.1.el6.x86_64.debug)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-754.11.1.el6.x86_64.debug ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-754.11.1.el6.x86_64.debug.img
title CentOS (2.6.32-754.9.1.el6.x86_64.debug)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-754.9.1.el6.x86_64.debug ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-754.9.1.el6.x86_64.debug.img
title CentOS (2.6.32-754.9.1.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-754.9.1.el6.x86_64 ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-754.9.1.el6.x86_64.img
title CentOS (2.6.32-754.6.3.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-754.6.3.el6.x86_64 ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-754.6.3.el6.x86_64.img
title CentOS (2.6.32-754.3.5.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-754.3.5.el6.x86_64 ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-754.3.5.el6.x86_64.img
title CentOS (2.6.32-696.30.1.el6.x86_64)
    root (hd0,1)
    kernel /vmlinuz-2.6.32-696.30.1.el6.x86_64 ro root=UUID=c7ba8070-e409-4a58-b31b-ddd06d784481 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet crashkernel=256M
    initrd /initramfs-2.6.32-696.30.1.el6.x86_64.img

関連情報

Ubuntu 18.04でも同じ問題が発生しました(16.04からのアップグレードと新規インストールの両方。両方のホストのハードウェアは同じです:HP Compaq 8200 Elite Small Form Factor、Intel Core i5-2500)。Ubuntu 16.04は正常に起動しましたが、Ubuntu 18.04は起動しませんでした。問題は解決済み先週、これらのコマンドを使用しました。

sudo apt-get purge grub\*
sudo apt-get install grub-efi
sudo apt-get autoremove
sudo update-grub

このエラーは、適切なアップグレード:

Package grub-efi-amd64-signed is not configured yet.

dpkg は次のように報告しました:

iF grub-efi-amd64-signed (1.93.13+2.02-2ubuntu8.12)
iU shim-signed (1.37~18.04.3+15+1533136590.3beb971-0ubuntu1)

CentOS 6ホストに戻る

sudo rpm -Vaこれだけは教えてくれるでしょう。

.M.......    /boot/efi/EFI/redhat
.M.....T.    /boot/efi/EFI/redhat/grub.efi

すでに光学メディアから起動して実行してみましたgrub インストール現時点では、ゼロから再構築するという選択肢はありません。

追加情報

$ sudo efibootmgr
Fatal: Couldn't open either sysfs or procfs directories for accessing EFI variables.
Try 'modprobe efivars' as root.

# modprobe efivars
FATAL: Module efivars not found.


# ls -li $(locate grub.conf)
  9 -rwx------. 1 root root 3626 May 25 09:31 /boot/efi/EFI/redhat/grub.conf
  2885960 lrwxrwxrwx. 1 root root   32 Apr 21  2018 /etc/grub.conf -> ../boot/efi/EFI/redhat/grub.conf
  2885959 lrwxrwxrwx. 1 root root   33 Apr 21  2018 /etc/grub.conf.rpmsave -> ..//boot/efi/EFI/redhat/grub.conf

# diff -wb /etc/grub.conf /etc/grub.conf.rpmsave
#

答え1

もう一度時間を見つけてこの問題に取り組み、解決しました。

最終的に私の目に留まったヒントはgrub.conf、「パスは相対的である/boot/」でした。

# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,1)
#          kernel /vmlinuz-version ro root=/dev/sdb8
#          initrd /initrd-[generic-]version.img

grub.conf ファイルが間違った場所にありました/etc/grub.conf。ファイルを にコピーしたら/boot/grub/、システムは正常に起動しました。

私の質問を振り返ってみると、どうやって実行したのか全くわかりません。sudo cat /boot/efi/EFI/redhat/grub.conf それは、私のコメントの1つで、locate grub.conf1つのファイルしか見つけられなかったことからも明らかです。/etc

関連情報