/boot/efi를 마운트할 수 없으며 Grub 메뉴가 업데이트되지 않았습니다.

/boot/efi를 마운트할 수 없으며 Grub 메뉴가 업데이트되지 않았습니다.

centos 시스템을 업데이트하고 다시 시작한 후에도 여전히 이전 grub 메뉴가 표시되고 새 커널이 존재하지 않는 것을 발견했습니다.

시작 후 링크가 /etc/grub2.cnf끊어졌습니다. 이것들을 재현했어요

grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
grub2-mkconfig -o /boot/grub2/grub.cfg

이로 인해 링크가 수정되었고 grub 구성 파일이 괜찮아 보이는 것을 볼 수 있었지만(제한된 경험으로 파일 내용을 확인하려고 시도하지 않았습니다) 메뉴는 업데이트되지 않았습니다. 즉, 다음에 재부팅할 때 일부 고대 커널 버전이 포함된 매우 오래된 부팅 메뉴를 다시 보았으며 그 중 하나만 시스템에 아직 남아 있었습니다.

추가 인터넷 검색 후에 /boot/efi 파티션이 중요하며 마운트되어야 한다는 것을 알았습니다. /etc/fstab 파일에 나열되어 있습니다.

# grep efi /etc/fstab
UUID=E911-FC5F          /boot/efi               vfat    umask=0077,shortname=winnt,nofail  0 0

/mnt/efi 디렉토리를 생성하고 파일 시스템을 확인하기 위해 마운트하려고 했지만 vfat가 알 수 없는 파일 시스템 유형이라는 오류가 발생했습니다.

[root@app03 etc]# mount -t vfat /dev/sda1 /mnt/efi
mount: unknown filesystem type 'vfat'

fstab 파일에서 마운트 옵션을 사용해 보기도 했습니다.

[root@app03 etc]# mount -o umask=0077,shortname=winnt,nofail --verbose /dev/sda1 /mnt/efi
mount: unknown filesystem type 'vfat'

vfat 모듈을 로드하려고 시도했지만 여전히 같은 오류가 발생했습니다.

[root@app03 etc]# blkid /dev/sda1
/dev/sda1: SEC_TYPE="msdos" UUID="E911-FC5F" TYPE="vfat" PARTLABEL="EFI System Partition" PARTUUID="895f6027-a800-4f20-8d36-6b5c2f740d90" 
[root@app03 etc]# lsmod |grep vfat
[root@app03 etc]# modprobe vfat
[root@app03 etc]# lsmod |grep vfat
[root@app03 etc]# locate vfat
/usr/lib/modules/3.10.0-1062.18.1.el7.x86_64/kernel/fs/fat/vfat.ko.xz
/usr/lib/modules/3.10.0-1160.53.1.el7.x86_64/kernel/fs/fat/vfat.ko.xz
/usr/lib/modules/3.10.0-1160.76.1.el7.x86_64/kernel/fs/fat/vfat.ko.xz
/usr/lib/modules/3.10.0-1160.88.1.el7.x86_64/kernel/fs/fat/vfat.ko.xz
/usr/lib/modules/3.10.0-862.6.3.el7.x86_64/kernel/fs/fat/vfat.ko.xz
/usr/sbin/fsck.vfat
/usr/sbin/mkfs.vfat
/usr/share/man/man8/fsck.vfat.8.gz
/usr/share/man/man8/mkfs.vfat.8.gz
[root@app03 etc]# mount /dev/sda1 /mnt/efi
mount: unknown filesystem type 'vfat'
[root@app03 etc]# grep vfat /etc/filesystems 
vfat
[root@app03 etc]#

파티션을 보는 것은 나에게 별로 도움이 되지 않습니다.

[root@app03 etc]# fdisk -l /dev/sda
WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sda: 479.6 GB, 479559942144 bytes, 936640512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 262144 bytes / 262144 bytes
Disk label type: gpt
Disk identifier: BBDE0244-EE22-420F-A32E-DC5CB3CF3540


#         Start          End    Size  Type            Name
 1         2048       411647    200M  EFI System      EFI System Partition
 2       411648      2508799      1G  Microsoft basic 
 3      2508800    936638463  445.4G  Linux LVM       

나는 여기에 갇혀있다. 다음 명령을 사용하여 grub을 다시 설치해야 한다는 것을 알고 있지만 grub2-install --efi-directory=/boot/efi /dev/sda/boot/efi가 마운트되지 않은 한 이로 인해 상황이 더 악화될까 봐 두렵습니다.

이 예에서 /dev/sda1은 EFI 시스템 파티션이고 /dev/sda2는 /boot 파티션입니다.

질문:

  1. EFI 파티션을 다시 만들 수 있나요? 이것이 필요한가요? 도움이 되나요?
  2. 대신 /dev/sda2 파티션을 사용하여 마운트할 수 있나요?
  3. 이러한 응용 프로그램 서버가 5개 있는데 그 중 하나에만 문제가 있습니다. 어떻게 이런 일이 발생할 수 있습니까?

도움이 된다면 예상대로 작동하는 다른 서버에서 다음이 표시됩니다.

[root@app02 ~]# lsmod |grep vfat
vfat                   17461  1 
fat                    65950  1 vfat
[root@app02 ~]# mount -v |grep vfat
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)
[root@app02 ~]# df -h |grep efi
/dev/sda1                         200M   12M  189M   6% /boot/efi

답변1

vfat파일 시스템 유형을 지원하지 않는다고 주장하는 시스템이 어떤 방식으로든 강화 되었습니까 ? 예를 들어, 그 안에 있는 파일에 /etc/modprobe.d/다음 줄이 포함되어 있습니까?

install vfat /bin/true

그렇다면 UEFI에서 시스템을 부팅하기 위해 완전히 업데이트되지 않은 지침을 사용하여 시스템을 강화했을 수 있습니다. 이 줄을 주석 처리하고 /boot/efiEFI 시스템 파티션을 다시 마운트해 보십시오.

답변2

귀하의 문제는 업데이트가 부분적으로만 작동하지만(EFI가 설치되지 않았기 때문에) 일부 위치에서는 커널을 업데이트하고 다른 위치에서는 업데이트하지 못하게 되는 것입니다. USB 드라이브에서 부팅하고 현재 손상된 시스템으로 chroot한 다음 chroot에서 다시 업데이트해 보세요.

관련 정보