grub-mkconfig는 루트의 UUID를 어디서 얻나요?

grub-mkconfig는 루트의 UUID를 어디서 얻나요?

Debian 10에서 실행 하면 grub-mkconfig다음과 같은 결과가 생성됩니다.

...
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  fc6c3fbf-8cfc-411c-ac5d-072c6e8c8092
        else
          search --no-floppy --fs-uuid --set=root fc6c3fbf-8cfc-411c-ac5d-072c6e8c8092
        fi
        linux /boot/vmlinuz-4.19.0-9-amd64 root=UUID=e0674dbf-3546-4898-9933-c9eb55703cb5 ro single
        initrd /boot/initrd.img-4.19.0-9-amd64
...

이 프로그램은 무엇을 하고 있으며 왜 다른 UUID를 사용하고 있습니까? 이 UUID는 어디에서 왔습니까?

답변1

이는 두 개의 파일 시스템 //boot.

/boot첫 번째 부분은 grub에게 Linux 커널(및 initramfs)이 포함된 파티션을 찾는 방법을 알려줍니다 .

    if [ x$feature_platform_search_hint = xy ]; then
      search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2  fc6c3fbf-8cfc-411c-ac5d-072c6e8c8092
    else
      search --no-floppy --fs-uuid --set=root fc6c3fbf-8cfc-411c-ac5d-072c6e8c8092
    fi

다음 섹션에서는 다음과 같이 grub이 사용하는 파일 시스템을 제어하는 ​​루트 커널 매개변수를 전달하여 Linux를 부팅하도록 지시합니다 /.

linux /boot/vmlinuz-4.19.0-9-amd64 root=UUID=e0674dbf-3546-4898-9933-c9eb55703cb5 ro single

나는 그것이 어떻게 발견되는지 살펴본 적이 없지만 궁극적으로 통제됩니다 /etc/fstab. fstab을 변경하여 다른 파일을 가리키도록 하거나 항상 이 명령을 루트로 실행해야 한다는 점은 주목할 가치가 /있습니다 /boot.

update-grub

관련 정보