grub2-mkconfig는 RHEL 9에서 이름이 변경된 루트 논리 볼륨을 전파하지 않습니다.

grub2-mkconfig는 RHEL 9에서 이름이 변경된 루트 논리 볼륨을 전파하지 않습니다.

RHEL 9.3에서는 논리 볼륨(LV) /dev/lvm01/root의 이름을 /dev/lvm01/root.vol.

  • /etc/fstab항목 변경
  • 시스템 구성 다시 로드
  • 다시 설치/

/etc/default/grub또한 항목을 수정했습니다 .

GRUB_CMDLINE_LINUX="root=/dev/mapper/lvm01-root.vol ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/lvm01-swap.vol rd.lvm.lv=lvm01/root.vol rd.lvm.lv=lvm01/swap.vol"

grub2-mkconfig -o /boot/grub2/grub.cfg그런 다음 나머지 작업을 수행하고 재부팅하기 를 원합니다 . 그러나 시스템은 루트 파티션을 찾을 수 없다는(또는 유사한 것) 것을 나타내는 dracut 메시지로 끝났습니다.

짧은 조사 끝에 커널 매개변수가 예상대로 수정되지 않았음을 깨달았습니다. 수동 변경은 운영 체제를 부팅하는 데 도움이 됩니다. 흥미로운 /boot/grub2/grub.cfg업데이트. 하지만 업데이트되지 않는 것은 /boot/loader/entries/*파일입니다. 여기에 문제가 있습니다.

답변1

음, 임시 해결책은 다음과 같습니다.

# grub2-mkconfig --update-bls-cmdline -o /boot/grub2/grub.cfg

하지만 실제 상태를 수정하는 것뿐입니다. 커널 업데이트는 여전히 이전 LV 이름을 사용합니다.

커널 업데이트에도 도움이 되는 유일한 솔루션은 다음과 같습니다 grubby.

# grubby --update-kernel=ALL --args="root=/dev/mapper/lvm01-root.vol ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/lvm01-swap.vol rd.lvm.lv=lvm01/root.vol rd.lvm.lv=lvm01/swap.vol"

커널 업데이트 후에도 새 conf 파일의 내용이 /boot/loader/entries/<machine-id>-<kernel version>.conf양호해 보이고 시스템이 정상적으로 부팅됩니다.

실제로 문제는 꽤 오랫동안 공개된 다음 RH 티켓과 관련이 있을 수 있습니다(그러나 확실하지는 않습니다). https://issues.redhat.com/browse/RHEL-4313

관련 정보