![不一致的安装和/etc/fstab](https://linux22.com/image/1184062/%E4%B8%8D%E4%B8%80%E8%87%B4%E7%9A%84%E5%AE%89%E8%A3%85%E5%92%8C%2Fetc%2Ffstab.png)
当我在更新 Windows 后重置 PC 时,我的 ubuntu 终端无法再查看 mnt 文件的 c 和 d 硬盘中的数据。当我使用ls
它时会产生。
:/mnt$ls
ls: cannot access 'd': Input/output error
ls: cannot access 'c': Input/output error
我尝试用命令解决它fsck
并得到以下结果:
:/mnt$sudo fsck
fsck from util-linux 2.34
fsck.ext4: Unable to resolve 'LABEL=cloudimg-rootfs'
仍在谷歌搜索,但如果以前处理过这个问题的人能提供帮助,我将不胜感激。
答案1
不一致的安装和/etc/fstab
我开始看到Read-only file system
错误消息,并发现我挂载的根驱动器设备与中指定的设备不匹配/etc/fstab
。
$ mount | grep ext4
/dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
$ cat /etc/fstab
/dev/sda / ext4 defaults 0 0
有趣的是,我可以写一两分钟,但随着时间的推移,它就会开始出现错误。
先前的错误
几个月前我/etc/fstab
手动修改了我的最初版本:
$ cat /etc/fstab
LABEL=cloudimg-rootfs / ext4 defaults 0 0
我已将其修改为直接引用,/dev/sda
因为我的系统中没有带标签的设备。我不知道标签cloudimg-rootfs
是从哪里来的。我的 WSL2 磁盘最初是用 WSL1 创建的,也许他们是这样标记磁盘的?然后 WSL2 把它拿走了?
一段时间内,这种方法运行正常,但最近我开始收到Read-only file system
错误消息。
此时我注意到我的根驱动器已更改为/dev/sdc
&我仍然/dev/sda
提到/etc/fstab
。
使固定
我记得我对&的修改/etc/fstab
,我记得它指的是LABEL
,而不是驱动器。
- 在 2 分钟的时间窗口中,我将其改为
/etc/fstab
引用新的根 fs 驱动器:/dev/sdc / ext4 defaults 0 0
- 重启 wsl
mount
验证重启后&之间的驱动器号/etc/fstab
是否一致。此时,我能够写入文件系统而没有任何错误。- 将标签添加到我的根 fs 驱动器(就我而言
/dev/sdc
):sudo e2label /dev/sdc "ROOTFS"
- 确认标签已更改
$ sudo blkid -o list
device fs_type label mount point UUID
-----------------------------------------------------------------------------------------------------------------------
/dev/sda ext4 (in use)
/dev/sdb swap [SWAP] 4906c2f2-XXX-YYY-ZZZ-aa65bf88a5c3
/dev/sdc ext4 ROOTFS / 3255683f-XXX-YYY-ZZZ-b4c1041e2a62
- 更改
/etc/fstab
为引用我的新标签:LABEL=ROOTFS / ext4 defaults 0 0
- 重启 wsl
- 验证我现在可以写入根文件系统。
现在,由于标签在重启之间保持不变,所以fstab
应该不会有问题。
都好!
答案2
尝试验证磁盘的电源
这通常是由于电源输出太小造成的;你的电源可能设置为省电(出于某种原因?)或者电源插座可能奇怪/弱
为什么是这个答案?我也遇到过同样的问题;多年后是的 年排除一些东西等;我突然发现 - 是我的问题power outlet
,而且很搞笑的是,它通过将电缆倒置而自行解决(注意;这可能不是你的情况)但错误;非常像电源问题。检查电缆等;和电源模式。BIOS 是否配置为 SavePower?如果是;尝试更改为正常或之前的任何设置。
正如一些人指出的那样;快速启动/休眠/双启动都可能有问题;先使用 LIVE iso(linux)制作映像(而不是逐个复制文件)作为备份;如果可行的话;
链接
如果可能的话;运行
sudo dmesg
和
sudo journalctl
并发布输出(编辑任何敏感信息)当您打开电源并等待一会儿时;直到问题再次出现;或者当您打开终端并输入ls
并且它出现时;