O que fazer quando recebo um erro de “tentativa de ler ou gravar fora do disco 'hd0'” e o Reparo de Inicialização não resolver o problema?

35

Tentei instalar o Xubuntu 13.10 em um computador mais antigo. Percebi algumas dificuldades durante a instalação que podem ser relevantes para meus problemas. Notavelmente:

  1. A resolução da tela era extremamente baixa. As janelas eram muito maiores que a tela e eu tive que movê-las para chegar ao botão "Avançar".

  2. O cursor do mouse era um borrão de cores que piscava o tempo todo.

A instalação terminou e tentei reiniciar o computador. Imediatamente eu recebi:

error: attempt to read or write outside of disk 'hd0'. 
Entering rescue mode... 
grub rescue>

Criei um disco USB de reparo de inicialização, inicializei e escolhi o reparo padrão. O aplicativo me disse que o problema foi reparado e que, se isso não resolver o meu problema, eu deveria mostrar esse link para alguém que possa me ajudar.

O que eu devo fazer a seguir? Eu já tentei instalar o Ubuntu e o Xubuntu, ambos sem sucesso.

EDITAR:

Encontrei uma solução alternativa.

  1. Inserir o USB ao vivo do Xubuntu
  2. Selecione "experimente o Xubuntu"
  3. No menu de configurações, selecione "instalar o Xubuntu"

Isso corrigiu o problema para mim. Como está resolvido, não posso testar a resposta.

Martin Drozdik
fonte
(quase) duplicado de askubuntu.com/questions/229715/…
Reinier Post

Respostas:

36

Localize a partição na qual o linux está presente com a ajuda da seguinte técnica

grub rescue > ls
(hd0) (hd0, msdos9)
grub rescue > ls (hd0,msdos9)/
grub rescue > ls (hd0,msdos8)/
grub rescue > ls (hd0,msdos5)/ # suppose this is root and bootloader of linux
grub rescue > ls (hd0,msdos5)/
grub rescue > set root=(hd0,msdos5)
grub rescue > set prefix=(hd0,msdos5)/boot/grub
grub rescue > insmod normal
grub rescue > normal

Agora, o menu de inicialização do sistema é exibido. Inicialize no linux.

sudo update-grub
sudo grub-install  /dev/sda # If the drive is hd0 the equivalent is sda, if it's hd1 then use sdb

Isso corrige o carregador de inicialização.

user223882
fonte
17
Não vejo o que isso deve fazer. Você especifica muitos comandos, nenhum dos quais faz sentido para mim. Por favor, adicione um pouco mais de texto explicativo! Por que você "conta" de msdos9 a 5? Como você vê que "isto é linux"? No meu caso, mostra (hd0, msdos1)! Não consigo "fazer a contagem regressiva" - e depois de definir o root e o prefixo e fazer "insmod normal", recebo exatamente a mesma mensagem de erro de antes. Desculpe. Esta não é uma resposta com a qual alguém possa trabalhar. :(
Zordid
13
Assim que digito insmod normal, recebo a mensagem novamente: "erro: tente ler ou gravar fora da partição".
user643722
2
você diz "suponha que este seja o Linux" sem dizer como posso saber qual é o Linux. Sempre que digito insmod normal, recebo "erro: sistema de arquivos desconhecido", isso não está funcionando para mim. Além disso, você pode explicar por que isso acontece em primeiro lugar?
msknapp
1
O melhor que recebi é outro prompt do grub. O menu nunca aparece.
Jbo5112
2
Concordo com o @Zordid - apenas uma lista de comandos enigmáticos sem uma explicação do que esses comandos fazem não é apenas insuficiente, como também pode ser potencialmente perigoso.
Johm #
27

Para qualquer outra pessoa que tenha esse problema:

Isso estava acontecendo comigo onde uma nova instalação ou reparo do grub funcionaria e reinicializaria, mas na próxima vez que eu reiniciei, haveria a mesma "tentativa de ler erro". Na maioria das vezes, eu entrava em pânico no kernel e o computador precisava de uma reinicialização completa.

Segui alguns conselhos e fiz uma nova instalação usando as opções avançadas (não use o "apagar disco e instalar o ubuntu") usando estas configurações de partição:

  1. Crie uma partição ext4 de 1 GB (1024 MB) no início do disco; montado em "/ boot"
  2. Crie o espaço de instalação desejado no ext4 montado em "/" menos sua área de troca
  3. Use o espaço restante para troca. (TODAS as partições serão primárias)
  4. No menu suspenso de instalação da inicialização, selecione sua partição "/ boot". Não é a raiz da unidade padrão!
Andrew
fonte
Isso funcionou para mim quando os comandos na resposta aceita estavam recebendo "O sistema de arquivos não é reconhecido". Acabei usando o mesmo conjunto de sistemas de arquivos, mas essa pequena partição dedicada / inicialização foi o que corrigiu meu problema. Obrigado.
precisa saber é o seguinte
Parece que isso também funciona se / boot for a única partição primária.
Aaron Mason
Ingressou neste site apenas para dizer que isso também funcionou para mim. A pequena partição de inicialização era o que eu precisava para que isso funcionasse ao colocar o Ubuntu em um disco rígido externo. Obrigado!
rayryeng - Restabelece Monica 27/07
Ele me ajudou: Eu tinha uma grande (> 5 TB) / partição, acrescentando pequena partição / boot corrigiu o problema
neutrinus
Pode-se fazer isso sem excluir a partição existente? Eu tenho uma partição grande com todos os meus dados começando no início do disco.
pir
6

Ele pode ser facilmente resolvido através do prompt de resgate do Grub. A primeira resposta não está completa e, no começo, recebi o mesmo erro. Aqui está como funciona:

Primeiro, precisamos encontrar a partição primária. É nesse local que os arquivos essenciais necessários para a inicialização do Linux residem, então entramos nisso -

Grub> ls

Agora você deve ver uma lista comparável a (hd0) (hd0, msdos5) (hd0, msdos1). Observe que você pode ter partições diferentes que eu, além de várias unidades, mas o processo é o mesmo.

Agora pesquise as partições para encontrar o principal -

Grub> ls (hd0)
Grub> ls (hd0,msdos5)
Grub> ls (hd0,msdos1)

Até o grub exibir uma lista de arquivos nessa partição ou mostrar o tipo de sistema de arquivos e a data da última modificação.

Segundo, precisamos configurar algumas coisas depois de encontrar nossa partição principal -

Grub> set prefix=(hd0,msdos1)/boot/grub
Grub> set root=(hd0,msdos1)
Grub> set

Uma vez executado o último comando set, o Grub exibirá uma lista de diferentes parâmetros. Agora vamos verificar se definimos a raiz e o prefixo corretos -

Grub> ls /boot

O Grub deve gerar uma lista de arquivos contidos em / boot.

Terceiro, precisamos definir o ponto de montagem e carregar o kernel -

Grub> linux /vmlinuz root=/dev/sda1
Grub> initrd /initrd.img

E, finalmente, inicializamos o sistema -

Grub> boot

Se você acabar inicializando no shell do busybox, basta digitar fsck /dev/sda1. Depois disso, basta entrar exite seu sistema inicializará normalmente.

Zach Parker
fonte
Salvou minha vida, obrigado!
Timmah
3

Resolvi esse problema movendo minha partição Linux para perto do início do disco rígido. Quando a partição linux estava no final do meu disco rígido de 120 Gb (40 Gb no final), eu tive esse problema. Nenhuma solução não funcionou. Depois de mover a partição linux para o espaço de 40Gb para 80Gb, o problema desapareceu.

John
fonte
1
Como alguém move a partição Linux para o início do disco?
pir
1

Depois de pesquisar muitas horas, tentei esta solução e ela funciona bem, para reinstalar o kernel:

sudo dpkg --configure -a
sudo apt-get install --reinstall linux-image-$(uname -r)
Zeyad Assem
fonte
0

Estou conseguindo esse problema quando usei o disco vmdk do pacote da máquina virtual OVA no virt-manager / QEMU / KVM. A máquina virtual estava falhando com esta mensagem de erro.

A solução foi converter vmdk em qcow2:

qemu-img convert -O qcow2 MyAppliance-disk1.vmdk MyAppliance.qcow2

E usar a imagem convertida no virt-manager.

Honza
fonte
0

Eu tive esse problema ao tentar instalar o Ubuntu 18 Server e o Xubuntu 18 em um servidor Dell. A seleção de UEFI em vez de Legado no menu do BIOS o corrigiu.

arzach84
fonte