Косяк оказался в том, что я неправильно установил винду (с MBR-разметкой).
Нет.
и видимо поэтому grub тупил.
Нет.
Всегда, когда больше одного устройства, их имена могут меняться каждую загрузку.
Например, если в этом сеансе даннное устройство имеет имя - sda. То при следующей загрузке оно вполне может оказаться - sdb.
Поэтому, если возникает необходимость обращаться к устройству по каноническому имени, всегда проверяй, какое имя присвоено устройству именно в этом сеансе.
Именно поэтому зачастую бывает не туда установлен загрузчик, при установке не обратили внимание, куда конкретно ставят.
Иногда даже бывает, что для одного раздела в груб одно имя, а в fstab другое.
Собственно поэтому в груб разделы определяются по UUID.