Co ciekawe, miałem tutaj (w osobnym wątku) sam podzielić się wczoraj swoją niewiedzą na ten temat :) Szkoda że dałeś taki mylący temat, dołączyłbym wcześniej w miarę poszukiwań. Pozwoliłem sobie go zmienić - może więcej osób zainteresuje.
Sam eksperymentuję na GRUBie 2. Niektóre funkcje można dodawać do niego przez załadowanie modułu (insmod). Ale problemem jest słaba, prawie żadna dokumentacja.
Jedyną ciekawą podpowiedź znalazłem tu:
http://mgerards.net/blog/?p=16 , w szczególności wpisy
loopback loop (hd0,7)/sidux.iso
linux (loop)/boot/vmlinuz boot=fll quiet vga=791 fromiso=/sidux.iso
initrd (loop)/boot/miniroot.gz
boot
Trzeba jednak znać składnię używania wpisu loopback i wiedzieć, jakie moduły potrzebne są do tego. Póki co, wartymi zainteresowania wydają mi się iso9660 oraz ata.
Samo "insmod ata" pokazuje informacje dyskach i napędzie CD/DVD, po czym zamiast (hd* pojawiają się (ata*. GRUB posiada dopełnianie nazw TABem. Wpisanie (ata0 pokazuje poprawnie partycje mojego dysku, za to TAB po (ata1 wiesza GRUBa. Odkrywanie jak działa GRUB i jego na podstawie źródeł przekracza moje możliwości. Miałem jednak nadzieję, że w źródłach znajdę jakieś ciekawe komentarze.
Jeśli chodzi o starego GRUBa (0.9*), to mam przerobionego Knoppiksa na CD tak, że bootuje za jego pomocą. Trochę dziwne jest dla mnie, czemu GRUB (konkretnie kod z pliku stage2_eltorito) uruchamiany z CD widzi dyski IDE, natomiast ten zainstalowany na dyski napędu płytek już nie widzi.