Como faço para inicializar a inicialização do grub para o syslinux?

4

Estou expandindo meu disco flash usb de resgate. A partição do USB é inicializável e instalei o GRUB no MBR da unidade de salto. Ele funciona muito bem - eu posso inicializar Freedos e executar alguns utilitários, e posso inicializar PING .

Eu gostaria de adicionar o LiveCD do Ubuntu 9.10 a esta unidade usb de resgate. Eu tenho um jumpdrive funcionando, então eu posso facilmente copiar os arquivos. Eu poderia caçar as entradas menu.lst necessárias para o GRUB, mas o Ubuntu LiveUSB usa uma configuração syslinux bastante complicada. Além disso, gostaria de manter o máximo do look-n-feel atual do LiveCD / LiveUSB sem transferir a configuração do syslinux para o GRUB.

Por sugestão de ~ quack, tentei uma entrada menu.lst de:

 title Ubuntu 9.10 LiveCD
 root=(hd0,0)
 kernel /ubuntu-9.10/syslinux/isolinux.bin

mas o GRUB respondeu com um Error 13: Invalid or unsupported executable format . Na linha de comando do GRUB eu tentei:

 grub> root=(hd0,0)
 grub> kernel /syslinux/isolinux.bin

porque tenho um segundo arquivo isolinux.bin nesse local, mas o GRUB respondeu com o mesmo erro. Eu também tentei:

 grub> chainloader /syslinux/isolinux.bin

e mais uma vez recebeu o Erro 13. Finalmente, eu tentei na linha de comando do GRUB:

 grub> root=(hd0,0)
 grub> kernel /ubuntu-9.10/install/mt86plus
 grub> boot

e isso funcionou

O que eu realmente gostaria é de ter o carregador de boot syslinux / isolinux da chamada do GRUB. Então o syslinux poderia carregar seu próprio menu e outros enfeites.

Alguém sabe como fazer isso?

    
por pcapademic 03.01.2010 / 09:33

3 respostas

4

Atualização: Com base em sua inscrição, encontrei o artigo " Grub carrega syslinux e volta ", que basicamente diz" patch grub ":

  • Chainloading syslinux from GRUB seems not to be possible without a patch. I don't know about GRUB2. This could be useful for multi-booting (syslinux-based) partitions.

  • Chainloading syslinux from GRUB4dos (on different partitions) is possible. I managed it through the mapping, explained (again) here. It solves some problems in multi-booting usb devices.

A página de patch menciona que um patch semelhante foi postado em grub-devel para o Grub v2; este post pode ser esse patch. Ou esta mensagem , que aponta para este relatório de bugs (datado de novembro de 2009, portanto é muito recente) para um Grub v2 patch .

Para usar um dos patches, você precisa baixar o código-fonte do Grub para sua versão preferida do Grub, verificar se ele não inclui o patch, tentar aplicar o patch e recompilar e reinstalar o novo Grub.

Resposta original:

Eu tentaria testar uma entrada simples no Grub primeiro. Esta é uma entrada padrão do Grub para o utilitário Memtest86 + em um sistema Debian:

title           Debian, memtest86+
root            (hd0,0)
kernel          /boot/memtest86+.bin

Apenas tente refazê-los com seus valores (altere a partição raiz ou o caminho do kernel conforme necessário):

title           Ubuntu LiveUSB SysLinux boot
root            (hd0,0)
kernel          /syslinux/isolinux.bin

Eu não acho que você precisaria do comando chainloader+ para esta tarefa.

    
por 03.01.2010 / 09:47
1

title UBUNTU 9.1 ISO Boot

encontre --set-root /ubuntu9.1.iso

map /ubuntu9.1.iso (hd32)

map --hook

root (hd32)

chainloader (hd32)

adicione isto ao seu menu.lst, e copie o ubuntu9.1.iso para a unidade na qual o menu.lst existe.

    
por 06.01.2010 / 07:07
0

Usar o YUMI em um sistema Windows parece ser a maneira mais fácil de fazer isso.

link

    
por 14.02.2012 / 03:02