linux 文件系统变为了只读,这个问题怎么解决

linux 文件系统变为了只读,这个问题怎么解决,第1张

可以先进入挽救模式备份数据后重做系统

具体是什么原因有很多。

最有可能是卸载了安装包,同时把关联的依赖包都卸载了。

这样导致系统文件的缺失。

另外硬盘损坏也会导致这个问题。

静态保留的又分为两种,事先知道虚拟地址的和事先不知道虚拟地址的

前者可以在paging_init阶段就建立为只读的,具体参考android的kernel,搜索CONFIG_DEBUG_RODATA

对于事先不知道虚拟地址的,一般都是通过mmap来使用

那么在mmap时,参数prot不要设置PROT_WRITE就能够设置为只读的(只设置PROT_READ)

这种情况通常都是由于系统发现磁盘硬件故障或文件系统中文件被损坏之后而采取的保护机制导致的。为了保护数据不破坏分区中已有内容,Linux在挂载文件系统时就只用read-only只读方式加载了。至于挂载的文件系统为什么会莫名地变成以只读方式挂载的具体原因,这就不知道了。可能的原因有:

1 2 3系统文件损坏; 磁盘有坏道; fstab文件配置错误,如分区格式错误错误(将ntfs写成了fat)、配置指令拼写错误等。

如果能够确认数据和系统的文件没有被损坏,修复fstab文件配置后只要重新R/W加载或reboot就能够恢复正常。

1 2#以读写方式重新挂载文件系统 mount -o remount rw /

如果机器上有重要文件,在重新加载文件系统前可以用scp命令将其备份到远程主机上:

1scp -r import_dir/import_file user@host:backup_dir

之所以使用scp -r命令备份重要目录/文件到远程主机上,而不用tar命令打包压缩后再传输,因为在用tar命令打包压缩文件/目录时会涉及到写磁盘 *** 作,这会引起Read-only file system的错误。

如果是文件系统有问题,那就需要在umount状态下执行fsck命令来检查文件系统并修复文件系统中的错误。

1 2 3nohup fsck -y /dev/VolGroup00/LogVol00 >/dev/shm/fscklog &# 检查好后重启 reboot

如果是磁盘硬件损坏,最好的方法就是直接换一个新硬盘。如果你觉得旧硬盘扔了可惜,还可以将它低格之后,再重新安装系统,系统重新安装后,磁盘会重新分区。

如果仅仅是想将数据备份出来而且机器又在身边的话,你可以用live-cd从光盘启动系统,然后直接备份。当然此时你也可以修改硬盘中的配置文件,如/etc/fstab。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8718972.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-20
下一篇 2023-04-20

发表评论

登录后才能评论

评论列表(0条)

保存