Inicialização dupla Arch Linux e Gentoo Linux: não é possível inicializar o Arch porque o disco rígido não pode ser encontrado

1

Eu tenho o Gentoo Linux instalado em /dev/sda2 , com /dev/sda1 sendo a partição de inicialização (onde os arquivos do GRUB estão instalados). /dev/sda tem uma tabela de partições MBR. /dev/sdb1 é uma partição de dados (onde eu armazeno arquivos que precisam de backup, como uma partição inicial) e /dev/sdb2 é onde eu instalei o Arch Linux. /dev/sdb tem uma tabela de partições GPT. O Gentoo está inicializando bem no GRUB, que eu instalei do Gentoo. Arch não é. /boot/grub/grub.cfg é link . Aqui está a parte do Arch Linux deste arquivo:

        menuentry 'Arch Linux (on /dev/sdb2)' --class gnu-linux --class gnu --class os $menuentry_i
d_option 'osprober-gnulinux-/boot/vmlinuz-linux--1db96616-a88a-42a6-9283-a57016bba4c9' {
                insmod part_gpt
                insmod ext2
                set root='hd1,gpt2'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-bios=hd1,gpt2 --hint-efi=hd1,gpt2 --hint-baremetal=ahci1,gpt2  1db96616-a88a-42a6-9283-a57016bba4c9
                else
                  search --no-floppy --fs-uuid --set=root 1db96616-a88a-42a6-9283-a57016bba4c9
                fi
                linux /boot/vmlinuz-linux root=UUID=1db96616-a88a-42a6-9283-a57016bba4c9 rw quiet
                initrd /boot/initramfs-linux.img
        }

mas quando eu tento inicializá-lo eu recebo um erro que hd1, gpt2 não existe. Só para você ver que as partições que mencionei existem aqui é o que ls /dev/sd* retorna:

/dev/sda  /dev/sda1  /dev/sda2  /dev/sdb  /dev/sdb1  /dev/sdb2

Se houver mais informações necessárias para ajudar a corrigir esse problema, informe-me como obtê-lo para você.

Eu tentei reinstalar o GRUB com grub-install --target=x86_64-efi --efi-directory=/boot /dev/sda e re-executar grub-mkconfig -o /boot/grub/grub.cfg . Ainda assim, esse problema persiste.

EDIT: Agora, isso é apenas desconcertante ... Acabei de converter meu MBR em / dev / sda para GPT usando gdisk e agora gdisk -l /dev/sda retorna:

GPT fdisk (gdisk) version 1.0.1

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 1953525168 sectors, 931.5 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 8AD72DC5-C104-4524-8C18-52759DC6C784
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1953525134
Partitions will be aligned on 2048-sector boundaries
Total free space is 2957 sectors (1.4 MiB)

Number  Start (sector)    End (sector)  Size       Code  Name
   1            2048          264191   128.0 MiB   EF00  EFI System
   2          264192      1953524191   931.4 GiB   8300  Linux filesystem

Eu re-instalei o GRUB (que foi necessário após a mudança do GPT, caso contrário eu não pude inicializar o disco rígido) com grub-install --target=x86_64-efi --efi-directory=/boot /dev/sda , então re-gerenciei meu arquivo de configuração do GRUB e reiniciei o Arch Linux e mais uma vez, falhou com o mesmo erro. Googling sugeriu-me que as diferentes tabelas de partição eram provavelmente o problema, mas parece que alterar as tabelas de partição não funciona. Meu novo arquivo GRUB cfg é aqui .

EDIT2: Eu já deletei / dev / sdb1 e substituí-lo por uma partição ESP, depois instalei o GRUB na minha partição grub-install --target=x86_64-efi --efi-directory=/boot /dev/sdb && grub-mkconfig -o /boot/grub/grub.cfg do Arch Linux. Ainda não consigo inicializar o Arch Linux. Eu pressionei o Esc e verifiquei as opções de inicialização e, enquanto um USB meu ao vivo mostra o menu de inicialização, assim como minha instalação do Gentoo, minha instalação do Arch Linux não é mostrada. Eu também atualizei a instalação do GRUB do Gentoo e sua configuração e ainda não consigo inicializar o Arch usando o Gentoo (com exatamente os mesmos erros de antes).

    
por Brenton Horne 22.06.2017 / 20:56

1 resposta

0

No seu sistema Gentoo você deve ter o arquivo /etc/grub.d/40_custom . Você pode adicionar uma entrada de menu a este arquivo para fazer referência ao grub.cfg do Arch. Algo parecido com isto:

menuentry 'Arch Linux' {
   set root='hdX,msdosX' 
   configfile /boot/grub/grub.cfg
}

A entrada root precisará apontar para a partição que contém o /boot do Arch. Então, execute grub-mkconfig -o /boot/grub/grub.cfg para regenerar o grub.cfg do Gentoo.

    
por 23.06.2017 / 21:37