我正在 Azure 中的 Windows 虚拟机上通过 WSL 运行 Ubuntu 18-04。我需要将机器恢复到之前的状态,结果 Ubuntu 文件系统现在是只读的。当我跑步时
dmesg
我的根文件系统出现以下错误
[25081.148359] EXT4-fs warning (device sdc): ext4_clear_journal_err:5592: Filesystem error recorded from previous mount: IO failure
[25081.150048] EXT4-fs warning (device sdc): ext4_clear_journal_err:5594: Marking fs in need of filesystem check.
[25081.155917] EXT4-fs (sdc): warning: mounting fs with errors, running e2fsck is recommended
[25081.164175] EXT4-fs (sdc): Errors on filesystem, clearing orphan list.
[25081.164913] EXT4-fs (sdc): recovery complete
[25081.167250] EXT4-fs (sdc): mounted filesystem with ordered data mode. Opts: discard,errors=remount-ro,data=ordered. Quota mode: none.
现在我遇到了在已安装分区上运行 fsck 的问题。由于它是一个虚拟机,我无法使用外部磁盘,所以我唯一的想法就是安装另一个Linux版本。我安装了 SUSE Tumbleweed 并附加了 Ubuntu 根分区
wsl -d openSUSE-Tumbleweed --mount --vhd C:\Users\adm_difolco_e\Documents\Airflow\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2019.522.0_x64__79rhkp1fndgsc\ext4.vhdx –bare
我跟着WSL2 操作方法:准备并附加虚拟驱动器 (VHD)它的教程。现在当我跑步时
lsblk
我明白了
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 389.8M 1 disk
sdb 8:16 0 4G 0 disk [SWAP]
sdc 8:32 0 1T 0 disk
sdd 8:48 0 1T 0 disk /mnt/wslg/distro
命令
df
没有显示任何关于 sdc 的信息,但是当我运行时
sudo fsck -N /dev/sdc
我得到:
fsck: error 2 (No such file or directory) while executing fsck.ext4 for /dev/sdc
答案1
肯定是 SuSE Tumbleweed 的问题。我安装了 Ubuntu 20-04 并执行了与问题中相同的段落,一切都完美运行。
只是fsck
命令不同:
sudo e2fsck -y /dev/sdc