Após instalar o Arch Linux, apenas mostra o texto “No bootable device found”

8

Estou tentando instalar o Arch Linux. Após a instalação, ele mostra a tela da BIOS e depois vem uma mensagem que diz "Nenhum dispositivo inicializável encontrado".

Eu tenho repetido todo o cenário agora algumas vezes, mas ele mostra a mesma mensagem ...

Na instalação, eu segui o Unofficial Beginner's Guide do wiki do ArchLinux.

Aqui está o que eu fiz:

Primeiro de tudo, eu limpei o disco rígido (no qual antes da limpeza o Windows Vista estava instalado) e coloquei o GPT nele usando o gdisk. Então eu configurei algumas partições, que agora parecem com o seguinte (saída do parted):

Model: ATA ST9160310AS (scsi)
Disk /dev/sda: 160GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system     Name                 Flags
 1      1049kB  2097kB  1049kB                  BIOS boot partition  bios_grub
 2      2097kB  107MB   105MB   ext2            Linux filesystem     
 3      107MB   21.6GB  21.5GB  ext4            Linux filesystem     
 4      21.6GB  30.2GB  8590MB  linux-swap(v1)  Linux swap           
 5      30.2GB  160GB   130GB   ext4            Linux filesystem     

Depois montei a partição root (sda2) para / mnt, depois disso também a boot e a partição home (sda3 e sda5) para / mnt / boot e / mnt / home e no final formatei e ativei a partição swap (sda4).

Agora comecei a instalar o sistema básico. Depois de selecionar os espelhos, eu instalei base e base-devel.

No final da instalação, geramos um fstab.

Então eu finalmente fiz o chroot em / mnt, configurei algumas Locales, configurei uma senha de root e instalei e configurei o Grub2, exatamente como é explicado aqui .

No final, saí do ambiente chroot, desmontei as partições e reiniciei. Você sabe o resto ... Ele apenas mostrou a mensagem de que não encontraria nenhum dispositivo inicializável.

A propósito, eu tentei instalá-lo em este computador.

    
por brgr 01.04.2013 / 17:36

3 respostas

4

Eu tive o mesmo problema e pesquisando, descobri que o uuid de root / partition está errado no grub.cfg. Você pode tentar isto:

  1. Inicialize a partir da mídia ao vivo do archlinux
  2. mount /dev/sdxx /mnt (sdxx é sua partição raiz)
  3. arch-chroot /mnt
  4. grub-mkconfig -o /boot/grub/grub.cfg
  5. grub-install

terminar.

    
por 02.04.2013 / 09:31
2

OK. Tornou-se um pouco longo para comentar. Isso não está diretamente relacionado, mas apenas para explicar o comentário aa55 .

Quando o Sistema Básico de Entrada / Saída (BIOS) é iniciado, ele faz um Power-On Self Teste (POST), verifique o hardware, etc. Em seguida, ele procura por dispositivos que são ambos inicializável e ativo por ordem dada pelo CMOS (Sua configuração no BIOS - que por sua vez é dada por um Complementary Metal Oxide Semiconductor ). Quando ele encontra um disco que tem 0xaa55 no deslocamento 510, ele carrega essa seção do disco, (setor 1), na memória e deixar o controle no endereço 0x00000 daquele código. Esses 512 bytes são o Master Boot Record (MBR).

Esse código, neste caso " GRUB - boot" , verifica vários bytes desses 512 em Além disso, solicite à BIOS várias informações. Neste processo localiza qual disco tem resto do GRUB e carrega essa seção do disco na memória - então essa parte do código obtém controle. Esse monta o kernel etc. e deixa o controle para isso.

Usando a GPT, a imagem carregada pelo GRUB a partir do MBR está localizada no bios_grub partição, - o que você tem, e é grande o suficiente, etc., então não pode ver como isso poderia estar errado.

Em "Nenhum dispositivo inicializável encontrado." mensagem da BIOS - pode-se ter o caso que o MBR do disco de inicialização está corrompido, se o MBR terminar em 0xaa55 e o MBR for um corrompido geralmente recebe outro erro - ou o sistema simplesmente trava.

De qualquer forma. Isso é estranho. Percebo que você não tem nenhuma partição marcada como "boot" . Usando o GPT que está correto, - mas, embora seja proibido, você pode tentar sinalizar um, e. sda5 como inicialização. No gparted: (aprendi que (g) parted também altera o GPT que não quer) fdisk:

# Toggle bootable:
a [DISK NUMBER]
# Check (could be an asterisk marking boot partition):
p
# Save changes:
w

Pode ser que o seu BIOS esteja fazendo mais do que deveria e verificando o tabela de partições no MBR.

EDIT - Atualizar para comentar:

AFAIK não importa qual você definiu, pois não é realmente usado. Ponto de ser, para quem nunca diga nenhum "dispositivo inicializável encontrado" , eles devem esteja satisfeito. O sda1 não é uma partição de inicialização no sentido tradicional, mas espaço para arquivos de inicialização do GRUB.

Em um layout de partição tradicional (não GPT), você normalmente tem algo como:

0x000 [Master Boot Record] <- Partition table say Partition 2 is active
                                                       |
0x200 [ GRUB module 1    ] <- core.img from GRUB       |
                                                       |
0x400 [ Partition 1 Swap ]                             |
      |                  |                             |
      |                  |                             |
      |__________________|                             |
                                                       |
0x... [ Partition 2 ext4 ]                             |
      | * Active         | <- AKA boot ----------------+
      |                  |
      |__________________|

0x... [ Partition 3 ext4 ]
      |                  |
      |                  |
      |__________________|

Isso significaria 3 partições. Tudo antes de compensar 0x400 no HDD i bytes brutos - como não faz parte de nenhuma partição, etc.

A partição boot é Partição 2 , que é a partição do sistema com linux.

Os arquivos do módulo 1 do GRUB residem logo após o MBR e antes da primeira partição. Pode residir em qualquer lugar, mas geralmente no mesmo disco e no offset 512 do MBR disco.

Também em um sistema GPT - o GPT usa essa seção do disco para si mesmo, é preciso mover esses arquivos GRUB para outro local. Isso é o que o bios_grub é para - armazenar core.img para o GRUB 2.

O "set boot flag" é apenas um tiro no escuro - e ficaria surpreso se isso funcionar. Mas tem um começo em algum lugar.

EDIT2:

E se você fizer isso:

  1. Backup da MBR atual:

      dd if=/dev/sda of=/path/mbr-backup bs=512 count=1
    
  2. Crie uma imagem de Code TEST abaixo, salve no arquivo test.s por:

    as -o test.o test.s
    objcopy -O binary test.o test.img
    
  3. Copie o arquivo test.img para o MBR:

    dd if=test.img of=/dev/sda bs=512 count=1
    
  4. Inicializar

TESTE DE CÓDIGO:

    .file "test.s"
    .text
    .code16
.globl start, _start
start:
_start:
    jmp go
    nop
go:
    movb $0x48, %al
    call prnt_chr
    movb $0x65, %al
    call prnt_chr
    movb $0x6c, %al
    call prnt_chr
    movb $0x6c, %al
    call prnt_chr
    movb $0x6f, %al
    call prnt_chr
    movb $0x21, %al
    call prnt_chr
    ret
prnt_chr:
    movb $0x0e, %ah
    int  $0x10
    ret
    . = _start + 0x1fe 
    .word   0xaa55

Para restaurar o MBR, faça o seguinte:

dd if=/path/mbr-backup of=/dev/sda bs=512 count=1

Isso deve simplesmente imprimir "Olá!" para a tela se o MBR foi carregado, então Pare. Testei-o executando em qemu-system-x86_64, qemu-system-i386, VirtualBox, Intel PC 32 e 64 bits.

por 01.04.2013 / 20:58
0

Eu posso estar errado e não fiz a coisa certa, mas eu tive o mesmo problema que você no começo. Depois de um tempo, encontrei aqui que GRUB has to have a 512MB EFI partition, with a vfat filesystem . Isto é, caso você instale seu sistema como EFI:

For EFI, you are looking for a small (512 MiB or less) partition with a vfat file system and the boot flag enabled.

Isso significa que você precisa antecipar esse fato ao criar suas partições. Ao fazer isso (com o cfdisk, por exemplo), você terá que definir seu / dev / sdX1 como EFI e formatá-lo em um sistema de arquivos FAT32 (com o comando mkfs.vfat -F32 /dev/sdX1 durante o processo de instalação). Só então o grub será reconhecido.

Eu assumo que o Syslinux pode trabalhar com sua partição ext2, se você quiser tentar.

Se você não instalar o Arch como EFI, provavelmente poderá verificar no wiki qualquer. Não posso ajudar mais neste caso.

Eu sei que este post é antigo, mas isso é no caso de alguém vir aqui e espera encontrar uma solução.

    
por 19.02.2016 / 11:26