Come risolvere "sudo: impossibile aprire ... file system di sola lettura"?


137

Il titolo potrebbe non essere così descrittivo come vorrei che fosse, ma non potrei trovarne uno migliore.

Il file system del mio server è andato in sola lettura. E non capisco perché lo faccia e come risolverlo.

Posso SSH nel server e quando provo ad avviare apache2 ad esempio ottengo quanto segue:

username@srv1:~$ sudo service apache2 start
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system
 * Starting web server apache2                                                                                                                                                                                                               (30)Read-only file system: apache2: could not open error log file /var/log/apache2/error.log.
Unable to open logs
Action 'start' failed.
The Apache error log may have more information.

Quando provo a riavviare il server ottengo:

username@srv1:~$ sudo shutdown -r now
[sudo] password for username:
sudo: unable to open /var/lib/sudo/username/1: Read-only file system

Una volta riavviato manualmente, si avvia senza alcun avviso o messaggio che dice che qualcosa non va.

Spero che qualcuno possa indicarmi la giusta direzione per risolvere questo problema.


Consiglio a @John di cambiare la risposta all'ultima risposta postata da Bibhas in quanto funziona effettivamente dove le altre risposte non sono affatto utili in realtà.
Joshua Robison,


Tutti, questa domanda è per un server, non per un PC. Se hai questo problema sul tuo PC dual boot, controlla The **quick start** option can be found in **power options** in the control panel of Windows. Sto
riscontrando

Risposte:


66

Il filesystem di solito andrà in sola lettura mentre il sistema è in esecuzione in caso di problemi di coerenza del filesystem. Questo viene specificato fstabcome errors=remount-roe si verificherà quando un accesso a FS non riesce o viene richiesto un rimontaggio di sola lettura di emergenza tramite Alt+ SysRq+ U. Puoi eseguire:

sudo fsck -Af -M

per forzare un controllo di tutti i filesystem. Come afferma una delle altre risposte, anche guardare dmesgè molto utile.

Modifica: non dimenticare -Mla riga di comando.

NOTA: Come menzionato da Bibhas nella sua risposta : Se fsckrimane bloccato dopo il banner della sua versione:

$ sudo fsck -Af -M
fsck from util-linux 2.20.1

potresti provare a usare il fsck specifico di EXT4

$ sudo fsck.ext4 -f /dev/sda1

A condizione che la partizione in questione /dev/sda1fosse un filesystem ext4.


2
Penso che non dovresti forzare un controllo del filesystem su altri filesystem montati su r / w. Ciò potrebbe corrompere i tuoi dati. Aggiungi l' -Mopzione per saltare i filesystem montati. ( -M Do not check mounted filesystems and return an exit code of 0 for mounted filesystems.da FSCK (8))
gertvdijk,

35
Questo non aiuta, ottengo lo stesso errore quando provo a eseguire quel comando. sudo: unable to open /var/lib/sudo/kuplack/1: Read-only file system fsck from util-linux 2.20.1
Mark Kramer,

1
Ma ... -M salterà i file system montati, incluso / dev / sda1 (o qualsiasi altra unità montata includa / var / lib / sudo / ...). @MarkKramer: consiglio vivamente di impostare sempre la password di root durante l'installazione di Linux, con sudo su; passwd. Quindi puoi usare su -c fsck -Af -M.
naught101

1
Sì, per me avevo bisogno di rimuovere -M poiché / dev / sda1 era montato, e per semplificarti la vita, aggiungi -Afy (Y significa risposta sì a tutti i prompt) ... Gioco veloce e sciolto con le VM così Di solito vado bene con questo tipo di soluzione, ma se si tratta di un hardware di cui è stato eseguito il backup, potrebbe adottare un approccio diverso e leggere dmesg.
FreeSoftwareServers dal

2
@DarshanChaudhary Il -Mflag fa sì che fsck salti i filesystem montati. Vedi la fsck (8)manpage.
ζ--

45

Ecco il comando che ha risolto il mio problema:

mount -o remount /

meglio di un riavvio o sudo fsck -Af


21
Non meglio se il sistema operativo ha reso il disco di sola lettura per prevenire possibili danni.
Drew Noakes,

5
Non solo: solo root sarà in grado di rimontare il filesystem e sudonon funzionerà se il filesystem è di sola lettura.
Nathan Osman,

11
Non aiuta, ricevo solo lo stesso messaggio:sudo: unable to open /var/lib/sudo/kuplack/1: Read-only file system mount: cannot remount block device /dev/sda2 read-write, is write-protected
Mark Kramer l'

3
o sì, questo ha funzionato.
RT

2
mount: cannot remount /dev/sda8 read-write, is write-protected
Rishabh Agrahari,

42

La risposta per esafrazione non ha funzionato per me. Ogni volta che ho provato a eseguirlo, sudo fsck -Af -Mha mostrato

$ sudo fsck -Af -M
fsck from util-linux 2.20.1

e nient'altro. Nessun errore o altro. Per me, l'avvio su un disco live e l'esecuzione di questo ha funzionato -

sudo fsck.ext4 -f /dev/sda1

A condizione che la partizione in questione /dev/sda1fosse un filesystem ext4.


4
Grazie per questa risposta Questa è l'unica cosa che ha funzionato
Joshua Robison,

5
-M significa non eseguire filesystem montati. Il tuo filesystem / dev / sda1 è stato montato (suppongo che /). Quindi è stato saltato.
dalore,

3
sudo fsck.ext4 -f /dev/sda1lavori. È necessario ancora un riavvio.
efkan,

1
Ha funzionato per me su Ubuntu 16.04.3 Grazie
Rosário Pereira Fernandes,

13

Prova a correre dmesg | grep "EXT4-fs error"per vedere se hai problemi relativi al filesystem / sistema journaling stesso. Ti consiglierei di riavviare il tuo sistema, quindi. Inoltre, la sudo fsck -Afrisposta di ObsessiveSSOℲ non farà male.


10

Se vuoi forzare il tuo filesystem di root a rimontarlo come rw, puoi fare quanto segue.

mount -o remount,rw /

questo è stato risolto il mio problema, uso hetzner cloud con ssd da
160 GB

9

Nota che a volte ciò può essere causato dal fatto che il computer dimentica l'ora del sistema - il controllo del disco fallisce perché le date nel diario sono in THE FUTURE!

L'impostazione dell'ora del BIOS (e il controllo della batteria del BIOS) hanno risolto questo problema per me, senza dover eseguire alcun ripristino del disco.


Benvenuto in Ask Ubuntu! Raccomando di modificare questa risposta per espanderla con dettagli specifici su come eseguire questa operazione. (Vedi anche Come posso scrivere una buona risposta? Per consigli generali su quali tipi di risposte sono considerate più preziose su Ask Ubuntu.)
David Foerster,

Sono abbastanza sicuro che mi stia succedendo proprio ora, dato che il mio computer mi ha detto che questa mattina ha dimenticato l'ora.
nomen

2

Di solito linux mette i tuoi filesystem in lettura solo quando si verificano errori, in particolare errori con il disco o il filesystem stesso, ad esempio errori come una voce di giornale errata.

È meglio verificare la presenza dmesgdi errori relativi al disco.

Google è pieno di discussioni su questo e puoi scegliere quelli più vicini alla tua configurazione, ma uno sguardo dmesgè di solito sufficiente.


Cosa si dovrebbe guardare / grepcercare dmesgnell'output?
isomorfismi

Sfortunatamente, se hai scelto di crittografare la tua cartella home, dmesgsarà sicuramente pieno di errori inutili da ecryptfs.
Nathan Osman,

2

Per me, riavviare un sistema per risolvere questo problema

sudo reboot

come ha menzionato al riguardo.


2

(Cancellata risposta precedente)

Modifica: il problema principale era sul lato di Windows. Dopo aver aggiornato Windows 10, l'opzione "avvio rapido" è stata automaticamente abilitata. Disabilitando nuovamente tale opzione e quindi riavviando nuovamente la macchina, il problema è scomparso. Windows 10 mi ha dato forti mal di testa per giorni :(

L'opzione "avvio rapido" è disponibile in "Opzioni risparmio energia" nel pannello di controllo. Disabilitalo !!! :)


Solo uno che ha funzionato. A scapito della velocità di avvio.
Nelson,

2

Se esegui il dual boot del tuo computer con Ubuntu e Windows insieme e questo problema si verifica, è perché Windows cambia il filesystem, in quel caso questo potrebbe fare il trucco. Prova a disabilitare l'avvio rapido

Pannello di controllo> Hardware e suoni> Opzioni risparmio energia> (a sinistra) Scegli cosa fare chiudendo il coperchio> Cambia impostazioni che al momento non sono disponibili> Deseleziona "Attiva avvio rapido"

Ora l'avvio in Ubuntu risolverà il problema. Spero che sia di aiuto!

https://youtu.be/KJ-0KPZhAFo


1

Se ti trovavi in ​​situazioni che non potevano usare il disco live, ad esempio sei in remoto ssh nel tuo sistema, puoi comunque usare il comando a cui @Bibhas aveva risposto:

sudo fsck.ext4 -f /current/filesystem/mount/point

Richiederà la correzione dell'errore del filesystem. È inoltre necessario riavviare il sistema in remoto.


0

Nel mio caso, si trattava di stabilizzare RAID 1 dopo l'installazione iniziale. Ho / boot e / on s / w RAID1. Dopo aver lasciato il sistema durante la notte e riavviato, tutto funziona bene. Richard


0

Controlla se hai hardware difettoso. Ho riscontrato questo errore a causa di un allentamento del disco rigido. Ho eseguito il mount -o remount, rw / e ha funzionato bene.


-1

Si tratta di impostazioni di avvio errate (provare a eseguire /il montaggio come ext2), non di un errore fisico dell'unità o della partizione.

dmesg | grep "error" mi ha dato:

ext3-fs (sda2): error: couldn't mount because of unsupported optional features (240) 
ext2-fs (sda1): error: couldn't mount because of unsupported optional features (240) 
ext4-fs (sda2): mounted file system with ordered data mode: opts: (null)

Montato /come letto solo a causa della error=mount-rodirettiva fstab .


-1

Sto usando la versione 18.04 LTS e quello che ho fatto è stato, prima ho smontato le mie unità danneggiate e poi sono andato nell'app "Dischi" cercando nel trattino. Da lì ho selezionato l'unità che era danneggiata. Assicurati che sia smontato altrimenti non funzionerà. Nel menu opzioni (la forma dell'ingranaggio piccolo), e cliccato su "ripara file system". Boom! Ha funzionato come un fascino.

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.