Cách khắc phục lỗi sudo: không thể mở hệ thống tập tin chỉ đọc đọc được


137

Tiêu đề có thể không được mô tả như tôi muốn nhưng không thể đưa ra một tiêu đề tốt hơn.

Hệ thống tập tin của máy chủ của tôi đã chuyển sang Chỉ đọc. Và tôi không hiểu tại sao nó lại như vậy và làm thế nào để giải quyết nó.

Tôi có thể SSH vào máy chủ và khi cố gắng khởi động apache2 chẳng hạn, tôi nhận được những điều sau:

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.

Khi tôi thử khởi động lại máy chủ, tôi nhận được:

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

Khi tôi khởi động lại thủ công, nó chỉ khởi động mà không có bất kỳ cảnh báo hay thông báo nào nói có gì đó không ổn.

Tôi hy vọng ai đó có thể chỉ cho tôi đi đúng hướng để giải quyết vấn đề này.


Tôi đề nghị @John thay đổi câu trả lời cho câu trả lời được đăng cuối cùng của Bibhas vì nó thực sự hoạt động khi các câu trả lời khác thực sự không hữu ích.
Joshua Robison


Mọi người, câu hỏi này là dành cho máy chủ chứ không phải PC. Nếu bạn gặp vấn đề này trên PC khởi động kép, vui lòng kiểm tra The **quick start** option can be found in **power options** in the control panel of Windows. Tôi đang gặp vấn đề tương tự với Ubuntu trên AWS
vanduc1102

Câu trả lời:


66

Hệ thống tập tin thường sẽ chỉ đọc khi hệ thống đang chạy nếu có vấn đề về tính nhất quán của hệ thống tập tin. Đây là quy định tại fstaberrors=remount-rovà sẽ xảy ra khi một truy cập FS thất bại hoặc trường hợp khẩn cấp remount read-only được yêu cầu qua Alt+ SysRq+ U. Bạn có thể chạy:

sudo fsck -Af -M

để buộc kiểm tra tất cả các hệ thống tập tin. Là một trong những câu trả lời khác, nhìn vào dmesgcũng rất hữu ích.

Chỉnh sửa: Đừng quên -Mdòng lệnh.

LƯU Ý: Như Bibhas đã đề cập trong câu trả lời của mình : Nếu fsckbị kẹt sau biểu ngữ phiên bản của nó:

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

bạn có thể muốn thử sử dụng fsck dành riêng cho EXT4

$ sudo fsck.ext4 -f /dev/sda1

Cung cấp phân vùng trong câu hỏi /dev/sda1là một hệ thống tập tin ext4.


2
Tôi nghĩ bạn không nên ép buộc kiểm tra hệ thống tập tin trên các hệ thống tập tin được gắn r / w khác. Điều đó sẽ có khả năng làm hỏng dữ liệu của bạn. Thêm -Mtùy chọn để bỏ qua các hệ thống tập tin gắn kết. ( -M Do not check mounted filesystems and return an exit code of 0 for mounted filesystems.từ FSCK (8))
gertvdijk

35
Điều này không có ích, tôi chỉ gặp lỗi tương tự khi cố chạy lệnh đó. sudo: unable to open /var/lib/sudo/kuplack/1: Read-only file system fsck from util-linux 2.20.1
Đánh dấu Kramer

1
Nhưng ... -M sẽ bỏ qua các hệ thống tệp được gắn kết, bao gồm / dev / sda1 (hoặc ổ đĩa được gắn bao gồm / var / lib / sudo / ...). @MarkKramer: Tôi khuyên bạn nên luôn luôn đặt mật khẩu gốc khi cài đặt linux sudo su; passwd. Sau đó, bạn có thể sử dụng su -c fsck -Af -M.
ness101

1
Phải đối với tôi, tôi cần xóa -M vì / dev / sda1 đã được gắn kết và để làm cho cuộc sống của bạn dễ dàng hơn, hãy thêm -Afy (Chữ y có nghĩa là trả lời có cho tất cả các lời nhắc) ... Tôi chơi nhanh và lỏng lẻo với VM vì vậy tôi ' m thường ok với loại giải pháp này, nhưng nếu đây là phần cứng chưa được sao lưu, có thể có một cách tiếp cận khác và đọc dmesg.
FreeSoftwareServers

2
@DarshanChaudhary -MCờ khiến fsck bỏ qua các hệ thống tập tin được gắn. Xem fsck (8)trang hướng dẫn.
ζ--

45

Đây là lệnh giải quyết vấn đề của tôi:

mount -o remount /

tốt hơn so với khởi động lại hoặc sudo fsck -Af


21
Không tốt hơn nếu HĐH làm cho đĩa của bạn chỉ đọc để ngăn ngừa tham nhũng có thể xảy ra.
Drew Noakes

5
Không chỉ vậy - chỉ có root mới có thể kết nối lại hệ thống tập tin và sudosẽ không hoạt động nếu hệ thống tập tin ở chế độ chỉ đọc.
Nathan Osman

11
Không giúp được gì, tôi chỉ nhận được một tin nhắn tương tự: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

3
o có cái này làm việc
RT

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

42

Câu trả lời của hexafraction không làm việc cho tôi. Mỗi lần tôi thử thực hiện sudo fsck -Af -Mnó chỉ hiển thị

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

và không có gì khác. Không có lỗi hay bất cứ điều gì. Đối với tôi, khởi động vào đĩa trực tiếp và thực hiện việc này hiệu quả -

sudo fsck.ext4 -f /dev/sda1

Cung cấp phân vùng trong câu hỏi /dev/sda1là một hệ thống tập tin ext4.


4
Cảm ơn bạn cho câu trả lời này. Đây là điều duy nhất đã thực sự hoạt động
Joshua Robison

5
-M có nghĩa là không làm hệ thống tập tin gắn kết. Hệ thống tập tin / dev / sda1 của bạn đã được gắn kết (Tôi đoán là /). Vì vậy, nó đã bị bỏ qua.
dinois

3
sudo fsck.ext4 -f /dev/sda1làm. Vẫn là một nhu cầu khởi động lại.
efkan

1
Nó hoạt động với tôi trên Ubuntu 16.04.3 Cảm ơn bạn
Rosário Pereira Fernandes

13

Hãy thử chạy dmesg | grep "EXT4-fs error"để xem nếu bạn có bất kỳ vấn đề nào liên quan đến chính hệ thống tập tin / hệ thống nhật ký. Tôi sẽ khuyên bạn nên khởi động lại hệ thống của bạn, sau đó. Ngoài ra, sudo fsck -Afcâu trả lời của ObsessiveSSOℲ sẽ không bị tổn thương.


10

Nếu bạn muốn buộc hệ thống tập tin gốc của bạn phải trả lời là rw, bạn có thể làm như sau.

mount -o remount,rw /

điều này đã được giải quyết vấn đề của tôi, tôi sử dụng đám mây hetzner với ssd 160gb, chưa bao giờ gặp lỗi như vậy trước đây
Fathur Rohim

9

Lưu ý rằng đôi khi điều này có thể do máy tính quên thời gian hệ thống - kiểm tra đĩa không thành công vì ngày trong nhật ký nằm trong TƯƠNG LAI!

Đặt thời gian BIOS (và kiểm tra pin BIOS) đã khắc phục sự cố này cho tôi mà không phải thực hiện bất kỳ khôi phục đĩa nào.


Chào mừng bạn đến hỏi Ubuntu! Tôi khuyên bạn nên chỉnh sửa câu trả lời này để mở rộng nó với các chi tiết cụ thể về cách thực hiện việc này. (Xem thêm Làm thế nào để tôi viết một câu trả lời hay? Để có lời khuyên chung về loại câu trả lời nào được coi là có giá trị nhất trên Hỏi Ubuntu.)
David Foerster

Tôi khá chắc chắn điều này đang xảy ra với tôi ngay bây giờ, vì máy tính của tôi nói với tôi rằng nó đã quên thời gian sáng nay.
Tên của

2

Thông thường linux đặt hệ thống tập tin của bạn chỉ đọc khi xảy ra lỗi, đặc biệt là lỗi với đĩa hoặc chính hệ thống tập tin, chẳng hạn như lỗi nhập nhật ký sai.

Bạn tốt hơn kiểm tra dmesgcác lỗi liên quan đến đĩa của bạn .

Google có rất nhiều cuộc thảo luận về vấn đề này và bạn có thể chọn những cái gần với cấu hình của bạn hơn, nhưng nhìn vào dmesgthường là đủ.


Những gì nên xem / grepcho dmesgđầu ra?
đẳng cấu

Thật không may nếu bạn đã chọn mã hóa thư mục nhà của mình, dmesgchắc chắn có đầy lỗi vô dụng từ đó ecryptfs.
Nathan Osman

2

Đối với tôi, Khởi động lại hệ thống giải quyết vấn đề này

sudo reboot

như ông đã đề cập về nó.


2

(Đã xóa câu trả lời trước)

Chỉnh sửa: Vấn đề chính là ở phía cửa sổ. Sau khi cập nhật Windows 10, tùy chọn 'bắt đầu nhanh' sẽ tự động được bật. Khi vô hiệu hóa tùy chọn đó một lần nữa, và sau đó khởi động lại máy một lần nữa, vấn đề đã biến mất. Windows 10 khiến tôi đau đầu dữ dội trong nhiều ngày :(

Tùy chọn 'bắt đầu nhanh' có thể được tìm thấy trong 'tùy chọn nguồn' trong bảng điều khiển. Vô hiệu hóa điều đó !!! :)


Chỉ có một mà làm việc. Với chi phí tốc độ khởi động.
NelsonGon

2

Nếu bạn khởi động kép máy của bạn với Ubuntu và Windows cùng nhau và sự cố này xảy ra, đó là do Windows thay đổi hệ thống tệp, trong trường hợp đó, điều này có thể thực hiện thủ thuật. Hãy thử vô hiệu hóa khởi động nhanh

Bảng điều khiển> Phần cứng và âm thanh> Tùy chọn nguồn> (ở bên trái) Chọn cách đóng nắp nào> Thay đổi cài đặt hiện không khả dụng> Bỏ chọn 'Bật khởi động nhanh'

Bây giờ khởi động vào Ubuntu sẽ giải quyết vấn đề. Hi vọng điêu nay co ich!

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


1

Nếu bạn ở trong tình huống không thể sử dụng đĩa trực tiếp, ví dụ: bạn đang ssh từ xa vào hệ thống của mình, bạn vẫn có thể sử dụng lệnh mà @Bibhas đã trả lời:

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

Nó sẽ nhắc sửa lỗi hệ thống tập tin của bạn. Bạn cũng cần khởi động lại hệ thống của bạn từ xa.


0

Trong trường hợp của tôi, nó đã xuống RAID 1 ổn định sau khi cài đặt ban đầu. Tôi có / boot và / trên s / w RAID1. Sau khi rời khỏi hệ thống qua đêm và khởi động lại, mọi thứ đều hoạt động tốt. Richard


0

Kiểm tra xem bạn có bất kỳ phần cứng bị lỗi nào không. Tôi gặp lỗi này do việc nới lỏng ổ cứng. Ran mount -o remount, rw / và nó hoạt động tốt.


-1

Đó là cài đặt khởi động được định cấu hình sai (thử gắn /dưới dạng ext2) không phải lỗi ổ đĩa hoặc phân vùng.

dmesg | grep "error" đưa cho tôi:

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)

Nó được gắn /dưới dạng chỉ đọc do error=mount-rochỉ thị fstab .


-1

Tôi đang sử dụng bản phát hành LTS 18.04 và những gì tôi đã làm là, đầu tiên tôi đã ngắt kết nối các ổ đĩa bị hỏng của mình sau đó tôi đã truy cập vào ứng dụng của Disksks bằng cách tìm kiếm trong dấu gạch ngang. Từ đó tôi chọn ổ đĩa bị hỏng. Hãy chắc chắn rằng nó không thể đếm được nếu không nó sẽ hoạt động. Trong menu tùy chọn (hình dạng bánh răng nhỏ) và nhấp vào hệ thống tập tin sửa chữa của hệ thống. Bùng nổ! Làm việc như người ở.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.