вот что ответили на gnu.org
mapping between disks and hdX is unpredictable. That's why we use UUIDs
(search ...). Just use autogenerated entry
что в переводе с буржуйкого будет означать следующее:
распределение hdX между дисками непредсказуемо. поэтому мы используем uuid (команда search ...). просто используйте автосоздаваемый пункт.
в общем, лаконично. да, дескать, система косячная, но есть костыль, что ж поделаешь.
зато разобрался с этим самым search. используется она как замена строке uuid ... в старом грубе. даже больше скажу - в пунктах grub.cfg строка set root особого значения не имеет, ибо рут задается этой самой search по ююид. используется так:
search -u 0r46dg-16df.... -s
где -u означает поиск по ююид, а -s используется для задания ПЕРЕМЕННАЯ=ЗНАЧЕНИЕ, если переменная пустая, то она "root". search -u найдет раздел с заданным ююид и выдаст ответ вида "(hd1,1)", а -s подставит полученное в качестве рута. подробнее - "help search" в консоли груба. кстати, есть еще удобная фича - поиск по файлу. например, если у нас одна линух-система, можно сделать "search -f /vmlinuz" и получить ее рут.
чтоб узнать ююид пишем "root (hd0," и жамкаем tab. сие перечислит все разделы заданного диска, их фс, метки и ююид.
как я понял, он видит второй виндозный MBR на диске hd1 - но в реальности у меня нет диска hd1
и почему grub генерирует конфиг с записью hd2,1 когда ls в консоли такого диска не видит?
см. выше
и почему он не хочет грузить mbr c hd2,2 и hd2,5 , а грузит только если прописать hd2?
как выяснилось, если указать диск в чистом виде (а-ля (hd2)) - груб загрузит его mbr, если таковой там имеется. что по действию равносильно смене бут-девайса в биосе. так я загружал груб на флэшке через груб с харда
и еще, почему он имея неправильную запись hd2,1 начинает грузить неверный mbr c несуществующего раздела несуществующего диска (hd1,1)?
опять же search -u .... -s
и, если этот диск не существует, почему тогда из этого mbr спокойно загружается виста?
как мы поняли, диск существует и по ююид определяется. а вот почему с него через жопу грузится - это уже другой вопрос, на который создатели отвечать не собираются.
ЗЫ. баг-репорт на гну.орг благополучно слит в closed. дескать, вот вам костыль и удачи там)))
Сначала сделал виртуальные харды для Ubuntu и Debian. Поставил Debian первым, обьединил контроллером SCSI в VirtualBox , хард для Ubuntu. Инсталлирую Ubuntu, reboot. Груб все видит и запускает. Удаляю Ubuntu, удаляю SCSI контролер, т. е. нет второго диска с Debian. Инсталлю вновь Ubuntu. Подключаю второй виртуальный хард.
с виртуалбоксом и подобными никогда не работал, как и с виртуальными хардами. посему не совсем понял, что ж ты творишь.