grub2는 커널 부팅 전에 메뉴 사이에 오랜 시간이 걸립니다

grub2는 커널 부팅 전에 메뉴 사이에 오랜 시간이 걸립니다

최소 우분투(xubuntu-core)를 설치했습니다. 잘 작동하지만 너무 느리게 시작됩니다.

grub에서 선택을 한 직후, 화면이 검게 변하고 약 15초 후에 커널 부팅 메시지가 표시됩니다. [ 0.028000]즉, grub 이후, 부팅 메시지 이전에 무엇을 합니까? 어떻게 답을 찾을 수 있나요?

이전 설치에서는 grub 자체가 출력(아마도 로그 파일도?)을 생성했다는 것을 기억합니다. grub을 더 장황하게 만드는 방법이 있습니까?

편집하다:systemd-bootchart는 디스플레이 관리자가 8초 후에 시작된다고 알려줍니다. 그런데 grub에서 선택을 한 순간부터 약 25초가 지났습니다.

제가 grub에서 선택한 부분은 매우 평범합니다.

menuentry 'Ubuntu' --class ubuntu --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-simple-29414df5-b194-46a5-ae12-dac11924ae3c' {
        recordfail
        load_video
        gfxmode $linux_gfx_mode
        insmod gzio
        if [ x$grub_platform = xxen ]; then insmod xzio; insmod lzopio; fi
        insmod part_gpt
        insmod ext2
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root  29414df5-b194-46a5-ae12-dac11924ae3c
        else
          search --no-floppy --fs-uuid --set=root 29414df5-b194-46a5-ae12-dac11924ae3c
        fi
        linux   /boot/vmlinuz-4.18.0-15-generic root=UUID=29414df5-b194-46a5-ae12-dac11924ae3c ro 
        initrd  /boot/initrd.img-4.18.0-15-generic
}

답변1

커널은 부팅 초기 단계에서 다양한 항목(CPU, 메모리, 기타 하위 수준 플랫폼 구성 요소(예: 인터럽트 컨트롤러))을 설정하고 항상 관련 메시지를 기록합니다. 클럭 소스가 초기화되기 전에 모든 메시지의 타임스탬프는 0입니다. 따라서 초기 시작 중 어느 시점에서 긴 지연이 발생하더라도 타임스탬프에서는 이를 확인할 수 없습니다. 이와 같은 도구는 타임스탬프 데이터를 시각화할 뿐이 systemd-bootchart므로 여기서도 도움이 되지 않습니다.

문제가 있는지 확인하려면 초기 단계부터 dmesg 로그를 자세히 살펴봐야 합니다. 오작동하는 플랫폼 구성 요소, 파괴적인 전달 중단 또는 기타 문제가 없는 한 KASLR에 대한 엔트로피 수집과 같은 단계에서 지연이 발생할 수 있습니다. nokaslr시작 옵션을 사용하여 비활성화하고 도움이 되는지 확인할 수 있습니다.

답변2

달리기 dmesg? 시작 시간을 디버깅하는 또 다른 가능성은 다음과 같습니다.시스템 부팅 다이어그램(또는안내 사진 2init=/lib/systemd/systemd-bootchart)는 커널에 전달될 때 부팅 프로세스를 SVG로 시각화할 수 있는 훌륭한 도구입니다.

관련 정보