Cosa fare quando viene visualizzato il messaggio di errore "tentativo di leggere o scrivere al di fuori del disco" hd0 "e Boot Repair non risolve il problema?


35

Ho provato a installare Xubuntu 13.10 su un computer più vecchio. Ho notato alcune difficoltà durante l'installazione che potrebbero essere rilevanti per i miei problemi. In particolare:

  1. La risoluzione dello schermo era estremamente bassa. Le finestre erano molto più grandi dello schermo e ho dovuto spostarle per accedere al pulsante "Avanti".

  2. Il cursore del mouse era una sfocatura di colori che lampeggiava continuamente.

L'installazione è terminata e ho provato a riavviare il computer. Immediatamente ho ottenuto:

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

Ho fatto una riparazione di avvio disco USB, il boot e scelto la riparazione di default. L'applicazione mi ha detto che il problema è stato risolto e che se questo non risolve il mio problema, dovrei mostrare questo link a qualcuno che mi possa aiutare.

Cosa dovrei fare dopo? Ho già provato a installare Ubuntu e Xubuntu, entrambi senza successo.

MODIFICARE:

Ho trovato una soluzione alternativa.

  1. Inserisci l'USB live di Xubuntu
  2. Seleziona "prova Xubuntu"
  3. Nel menu delle impostazioni selezionare "installa Xubuntu"

Ciò ha risolto il problema per me. Dato che è stato risolto, non posso testare la risposta.


Risposte:


36

Individua la partizione in cui è presente Linux con l'aiuto della seguente tecnica

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

Ora viene visualizzato il menu di avvio del sistema. Avvia in 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

Questo risolve il caricatore di avvio.


17
Non vedo cosa dovrebbe fare. Tu specifichi un sacco di comandi, nessuno dei quali ha senso per me. Per favore, aggiungi un po 'più di testo esplicativo! Perché "conto alla rovescia" da msdos9 a 5? Come vedi che "this is linux" ?? Nel mio caso mostra (hd0, msdos1)! Non posso "contare alla rovescia" - e una volta impostato root e prefisso e facendo "insmod normal" ricevo esattamente lo stesso messaggio di errore di prima. Scusate. Questa non è una risposta con cui chiunque potrebbe lavorare. :(
Zordid,

13
Non appena digito insmod normalricevo nuovamente il messaggio: "errore: tenta di leggere o scrivere al di fuori della partizione".
user643722

2
dici "supponi che questo sia Linux" senza dire come posso dire quale Linux sia. Ogni volta che scrivo insmod normale, torno "errore: filesystem sconosciuto", questo non funziona per me. Inoltre, puoi spiegare perché questo accade in primo luogo?
msknapp,

1
Il migliore che ho ottenuto è un altro prompt di grub. Il menu non si apre mai.
jbo5112,

2
Sono d'accordo con @Zordid - solo un elenco di comandi criptici senza una spiegazione di ciò che fanno questi comandi non solo non è sufficiente, potrebbe essere potenzialmente pericoloso.
Johsm,

27

Per chiunque abbia questo problema:

Questo mi stava succedendo dove una nuova installazione o riparazione di grub avrebbe funzionato e riavviato, ma la prossima volta che ho riavviato, avrebbe ottenuto lo stesso "tentativo di leggere l'errore". La maggior parte delle volte ho avuto il panico del kernel e il computer avrebbe bisogno di un riavvio forzato.

Ho seguito alcuni consigli e ho fatto una nuova installazione usando le opzioni avanzate (non usare il "cancella disco e installa ubuntu") usando queste impostazioni di partizione:

  1. Creare una partizione ext4 da 1 GB (1024 MB) sul all'inizio del disco; montato in "/ boot"
  2. Crea lo spazio di installazione desiderato in ext4 montato in "/" MENO dell'area di scambio
  3. Usa lo spazio rimanente per lo scambio. (TUTTE le partizioni saranno primarie)
  4. Nel menu a discesa dell'installazione di avvio, seleziona la partizione "/ boot". Non la radice dell'unità predefinita!

Questo ha funzionato per me quando i comandi nella risposta accettata stavano ottenendo "Il filesystem non è riconosciuto". Ho finito per usare lo stesso set di file system, ma questa piccola partizione dedicata / boot ha risolto il mio problema. Grazie.
GregHNZ,

Sembra che funzioni anche se / boot è l'unica partizione primaria.
Aaron Mason,

Si è unito a questo sito solo per dire che ha funzionato anche per me. La piccola partizione di avvio era ciò di cui avevo bisogno per farlo funzionare quando posizionavo Ubuntu su un HDD esterno. Grazie!
rayryeng - Ripristina Monica il

Mi ha aiutato: avevo una grande partizione (> 5 TB) /, l'aggiunta di una partizione piccola / di avvio ha risolto il problema
neutrinus

Si può fare questo senza cancellare la partizione esistente? Ho una grande partizione con tutti i miei dati a partire dall'inizio del disco.
pir

6

Può essere facilmente risolto tramite il prompt di salvataggio di Grub. La prima risposta non è del tutto completa e all'inizio ho avuto lo stesso errore. Ecco come funziona:

1 ° dobbiamo trovare la partizione primaria. Questo sarà dove risiederanno i file essenziali necessari per l'avvio di Linux, quindi entriamo in questo -

Grub> ls

Ora dovresti vedere un elenco paragonabile a (hd0) (hd0, msdos5) (hd0, msdos1). Nota che potresti avere partizioni diverse da me, oltre a più unità, ma il processo è lo stesso.

Ora cerca le partizioni per trovare il primario -

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

Fino a quando grub visualizza un elenco di file su quella partizione o mostra il tipo di file system e la data dell'ultima modifica.

2 ° dobbiamo impostare alcune cose una volta trovata la nostra partizione primaria -

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

Una volta eseguito l'ultimo comando impostato, Grub mostrerà un elenco di parametri diversi. Ora controlliamo che abbiamo impostato la radice e il prefisso corretti -

Grub> ls /boot

Grub dovrebbe generare un elenco di file contenuti in / boot.

3 ° dobbiamo impostare il mount point e caricare il kernel -

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

E infine avviamo il sistema -

Grub> boot

Se si finisce con l'avvio nella shell busybox, è sufficiente accedere fsck /dev/sda1. Dopodiché basta entrare exite il sistema si avvierà normalmente.


Mi hai salvato la vita, grazie!
Timmah

3

Ho risolto questo problema spostando la mia partizione Linux vicino all'inizio del disco rigido. Quando la partizione Linux era alla fine del mio HDD da 120 Gb (40 Gb dalla fine) ho avuto questo problema. Nessuna soluzione non ha funzionato. Dopo aver spostato la partizione Linux nello spazio da 40 Gb a 80 Gb, il problema è scomparso.


1
Come si sposta la partizione Linux all'inizio del disco?
pir

1

Dopo aver cercato molte ore ho provato questa soluzione e funziona bene, per reinstallare il kernel:

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

0

Sto riscontrando questo problema quando ho usato il disco vmdk dal pacchetto della macchina virtuale OVA in virt-manager / QEMU / KVM. La macchina virtuale non funzionava con questo messaggio di errore.

La soluzione era convertire vmdk in qcow2:

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

E invece usare l'immagine convertita in virt-manager.


0

Ho avuto questo problema durante il tentativo di installare Ubuntu 18 Server e Xubuntu 18 su un server Dell. Selezionando UEFI anziché Legacy nel menu BIOS, è stato risolto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.