Eu tenho tentado instalar o Arch Linux. Após a instalação, ele mostra a tela do BIOS e, em seguida, surge a mensagem "Nenhum dispositivo inicializável encontrado".
Já tentei o cenário inteiro algumas vezes, mas ele ainda mostra a mesma mensagem ...
Na instalação, segui o Guia não oficial para iniciantes no wiki do ArchLinux.
Aqui está o que eu fiz:
Antes de tudo, limpei o disco rígido (no qual antes da limpeza o Windows Vista estava instalado) e coloquei o GPT usando o gdisk. Depois, configurei algumas partições, que agora parecem as seguintes (saída de 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
Então montei a partição raiz (sda2) em / mnt, depois disso também a partição de inicialização e inicial (sda3 e sda5) em / mnt / boot e / mnt / home e, no final, formatei e ativei a partição de troca (sda4) .
Agora comecei a instalar o sistema básico. Depois de selecionar os espelhos, instalei base e base-devel.
No final da instalação, gerei um fstab.
Finalmente enfiei o chroot no / mnt, configurei alguns Locales, configurei uma senha root e depois 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 ... Apenas mostrou a mensagem de que ele não encontrou nenhum dispositivo inicializável.
A propósito, tentei instalá-lo neste computador.
dd if=/dev/sda bs=1 skip=510 count=2 2>&- | hexdump
(ou xxd em vez de hexdump) é igual a 55aa? Caso contrário, o MBR está ruim.0000000 aa55 0000002
Se o MBR estiver ruim, como você diz, há algo que eu possa fazer para torná-lo bom novamente?aa55
é a assinatura MBR correta (55aa
no sistema little endian).Respostas:
Eu tive o mesmo problema e, pesquisando, descobri que o uuid da raiz / partição está errado no grub.cfg, você pode tentar o seguinte:
mount /dev/sdxx /mnt
(sdxx é sua partição raiz)arch-chroot /mnt
grub-mkconfig -o /boot/grub/grub.cfg
grub-install
terminar.
fonte
grub-install
ocorreu um erro : dizia que não haveria partição de inicialização do Bios ativada/dev/sda
, enquanto na verdade existe uma.ESTÁ BEM. Tornou-se um pouco longo para comentar. Isso não está diretamente relacionado, mas apenas para explicar o
aa55
comentário.Quando o sistema básico de entrada / saída (BIOS) é iniciado, ele faz um POST ( Power-On Self Test ), verifica o hardware etc. Em seguida, procura dispositivos que sejam inicializáveis e ativos por ordem dada pelo CMOS por sua vez, é fornecido por um semicondutor complementar de óxido metálico ). Quando encontra um disco
0xaa55
com deslocamento 510, ele carrega essa seção do disco (setor 1) na memória e deixa o controle para ele no endereço 0x00000 desse 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, além de solicitar várias informações à BIOS. Nesse processo, ele localiza qual disco possui o restante do GRUB e carrega essa seção do disco na memória - então essa parte do código obtém o controle. Esse monta o kernel etc. e deixa o controle para isso.
Usando a GPT, a imagem que o GRUB carrega no MBR está localizada na
bios_grub
partição - que você possui e é grande o suficiente etc., portanto, não pode ver como isso pode estar errado.Em "Nenhum dispositivo inicializável encontrado". mensagem do BIOS - pode-se considerar que o MBR do disco de inicialização está corrompido; se o MBR termina
0xaa55
eo MBR está corrompido, geralmente ocorre um outro erro - ou o sistema simplesmente trava.De qualquer forma. Isso é estranho. Percebo que você não possui uma partição marcada como "boot" . Usando o GPT correto, - mas, embora seja proibido, você pode tentar sinalizar um, por exemplo,
sda5
como inicialização.No gparted:(aprendi que (g) parted também altera o GPT que não deseja) fdisk:Pode ser que o BIOS esteja fazendo mais do que deveria e verificando a tabela de partições no MBR.
EDIT - Atualize para comentar:
AFAIK, não importa qual você definir, pois na verdade não é usado. A questão é que, para quem nunca disser "dispositivo inicializável encontrado" , eles deverão estar satisfeitos. Não
sda1
é 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:
Isso significaria 3 partições. Tudo antes do deslocamento 0x400 no HDD i bytes brutos - como não faz parte de nenhuma partição, etc.
Aqui, a partição de inicialização é a Partição 2, que é a partição do sistema com o linux.
Os arquivos do módulo GRUB 1 residem logo após o MBR e antes da primeira partição. Ele pode residir em qualquer lugar, mas geralmente no mesmo disco e no deslocamento 512 do disco MBR.
Também em um sistema GPT - o GPT usa essa seção do disco para si próprio; portanto, é necessário mover esses arquivos GRUB para outro local. É para isso que
bios_grub
serve - armazenarcore.img
para o GRUB 2.O "set boot flag" é apenas um tiro no escuro - e ficaria surpreso se funcionasse. Mas alguém começou em algum lugar.
EDIT2:
E se você fizer isso:
MBR atual de backup:
Crie uma imagem
Code TEST
abaixo, salva no arquivotest.s
por:Copie o
test.img
arquivo para MBR:Boot
Código TEST:
Para restaurar o MBR, faça:
Isso deve simplesmente imprimir "Olá!" para a tela se o MBR foi carregado, pare. Testei executando nos sistemas qemu-system-x86_64, qemu-system-i386, VirtualBox, Intel PC estacionário de 32 e 64 bits.
fonte
sda5
como partição de inicialização. Não ésda1
uma opção melhor para definir como partição de inicialização, pois está aqui apenas para isso?Posso estar errado e não fiz a coisa certa, mas tive o mesmo problema que você no começo. Depois de um tempo, encontrei aqui isso
GRUB has to have a 512MB EFI partition, with a vfat filesystem
. Isso acontece caso você instale seu sistema como EFI:Isso significa que você deve 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 depois formatá-lo para um sistema de arquivos FAT32 (com o comando
mkfs.vfat -F32 /dev/sdX1
durante o processo de instalação). Somente então o grub será reconhecido.Presumo que o Syslinux possa funcionar com sua partição ext2, se você quiser experimentá-lo.
Se você não instalar o Arch como EFI, provavelmente poderá verificar o wiki. Não posso ajudar mais neste caso.
Eu sei que este post é antigo, mas é para o caso de alguém vir aqui e esperar encontrar uma solução.
fonte
512MB (at least)
, era o contrário ...