Que faire lorsque je reçois une erreur «tentative de lecture ou d'écriture en dehors du disque 'hd0'» et que la réparation du démarrage ne résout pas le problème?

35

J'ai essayé d'installer Xubuntu 13.10 sur un ordinateur plus ancien. Lors de l'installation, j'ai constaté des difficultés pouvant être liées à mes problèmes. Notamment:

  1. La résolution de l'écran était extrêmement basse. Les fenêtres étaient beaucoup plus grandes que l'écran et j'ai dû les déplacer pour accéder au bouton "Suivant".

  2. Le curseur de la souris était un flou de couleurs qui clignotait tout le temps.

L'installation est terminée et j'ai essayé de redémarrer l'ordinateur. Immédiatement j'ai eu:

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

J'ai créé un disque USB Boot Repair, je l'ai démarré et j'ai choisi la réparation par défaut. L'application m'a dit que le problème est réparé et que si cela ne résout pas mon problème, je devrais montrer ce lien à quelqu'un qui peut m'aider.

Que devrais-je faire ensuite? J'ai déjà essayé d'installer Ubuntu et Xubuntu, tous deux sans succès.

MODIFIER:

J'ai trouvé une solution de contournement.

  1. Insérez le Xubuntu Live USB
  2. Sélectionnez "essayer Xubuntu"
  3. Dans le menu des paramètres sélectionnez "installer Xubuntu"

Cela a résolu le problème pour moi. Puisqu'il est résolu, je ne peux pas tester la réponse.

Martin Drozdik
la source
(presque) duplicata de askubuntu.com/questions/229715/…
Reinier Post

Réponses:

36

Localisez la partition dans laquelle Linux est présent à l'aide de la technique suivante.

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

Maintenant, le menu de démarrage du système apparaît. Démarrez sous 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

Cela corrige le chargeur de démarrage.

utilisateur223882
la source
17
Je ne vois pas ce que cela devrait faire. Vous spécifiez un tas de commandes, dont aucune n'a de sens pour moi. S'il vous plaît ajouter un peu plus d'explication de texte Pourquoi compte-t-on à rebours de msdos9 à 5? Comment voyez-vous que "c'est linux" ?? Dans mon cas, il montre (hd0, msdos1)! Je ne peux pas "décompter" - et une fois que j'ai défini la racine et le préfixe et que je fais "insmod normal", je reçois exactement le même message d'erreur qu'auparavant. Désolé. Ce n’est pas une réponse avec laquelle on pourrait travailler. :(
Zordid
13
Dès que je tape, insmod normalje reçois à nouveau le message: "erreur: tentative de lecture ou d'écriture en dehors de la partition".
user643722
2
vous dites "supposons que ce soit Linux" sans dire comment je peux dire lequel est Linux. Chaque fois que je tape insmod normal, je reçois une "erreur: système de fichiers inconnu", cela ne fonctionne pas pour moi. Aussi, pouvez-vous expliquer pourquoi cela se produit en premier lieu?
msknapp
1
Le meilleur que j'ai obtenu est une autre invite de bouffe. Le menu ne s'affiche jamais.
jbo5112
2
Je suis d'accord avec @Zordid - une simple liste de commandes cryptées sans explication de ce qu'elles font n'est pas non plus suffisante, elle pourrait être potentiellement dangereuse.
Johsm
27

Pour quiconque ayant ce problème:

Cela m'arrivait là où une nouvelle installation ou une nouvelle réparation fonctionnerait et redémarrerait, mais la prochaine fois que je redémarrerais, la même "erreur de lecture" se produirait. La plupart du temps, le noyau s'affolait et l'ordinateur nécessitait un redémarrage brutal.

J'ai suivi certains conseils et fait une nouvelle installation en utilisant les options avancées (n'utilisez pas "effacer le disque et installer ubuntu") en utilisant ces paramètres de partition:

  1. Créez une partition ext4 de 1 Go (1024 Mo) au début du disque; monté dans "/ boot"
  2. Créez votre espace d'installation souhaité dans ext4 monté dans "/" MOINS de votre zone d'échange
  3. Utilisez l’espace restant pour l’échange. (TOUTES les partitions seront primaires)
  4. Dans le menu déroulant de l'installation de démarrage, sélectionnez votre partition "/ boot". Pas la racine du lecteur par défaut!
Andrew
la source
Cela a fonctionné pour moi lorsque les commandes de la réponse acceptée obtenaient le message "Le système de fichiers n'est pas reconnu". J'ai fini par utiliser le même ensemble de systèmes de fichiers, mais c'est cette petite partition dédiée / boot qui a résolu mon problème. Merci.
GregHNZ
Il semble que cela fonctionne aussi si / boot est la seule partition principale.
Aaron Mason
J'ai rejoint ce site juste pour dire que cela fonctionnait aussi pour moi. La petite partition de démarrage était ce dont j'avais besoin pour que cela fonctionne lorsque je plaçais Ubuntu sur un disque dur externe. Merci!
rayryeng
Cela m'a aidé: j'ai eu une grosse partition / partition (plus de 5 To), et l'ajout d'une petite partition / boot a
permis de résoudre
Peut-on faire cela sans supprimer la partition existante? J'ai une grande partition avec toutes mes données commençant au début du disque.
Pir
6

Il peut être facilement résolu via l'invite de secours Grub. La première réponse n'est pas tout à fait complète et j'ai eu la même erreur au début. Voici comment cela fonctionne:

Tout d'abord, nous devons trouver la partition principale. Ce sera là que se trouveront les fichiers essentiels nécessaires au démarrage de Linux. Nous entrons donc ici -

Grub> ls

Vous devriez maintenant voir une liste comparable à (hd0) (hd0, msdos5) (hd0, msdos1). Notez que vous pouvez avoir différentes partitions que moi, ainsi que plusieurs lecteurs, mais le processus est le même.

Maintenant, recherchez les partitions pour trouver le principal -

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

Jusqu'à ce que grub génère une liste de fichiers sur cette partition ou indique le type de système de fichiers et la date de la dernière modification.

2ème nous avons besoin de mettre en place quelques choses une fois que nous avons trouvé notre partition principale -

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

Une fois la dernière commande définie exécutée, Grub affichera une liste de paramètres différents. Vérifions maintenant que nous avons défini la racine et le préfixe corrects -

Grub> ls /boot

Grub devrait sortir une liste de fichiers contenus dans / boot.

3ème nous devons définir le point de montage et charger le noyau -

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

Et enfin, nous démarrons le système -

Grub> boot

Si vous finissez par démarrer dans le shell busybox, entrez simplement fsck /dev/sda1. Ensuite, entrez exitet votre système démarrera normalement.

Zach Parker
la source
Sauvé ma vie, merci!
Timmah le
3

J'ai résolu ce problème en rapprochant ma partition Linux du début du disque dur. Lorsque la partition Linux était à la fin de mon disque dur de 120 Go (40 Go à partir de la fin), j'ai eu ce problème. Aucune solution n'a fonctionné. Après avoir déplacé la partition Linux vers l'espace de 40 Go à 80 Go, le problème a disparu.

John
la source
1
Comment déplace-t-on la partition Linux au début du disque?
Pir
1

Après avoir recherché de nombreuses heures, j'ai essayé cette solution et elle fonctionne bien pour réinstaller le noyau:

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

Je parviens à résoudre ce problème lorsque j'ai utilisé le disque vmdk du package de machine virtuelle OVA dans virt-manager / QEMU / KVM. La machine virtuelle échouait avec ce message d'erreur.

La solution était de convertir vmdk en qcow2:

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

Et utiliser à la place l'image convertie dans virt-manager.

Honza
la source
0

J'ai eu ce problème en essayant d'installer Ubuntu 18 Server et Xubuntu 18 sur un serveur Dell. La sélection de UEFI au lieu de Legacy dans le menu BIOS a corrigé le problème.

arzach84
la source