Lilo, WinXP и тысяча и одна ночь...
Такая маза.... Есть два винта, hda и hdb (оба ATA-133), на первом стоит WinXP(hda1-загрузочный,hda2(hda5,hda6), система NTFS), на втором Linux(грузится с hdb2).
Отступление. С Виндой такой расклад. hda1 - NTFS, hda5 я делал на FAT32, hda6 на NTFS, вроде так работало. По fdisk -l /dev/hda выдавал такое:
Device Boot Start End Blocks Id System
/dev/hda1 * 1 637 5116671 7 HPFS/NTFS
/dev/hda2 638 9732 73055587+ f W95 Ext'd (LBA)
/dev/hda5 638 4461 30716248+ 7 FAT32
/dev/hda6 4462 9732 42339276 7 HPFS/NTFS
Итак. Ставил сначала lilo по-простому в /dev/hdb2, без изменения mbr-ов обоих дисков. В BIOS выставил загрузку со второго винта. Естественно, WinXP не грузилась. Конифг lilo был такой:
lba32
boot = /dev/hdb2
compact
prompt
timeout = 100
image = /boot/bzImage
root = /dev/hdb2
label = Linux
read-only
other = /dev/hda1
label = Windows
table = /dev/hda
Почитал ман, подумал, записал MBR с первого диска в файл (dd if=/dev/hda of=mbr.hda bs=512 count=1), кинул файл в /boot, добавил в конфиг:
label = Windows
loader = mbr.hda #<--вот это
table = /dev/hda
Винда стала грузиться.
Потом чего-то кто-то сделал с первым винтом, и стало интересно. Например, хотя данные никуда не дивались и ничего не попортилось, но раздел hda5 вдруг стал определяться как NTFS и перестал монтироваться по FAT32. После очередной перекомпиляции ядра (на 2.6.11.8) и переустановки lilo винда перестала грузиться.
Вопросы:
1. Какого Х она перестала грузиться.
2. Можно ли добиться нужного (чтобы всё грузилось) меньшей кровью.