Agora veremos o que colocar em (hd1,6).
Essa linha 5, já explicada, também indica o disco físico onde está armazenada a imagem iso, por isso segue a seqüência (hdX,X)$isofile: primeiro o disco, depois o caminho para a imagem, o que é lógico. Caso você colocar o disco/caminho errado o
Grub emitirá a mensagem de "erro: arquivo '/caminho/para/iso' não encontrado". Em distribuições como o Arch você pode, em vez de hd0,1 colocar o UUID, como veremos adiante.
Erro de "você precisa carregar o kernel primeiro".
Abra o terminal e execute
lsblk
e logo depois
sudo fdisk -l
Na saída dos comandos vemos as partições e os discos.
Repare que tem sda, sdb, etc.
O hd0 é o dispositivo sda, hd1 é o sdb e assim por diante. Apesar de que o
Grub não liga muito para isso, ele prefere seguir o UUID, mas nesse caso podemos confiar. No caso em tela vemos que a partição /home está em sdb6, então a linha ficou com hd1,6.
O número após a vírgula você vê na saída dos comandos. O hd começa em 0 a partição começa em 1. Por exemplo: /dev/sdb6 significa o disco 1, pois o disco 0 é o /dev/sda, o disco 3 é o /dev/sdc e assim por diante. A partição começa em 1 e como é sdb6 então colocamos 6.
Para confirmar entre no arquivo /boot/grub/grub.cfg no modo somente leitura (cat /boot/grub/grub.cfg ou como usário digite nano /boot/grub/grub.cfg sem sudo) e procure na seção do menuentry do Kernel instalado na máquina uma linha iniciada com "set root", provavelmente será "set root='hd1,msdos1'" ou algo parecido. Daí vemos que, neste caso, confirmou que é hd1. Caso estiver hd0 ou outro, veja se coincide com as saídas dos comandos.
Somente veja o conteúdo do arquivo /boot/grub/grub.cfg, não altere.
Dica:
Caso tiver discrepância entre as informações teste a inicialização primeiro com hd0 e depois com hd1, etc, até não dar mais erro de "arquivo não encontrado", pois, às vezes, o
Grub se perde na numeração porque o GRUB não distingue IDE de SCSI, por isso para o
Grub os dois são hdx,x.
Porém, para o kernel
Linux:
/dev/hda refere-se ao primeiro disco rígido IDE;
/dev/sda refere-se ao primeiro disco rígido SCSI ou SATA;
/dev/nvme0n1 refere-se ao primeiro SSD NVMe;
/dev/nvme1n1 refere-se ao segundo SSD NVMe.
Na saída do comando fdisk -l também podemos ver se é gpt ou mbr e podemos ver o identificador do disco, no caso, o UUID, aquele numerozão. Para ser mais específico pode se executar:
sudo fdisk -l /dev/sda
sudo fdisl -l /dev/sdb
e assim para todos os dispositivos.
Sempre depois de alterar o arquivo /etc/grub.d/40_custom execute:
sudo update-grub
ou o comando equivalente da sua distribuição.
Sem atualizar o
Grub não terão efeito as alterações no arquivo. Reinicie e teste.
No Fedora, CentOS, RHEL, openSUSE, o comando geralmente é:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
No Debian e derivados (Ubuntu, Linux Mint, Kali, etc) pode usar:
sudo update-grub
ou
sudo grub-mkconfig -o /boot/grub/grub.cfg
Agora que destrinchamos o processo de elaborar entradas (menuentry) no arquivo /etc/grub.d/40_custom vamos ver as entradas de algumas distribuições.