chainload vários bootloaders grub2

2

Este é o contexto: Eu tenho um laptop com um hd que contém 4 partições:

  • 2 para janelas: (hd0,1), (hd0,2) - > Para o windows 7
  • 2 para o linux: (hd0,3), (hd0,4) - > Para linux (partições lógicas).

O atual bootloader "real" (no MBR, quero dizer) é o do Windows. Por trás, eu uso grub2win para propósitos específicos, e eu usaria para chainload o grub2 que está em (hd0,3).

Aqui está a entrada que eu adicionei no grub.cfg para fazer isso:

menuentry 'Chainloader 3' {
   insmod chain
   set root=(hd0,3)
   chainloader +1
}

Infelizmente, quando eu tento usá-lo, eu apenas tenho "nada", uma tela preta sem nenhum erro, e eu realmente não sei o que fazer mais.

Aqui está o resultado de fdisk -l :

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0xa2c2c4f8

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048   209717247   104857600    7  HPFS/NTFS/exFAT
/dev/sda2       209717248   420339711   105311232    7  HPFS/NTFS/exFAT
/dev/sda3       420341758   625141759   102400001    5  Extended
Partition 3 does not start on physical sector boundary.
/dev/sda5       420341760   615651327    97654784   83  Linux
/dev/sda6       615653376   625141759     4744192   82  Linux swap / Solaris
    
por user65120 13.04.2014 / 15:03

1 resposta

2

Apenas uma dica:

Todas as partições lógicas começam no número cinco. Verifique se você não errou os números 3 e 4, talvez eles devem ser 5 e 6 ... ou você tem quatro partições primárias!

Você tem certeza que tem o outro grub na partição número 3 (que é a definição estendida, não uma partição em si), talvez você esteja se referindo ao número da partição FIVE.

Do fdisk, vejo que você tem duas partições primárias (1 e 2), uma partição estendida (3) e duas partições lógicas (5 e 6).

Eu nunca vi um Grub instalado no Extended, mas vi o grub instalado no setor de inicialização da partição (no seu caso poderia ser 5 ou 6, não 3).

Outra dica:

Quando estiver no menu do Grub2, você pode pressionar a tecla 'c' para ir para a linha de comando, então digite o comando ls , que mostrará os nomes das partições, discos, etc que ele pode ver; em seguida, anote-os para ver o padrão (hd0,5) ou (hd0, msdos5) ou (hd0, gpt5), etc. Para retornar ao menu, basta pressionar a tecla 'Esc'.

Tenho certeza que você errou os números, já que você diz "2 para Linux: (hd0,3), (hd0,4) - > Para linux (partições lógicas)." mas o fdisk mostra que existem apenas duas partições primárias (1 & 2); também o seu número de partição 3 é a definição estendida, não um plce onde você pode colocar um sistema de arquivos.

Talvez você diga (4 e 5 em vez de 3 e 4):

2 para linux: (hd0,4), (hd0,5) - > Para linux (partições lógicas).

É um erro tipográfico? Ou você está realmente tentando fazer referência ao primeiro setor da partição estendida, onde ela reside na definição das partições lógicas, espere primeiro, senão se você escrever lá, você irá danificar as partições lógicas definitivamente, fazendo com que elas não sejam acessíveis. Por sorte, o instalador do Grub não permite instalar naquele lugar.

Espero que você consiga resolver sua dúvida.

E sim, o Grub pode residir dentro de um Ext4 que esteja dentro de um LVM distribuído em vários discos, e você também pode adicionar quantos LUKS quiser em qualquer parte da cadeia; Grub é maravilhoso para essas coisas.

Quero dizer: o arquivo grub.cfg e o resto dos arquivos podem estar dentro deste esquema de amostra complexo:

  • HDD0: Sem partições primárias, apenas uma Estendida com uma lógica tendo LUKS (chave A), dentro dela uma definição LVM2
  • HDD1: Sem partições primárias, apenas uma Estendida com uma lógica tendo LUKS (Chave B), dentro dela uma definição LVM2
  • HDD2: Sem partições primárias, apenas uma Estendida com uma lógica tendo LUKS (chave C), dentro dela uma definição LVM2
  • Tal LVM2 combinado (distribuído) em um disco virtual GRANDE, tendo tantos volumes lógicos quanto você quiser (você também pode usar o LUKS sobre eles), um para o Grub e seus arquivos

etc.

Lembre-se: Se você não tem certeza do que o literal Grub usa, vá para uma linha de comando (pressionando a tecla 'c') e use o comando ls sem paramenter, então anote a sintaxe e o que ela vê, para retornar menu apenas use a tecla 'Esc'.

Isso também é útil quando você usa dispositivos criptográficos (LUKS) e também LVM.

    
por 22.05.2018 / 11:08