ubuntu 20.04로 업그레이드한 후 kexec 다시 시작 시 더 이상 펌웨어/하드 재부팅을 건너뛰지 않습니다.

ubuntu 20.04로 업그레이드한 후 kexec 다시 시작 시 더 이상 펌웨어/하드 재부팅을 건너뛰지 않습니다.

(우분투와 특별히 관련이 없다고 생각하기 때문에 우분투 하위 사이트 대신 여기에 게시합니다...)

kexec-reboot -lr매우 유용한 기능을 성공적으로 사용했습니다해당 페이지는 여기입니다.

18.04에서 20.04로 업그레이드한 후 이 명령을 실행하면 시스템이 계속 재부팅되지만 이제 커널을 다시 로드하고 재부팅하는 대신 EFI/펌웨어까지 "하드" 재부팅이 수행됩니다. 이로 인해 내 서버의 시작 시간이 몇 분 추가됩니다(그리고 이 호출을 사용하는 요점이 무산됩니다...).

kexec-reboot의 자세한 출력을 기반으로 실행하는 명령은 다음과 같습니다.

Running /sbin/kexec -l /boot/vmlinuz-5.4.0-54-generic --append='root=UUID=69a4d39e-361f-41e7-9ad3-866cb9dae202 ro intel_iommu=on' --initrd=/boot/initrd.img-5.4.0-54-generic

명령을 직접 실행하면(즉, kexec-reboot 편의 스크립트가 아닌) 동일한 동작이 발생합니다.

관련성이 있어 보이는 메시지를 찾기 위해 syslog와 dmesg를 확인했지만 아무 것도 찾을 수 없습니다. 또한 내가 볼 수 있는 다양한 위치를 모두 알지 못할 수도 있습니다. 자세한 플래그 외에 이 문제를 해결하기 위해 무엇을 사용할 수 있습니까?

업데이트 11/26: 위에서 설명한 대로 kexec 라인을 수동으로 빌드한 다음 실행하면 kexec -e(위에서 설명한 대로)여기) 커널을 직접 부팅합니다. kexec-reboot 코드를 보면 최종 호출이 있음을 알 수 있으므로 이제 동작이 이전과 다른 shutdown -r now이유를 알아내려고 노력하고 있습니다 .shutdown -r now

답변1

커널 5.4부터 Linux 보안 모듈은 잠금 기능을 활성화합니다. 이렇게 하면 kexec 다시 시작 기능이 비활성화되고 하드 재설정을 우회할 수 없습니다. 기본적으로 5.4에서는 잠금이 비활성화되어 있습니다. 그러나 귀하의 경우에는 활성화되어 있지 않은지 확인하십시오. u-boot 변수나 커널 소스코드를 확인할 수 있습니다.

관련 정보