如何修复“sudo:无法打开…只读文件系统”?
标题可能不像我希望的那样具有描述性,但却无法提出更好的标题。
我的服务器文件系统进入只读状态。 我不明白为什么会这样做以及如何解决它。
我可以SSH到服务器,当我尝试启动apache2时,我得到以下内容:
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.
当我尝试重新启动服务器时,我得到:
username@srv1:~$ sudo shutdown -r now [sudo] password for username: sudo: unable to open /var/lib/sudo/username/1: Read-only file system
一旦我手动重新启动它,它就会启动而没有任何警告或消息说出错了。
我希望有人能指出我正确的方向来解决这个问题。
如果存在文件系统一致性问题,文件系统通常会在系统运行时进入只读状态。 这在fstab
中指定为errors=remount-ro
并且在FS访问失败或通过Alt + SysRq + U请求紧急只读重新安装时发生。 你可以运行:
sudo fsck -Af -M
强制检查所有文件系统。 作为其他答案状态之一,查看dmesg
也非常有帮助。
编辑:不要忘记命令行上的-M
。
这是解决我的问题的命令:
mount -o remount /
比重启或sudo fsck -Af更好
hexafraction的答案对我不起作用。 每当我尝试执行sudo fsck -Af -M
它就会显示出来
$ sudo fsck -Af -M fsck from util-linux 2.20.1
没有别的。 没有错误或任何事情。 对我来说,启动到现场光盘并执行此工作 –
sudo fsck.ext4 -f /dev/sda1
如果有问题的分区/dev/sda1
是ext4文件系统。
尝试运行dmesg | grep "EXT4-fs error"
dmesg | grep "EXT4-fs error"
,看看你是否有任何与文件系统/日志系统本身有关的问题。 我建议你重新启动你的系统。 另外, sudo fsck -Af
由ObsessiveSSOℲ回答不会受到伤害。
如果要强制将根文件系统重新安装为rw,可以执行以下操作。
mount -o remount,rw /
请注意,有时这可能是因为计算机忘记了系统时间 – 磁盘检查失败,因为日志中的日期是在未来!
设置BIOS时间(并检查BIOS电池)为我解决了这个问题,而无需进行任何磁盘恢复。
通常linux会在发生错误时将文件系统置于只读状态,尤其是磁盘或文件系统本身的错误,例如错误的日志条目等错误。
您最好检查dmesg
是否存在与磁盘相关的错误。
Google对此进行了充分的讨论 ,您可以选择更接近您配置的那些,但看看dmesg
通常就足够了。
(删除上一个答案)
编辑:主要问题是在Windows端。 更新我的Windows 10后,“快速启动”选项自动启用。 再次禁用该选项,然后再次重新启动机器时,问题就消失了。 Windows 10让我头疼了几天:(
“快速启动”选项可在控制面板的“电源选项”中找到。 禁用!!! 🙂
如果您使用Ubuntu和Windows双重启动计算机并出现此问题,那是因为Windows更改了文件系统,在这种情况下,这可能会起到作用。 尝试禁用快速启动
控制面板>硬件和声音>电源选项>(在左侧)选择关闭盖子的操作>更改当前不可用的设置>取消“打开快速启动”
现在启动到Ubuntu将解决问题。 希望这可以帮助!
首先在恢复菜单(只读)中选择dpgk修复损坏的数据包,最后恢复菜单将是恢复菜单(读/写)选择root命令窗口用户,您将能够以root用户身份使用它!
在我的情况下,初始安装后,RAID 1稳定下来。 我有/ boot和/ on s / w RAID1。 一夜之间离开系统并重新启动,一切正常。 理查德
它配置错误的引导设置(尝试挂载/
作为ext2
)不驱动或分区物理错误。
dmesg | grep "error"
dmesg | grep "error"
给了我:
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)
它由于fstab error=mount-ro
指令而挂载/
只读。
对我来说,重新启动解决此问题的系统
sudo reboot
正如他提到的那样。
检查您是否有任何有故障的硬件。由于硬盘松动,我收到此错误。 Ran mount -o remount,rw /并且工作正常。
这对我有用
首先,我列出了分区:
sudo fdisk -l
分区
Device Boot Start End Blocks Id System /dev/sda1 2048 999423 498688 82 Linux swap / Solaris /dev/sda2 999424 83886079 41443328 83 Linux
所以我修复了系统的分区:
sudo fsck -f -y /dev/sda2
只有参数f(力)对我有用,参数y在所有问题中都回答是
最后我重新启动了机器:
sudo reboot
我正在使用18.04 LTS版本,我做的是,首先我卸载了我的损坏驱动器然后我通过在仪表板中搜索进入“磁盘”应用程序。 从那里我选择了损坏的驱动器。 确保它已卸载,否则它将无法工作。 在选项菜单(小齿轮形状)中,单击“修复文件系统”。 繁荣! 工作就像一个魅力。
如果您遇到无法使用实时光盘的情况,例如您远程ssh进入系统,您仍然可以使用@Bibhas已经回答的命令:
sudo fsck.ext4 -f /current/filesystem/mount/point
它将提示修复您的文件系统错误。 您还需要远程重启系统。