При установке grub4dos на разделе ext4 можно использовать альтернативный загрузчик wee, который входит в состав пакета grub4dos-0.4.5b-2011-09-28 (weesetup-2011-09-18)
Первым делом необходимо установить этот загрузчик в MBR
В файле weesetup в конце лежит текстовое меню, его можно исправить любым редактором бинарных файлов
tc@box:~$ sudo ./weesetup -o /dev/sda
Либо можно указать свое меню в качестве параметра и оно будет вписано в конце загрузочного кода
tc@box:~$ sudo ./weesetup -s ./weescript -o /dev/sda
Далее при помощи fdisk необходимо разметить диск и указать активный раздел
tc@box:~$ sudo fdisk /dev/sda
...n p 1 a 1 t 83 w
tc@box:~$ mke2fs -t ext4 /dev/sda1
Остается скопировать в /boot ядро (vmlinuz) и файловую систему (core.gz) будущей операционной системы, в корень раздела скопировать grldr и создать файл меню /boot/grub/menu.lst
tc@box:~$ sudo mount /dev/sda1 /mnt/sda1/
tc@box:~$ sudo mkdir -p /mnt/sda1/boot/grub
tc@box:~$ sudo mount /mnt/sr0/
tc@box:~$ sudo cp /mnt/sr0/boot/vmlinuz /mnt/sda1/boot/
tc@box:~$ sudo cp /mnt/sr0/boot/core.gz /mnt/sda1/boot/
tc@box:~$ sudo cp /usr/local/share/grub4dos/grldr /mnt/sda1/
tc@box:~$ sudo cp /usr/local/share/grub4dos/menu.lst_example /mnt/sda1/boot/grub/menu.lst
tc@box:~$ sudo reboot
P.S. Файл weesetup-2012-02-18 не портит таблицу разделов, его можно запускать ПОСЛЕ разметки диска и форматирования раздела
https://code.google.com/archive/p/grubutils/downloads?page=1
tc@box less /usr/local/share/grub4dos/HOWTO