Sim, isso é possível. E funciona até com funções embutidas. Basta editar seu syslinux.cfg para incluir o seguinte:
LABEL linux
LINUX /boot/vmlinuz
APPEND root=/dev/disk/by-label/data rootfstype=ntfs loop=images/linux_root.img loopfstype=ext4 rw
INITRD /boot/initrd.img
Obviamente, você tem que copiar sua imagem de kernel ( vmlinuz ) e sua imagem de disco RAM inicial ( initrd.img ) para a partição FAT que você deseja inicializar com o SYSLINUX. (O caminho é relativo à raiz das partições).
O parâmetro root= especifica o dispositivo e a partição da imagem do sistema de arquivos raiz. Você pode também usar a notação /dev/sda1 ou a versão /dev/disk/by-UUID/SOMECRYPTYCNUMBER .
O rootfstype especifica o sistema de arquivos da partição na qual a imagem do sistema de arquivos está localizada. NTFS e FAT são suportados fora da caixa. Para formatos mais exóticos, você precisa editar o initrd.img para incluir e carregar os módulos de kernel apropriados.
loop= fornece o caminho para a imagem do sistema de arquivos raiz relativa à base da partição em que ela está. loopfstype= especifica seu tipo interno. Obviamente, ele será montado em / após a inicialização. A partição da qual a imagem foi carregada será montada em /host automaticamente se essa pasta existir. (Você não poderá montá-lo em nenhum outro lugar se NÃO estiver montado lá de forma atômica. Mas poderá movê-lo para outro ponto de montagem com mount -m , se for.)
Não se esqueça de copiar e sobrescrever o kernel e o initrd.img na partição FAT toda vez que eles forem atualizados por uma atualização do sistema ou coisas estranhas acontecerem durante a inicialização.
Infelizmente, não há como incluir uma partição swap da mesma maneira. Você tem que usar uma partição real para isso ou tentar encontrar uma maneira de ativar uma após a inicialização do sistema em execução.
Espere aprox. 10% de sobrecarga da CPU para gravar no dispositivo de loop montado por meio do wrapper NTFS.