Ao criar um PV em um dispositivo, o rótulo LVM fica (por padrão) no segundo setor 512B. Se o dispositivo é um disco inteiro no qual o grub deve ser instalado, então é exatamente onde o core.img do grub está. Os metadados do LVM, para os quais há, por padrão, uma cópia por disco, ficam após o rótulo, iniciando no quinto setor. (Uma segunda cópia opcional dos metadados pode ser localizada no final do disco.) Esse tamanho de metadados é padronizado para 255 setores. Você pode alterar o local padrão do rótulo para qualquer lugar nos quatro primeiros setores, usando a opção --labelsector
para pvcreate
, mas isso não parece suficiente, pois o core.img do grub parece precisar dos 62 setores imediatamente após o MBR . (O MBR ocupa o primeiro setor e contém o boot.img do grub.)
É possível fazer o chainload do grub, usando um gerenciador de inicialização no MBR para carregar o boot.img / core.img localizado em outro lugar no disco. Normalmente "em outro lugar" significaria no registro de inicialização do volume, o espaço antes da primeira partição e após o MBR + outros dados interferentes. O problema é que normalmente a seção de dados do PV começa imediatamente após a seção de metadados. Há uma opção --dataalignmentoffset
para pvcreate
que pode abrir espaço aqui, mas essa abordagem pode ser um exercício para o leitor.
Veja (grub2): link
Veja (lvm2): link
Eu sugeriria que a maneira de contornar isso, em vez de usar todo o dispositivo como um PV, é criar uma única partição em seu disco. Use isso como o PV para o LVM. Em seguida, o rótulo PV & LVM & os metadados estarão no início da partição, e não no início do disco. Isso deixará os 62 setores após o MBR (e antes da primeira partição) livres para core.img.
Eu adicionarei que o GPT lança uma chave inglesa nessas obras, que eu não começo a entender. [Ok, o comentário faz parecer fácil o suficiente.]