aandytux, такой легкий ответ, сродни вечным ответам на форумах: "а мне не мешает", "а так даже лучше", "а это вообще не используйте", но такие "ответы" никак не помогают вопрошающему. И конфигурация grub в Ubuntu создается как задумано разработчиками Canonical, а не владельцем системы, это потом уже он может привести ее к какому-то иному состоянию, но вопрос то был, как работает из коробки, а это вполне конкретное состояние, а не сферический конь в вакууме.
zg_nico, спасибо большое за ответ, то что нужно было, уже и сам посмотрел. Если кому-то интересно
Хотелось понять, что с симлинками и как происходит загрузка второй системы, если grub только в первой. Решил установить Ubuntu Server, т.к. это быстрее, ядро теперь одинаковое везде, и манипуляции с ним должны быть одинаковыми. live server практически ничего не спросил, установился без проблем. Но при попытке установить вторую систему с этого же образа заявил, что диск на который он будет ставится девственно чист. Поведение оказалось задокументированным багом, что он попал в LTS возмущались еще в июне, но воз и ныне там. После этого решил проверить alternative и desktop. Desktop умудрился зависнуть намертво на последих этапах установки, но система установилась и работала. Alternative установился, но при перезагрузке порадовал kernel panic, оказалось он "забыл" создать initrd, решив, что это баг при выборе специализированного target initrd, сделал вторую попытку с установкой общего initrd - результат был тот же, initrd не создавался. Немного ошалел от такого количества проблем, а в голову стали приходить мысли, что может проблема не в системе, а во мне. Может разучился пользоваться дебиановским инсталлятором, хотя что там можно напутать, когда практически ничего не меняшь. В связи с этим взял Debian Testing и стал устанавливать ее, Debian не чем меня не удивила, установилась легко и просто, и работала без ошибок.
После этого проанализировал ubuntu (то что работало) и debian.
Похоже Ubuntu именование ядер унаследовал от Debian. Почему нельзя использовать названия vmlinuz, vmlinuz.old, vmlinuz-fallback или как-то еще для основного и запасного ядра не очень понятно, в манах Debian ничего не нашел, везде преподносится как данность. Из-за этого, понятное дело, нужно проводить переконфигурацию grub, после обновления ядра. Плюс добавлены скрипты создающие симлинки на используемое и запасное ядро (vmlinuz,vmlinuz.old). Симлинки лежат в корне, т.к. для /boot больше шансов использования фс не поддерживающей симлинки. Но дальше стало интереснее, Debian создавала конфиг grub с ядрами вида vmlinuz-4.9.0-8-amd64, но только для системы, где grub установлен, для внешних систем полученных через os-prober она ссылалась на ядра по симлинку /vmlinuz. А вот Ubuntu во всех случаях использовала ссылки первого типа. Поведение Debian понятно, для своей системы все будет ок, т.к. grub обновляется после установки ядра, а вот для других лучше использовать симлинк. Тогда решил проверить как Ubuntu отреагирует, если во второй системе обновить ядро без обновления grub. Подход Canonical оказался "очень интересным"... Ubuntu всегда ставит загрузчик, если не grub, то lilo. Если загрузчик снести, то он все равно будет установлен с ближайшим обновлением ядра, т.к. ядро зависит от загрузчика (!). Понятно, что можно не устанавливать зависимости, но очевидно к чему это приведет.
Вот примерно так это работает.