내 CentOS 6.10 호스트가 부팅되지 않습니다. GRUB 프롬프트에서 중지됩니다. 부팅할 때마다 수동 개입 없이 이 문제를 어떻게 해결합니까?
이 단계를 통해 시스템을 성공적으로 실행할 수 있습니다.
root (hd0,1)
kernel /vmlinuz<version> root=/dev/sda8 ro
initrd initramfs<version matching kernel line>
boot
그 이후부터는 재부팅해야 할 때까지 모든 것이 정상입니다. uname -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
이미 광 미디어에서 부팅을 시도하고 실행해 보았습니다.그럽 설치. 현재로서는 처음부터 다시 빌드하는 것은 불가능합니다.
추가 정보
$ 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
점에서 분명합니다.locate grub.conf
/etc