“O nome do arquivo deve ser um nome de caminho absoluto ou uma lista de bloqueio” Erro durante a inicialização

1

Estou usando um laptop FS em que o Lubuntu, o Xubuntu e o Puppy Linux já estão instalados. Estou usando um gerenciador de inicialização GRUB que funciona como esperado com o acima.

Eu pensei em dar uma chance ao Debian, então eu o instalei em uma partição livre do HD. Como não queria estragar minha configuração existente do GRUB, não instalei o GRUB durante a instalação, pensando em fazê-lo manualmente depois. No entanto, não consigo fazer isso funcionar. Eu adicionei isso no meu menu.lst:

title Debian
uuid 5329c69c-c525-4e0e-8026-3418a0db8fb2
kernel vmlinuz root=/dev/sda6 ro
initrd initrd.img

'Debian' aparece, mas quando eu seleciono eu recebo um erro "Nome do arquivo deve ser um caminho absoluto ou uma lista de bloqueio".

Alguém poderia me dar uma pista sobre o que há de errado com a entrada menu.lst? Eu me certifiquei de que o código do uuid está certo (assim como o número da partição).

    
por Digital Dracula 10.01.2016 / 11:24

2 respostas

1

Você precisa especificar o caminho absoluto no arquivo do kernel. Um caminho absoluto inicia no diretório raiz e começa com um / . Se /boot estiver na partição raiz, isso significa

kernel /boot/vmlinuz

Se /boot estiver em uma partição separada, isso significa

kernel /vmlinuz

O mesmo vale para initrd.img .

Além disso, você pode precisar de uma instrução root para apontar o Grub para a partição onde estão esses arquivos. No legado do Grub, é algo como root (hd0,5) para o que o Linux chama /dev/sda6 (o Grub numera partições de 0, o Linux numera partições de 1). A diretiva uuid desempenha o mesmo papel, se a sua versão do Grub for compatível.

Em uma instalação normal do Debian, /boot/vmlinuz e /boot/initrd.img são links simbólicos que apontam para um arquivo chamado vmlinuz-VERSION (resp. initrd.img-VERSION ), onde VERSION designa a última versão do kernel está instalado. Dependendo da configuração, esses simbólicos podem estar no diretório raiz (mas isso não funciona se /boot estiver em uma partição separada). O Grub pode ler links simbólicos (desde que estejam dentro da mesma partição), então você pode usá-los para evitar a codificação do número da versão do kernel na configuração do gerenciador de inicialização.

    
por 11.01.2016 / 02:07
1

Estou respondendo a minha própria pergunta no caso de alguém estar tentando descobrir isso. Eu descobri meus dois erros: a) o caminho não estava certo - eu deveria ter usado kernel /boot/vmlinuz b) o kernel & os nomes do initrd não estavam certos. O seguinte está funcionando agora:

title Debian
  uuid 5329c69c-c525-4e0e-8026-3418a0db8fb2
  kernel /boot/vmlinuz-3.16.0-4-586 root=/dev/sda6 ro
  initrd /boot/initrd.img-3.16.0-4-586
    
por 10.01.2016 / 17:13

Tags