Он не знает. Он ищет только определенные файлы (initrd*, vmlinuz*) внутри каталога /boot и записывает файл конфигурации (/boot/grub/grub.cfg). Вы можете обновить этот файл, используя
sudo update-grub2
или
sudo grub2-mkconfig -o /boot/grub/grub.cfg
. Затем на этапе загрузки GRUB просматривает файл и использует информацию, которую он там размещает. Это просто.
Пример вывода:
$ sudo update-grub2 Generating grub.cfg ... Found linux image: /boot/vmlinuz-3.11.0-18-generic Found initrd image: /boot/initrd.img-3.11.0-18-generic Found memtest86+ image: /memtest86+.bin No volume groups found done