Linux根文件系统突然出了点问题

本文讨论了Linux启动过程中遇到的屏幕显示问题及解决方法,并深入探讨了NFS作为根文件系统的配置问题,包括如何避免网络配置的反复尝试和解决mountnfs命令引发的RPC连接超时错误。
一 , 原来屏幕根本不会打出来 
process '/sbin/getty 38400 tty6' (pid 876) exited. Scheduling it for restart.

这样讨厌的信息, 不知道改了busybox 选项改了哪里了, 就出现这个问题了。 

解决办法: 两个办法: 1 > delete /etc/inittab 文件即可。 
2> 就是建立 /dev/tty6 节点 : cd /dev/; mknod tty6 c 4 6 

就没有讨厌的信息。 

二 ,发现一个讨厌的问题:

内核启动后:
Pv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
eth0: using half-duplex 10Base-T (RJ-45)
Sending DHCP and RARP requests ...... timed out!
IP-Config: Reopening network devices...
eth0: using half-duplex 10Base-T (RJ-45)
Sending DHCP and RARP requests ...... timed out!
IP-Config: Reopening network devices...
eth0: using half-duplex 10Base-T (RJ-45)
Sending DHCP and RARP requests ...... timed out!
IP-Config: Reopening network devices...
eth0: using half-duplex 10Base-T (RJ-45)
Sending DHCP and RARP requests ...... timed out!
IP-Config: Reopening network devices...
eth0: using half-duplex 10Base-T (RJ-45)
Sending DHCP and RARP requests .....

原来是为了支持NFS作为根文件系统 ,我选了 networking -》networking options -》IP:Kernel level autoconfiguration 

但是,切记一定不能选 下面三个子项 , 否则就会出现上面的问题嘞。 

三 ,进入系统后, 发现 mount nfs 不能正常工作, 但是发给Lei的版本却可以work , 奇怪。 

mount -tnfs 192.168.167.150:/work/nfs /mnt/ 老是提示下面的错误:

portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_up: makesock failed, error=-5
portmap: server localhost not responding, timed out
RPC: failed to contact portmap (errno -5).
lockd_down: no lockd running.

后来才知道应该加这个参数 -t nolock 就可以。
mount -tnfs -o nolock 192.168.167.150:/work/nfs /mnt/

还可以加更多的参数, 我试验过, 确实没有timeout的现象发生。
mount -t nfs 192.168.167.162:/home/leibian/nfs/initrd /mnt -o nolock,rsize=1024,wsize=1024,timeo=15
<think>嗯,用户这次提了虚拟机中Linux文件系统变为只读的问题。查看之前的对话历史,发现用户已经查阅了两条相关引用:第一条是关于Virtualbox共享文件夹只读的解决方案,第二条更关键,提到了Linux文件系统突然变只读的解决方法。用户明确表示要解决"虚拟机中Linux系统变为只读文件系统"的问题。 用户可能是个开发者或运维人员,正在虚拟机环境下工作。ta的措辞比较专业,说明对Linux有一定了解。从语气看,用户遇到了紧急故障(文件系统突然只读),需要快速解决方案。深层需求可能是既要临时恢复写入权限,又要预防问题复发。 我注意到引用[2]提到"fsck / -y"命令和磁盘错误有关联,这是个重要线索。但用户的环境是虚拟机,所以需要额外考虑虚拟磁盘的特性。这个问题可能有多种成因:文件系统错误、磁盘空间不足、硬件故障等。应该分层给解决方案: 首先需要紧急恢复写入功能,最快捷的方式就是重新挂载根目录为读写模式。不过这只是临时方案,必须接着排查根本原因。用户可能不知道mount命令的remount选项,需要明确写sudo mount -o remount,rw / 其次要检查关键指标:用df看磁盘空间,dmesg查内核错误日志。特别是虚拟机环境常见磁盘空间耗尽导致只读的情况,需要教用户清理日志或扩容磁盘。 如果是文件系统损坏,fsck磁盘检查必不可少。但要注意提醒用户先在只读状态下备份数据!虚拟机环境有个优势:可以暂停系统后直接扩展vdisk文件。 最后要考虑预防措施,比如定期维护任务(logrotate)、虚拟机快照策略、磁盘监控等。用户可能还需要区分共享文件夹只读和整个文件系统只读的区别——前者是Virtualbox增强功能权限问题,后者是系统级故障。 相关提问可以引导用户补充环境细节(如虚拟机平台、Linux发行版),也覆盖了进阶需求:比如自动化修复脚本的编写、虚拟机磁盘格式选择建议(qcow2的自动扩展特性可能比vdi更适合)等。这样既解决当务之急,又帮助用户建立长期预防机制。 </think>以下是解决虚拟机中Linux文件系统变为只读问题的完整方案,根据文件系统特征分层处理: ### 一、紧急恢复写入功能 ```bash sudo mount -o remount,rw / # 重新挂载根目录为读写模式 sudo mount -o remount,rw /home # 单独挂载其他分区 ``` > **注意**:若提示"target is busy",尝试重启后立即执行上述命令[^2] ### 二、根本原因排查与修复 #### 1. 磁盘空间检查 ```bash df -h # 检查磁盘使用率 sudo journalctl --vacuum-size=200M # 清理日志(当/var满时) ``` > 当`/`或`/boot`分区使用率≥100%时触发只读保护 #### 2. 文件系统错误修复 ```bash sudo umount /dev/sda1 # 先卸载分区 sudo fsck -y /dev/sda1 # 修复磁盘错误 sudo reboot ``` > **虚拟机注意事项**: > - 若无法卸载,关闭虚拟机后执行`vboxmanage internalcommands repairhd [VDI文件]` > - 快照恢复前务必备份数据 #### 3. 硬件资源监控 ```bash dmesg | grep "I/O error" # 检查磁盘I/O错误 free -h # 确认内存是否耗尽 ``` ### 三、预防措施 1. **自动维护任务** ```bash sudo crontab -e ``` 添加: ```cron 0 3 * * * /sbin/fsck -n /dev/sda1 # 每日检查文件系统 0 4 * * * journalctl --vacuum-time=1d # 每日清理日志 ``` 2. **虚拟机配置优化** - 虚拟磁盘分配**固定大小**而非动态扩展 - 启用**TRIM支持**:`sudo fstrim -av` - 共享文件夹使用**NFS替代**vboxsf 3. **内核参数调整** `/etc/sysctl.conf` 添加: ```conf vm.panic_on_oom=2 # 内存不足时重启而非挂起 ``` ### 四、疑难场景处理 **案例1:NTFS共享文件夹只读** ```bash sudo mount -t vboxsf -o rw,umask=000 SharedFolder /mnt/share ``` **案例2:Ext4日志损坏** ```bash sudo tune2fs -O ^has_journal /dev/sda1 # 禁用日志 sudo fsck /dev/sda1 # 修复后重新启用 sudo tune2fs -O has_journal /dev/sda1 ``` > **重要提示**: > 当频繁现只读问题时,建议: > 1. 使用`smartctl -a /dev/sda`检查磁盘健康 > 2. 迁移虚拟机到**独立物理磁盘** > 3. 更换为**KVM/Xen**等半虚拟化平台[^1]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值