在全新安装后使用命令进入我的 archlinux WSL时(我在virtualboxwsl -d Arch
中完成了 arch linux 的基本安装。通过将其导出为压缩的 tar 文件,将其传输到我的 windows 机器中并使用命令导入它)。它首先在控制台中打印“使用 mount -a 处理 fstab 失败。”然后进入 arch 发行版的 bash shell。wsl --import
- 首先为什么会发生这种情况?
- 如何解决这个问题?
- 这是什么严重问题吗?
在全新安装后使用命令进入我的 archlinux WSL时(我在virtualboxwsl -d Arch
中完成了 arch linux 的基本安装。通过将其导出为压缩的 tar 文件,将其传输到我的 windows 机器中并使用命令导入它)。它首先在控制台中打印“使用 mount -a 处理 fstab 失败。”然后进入 arch 发行版的 bash shell。wsl --import
系统正在
mount -a
作为其正常启动过程的一部分运行,但出现故障。这通常意味着其中一行/etc/fstab
有问题。由于它会中断启动过程并让您进入救援 shell,因此会使系统的正常使用变得复杂。因此从某种意义上说,这是一个相当严重的问题,但可能很容易修复。根据您的安装方法,我猜测 VirtualBox 中原始的基础安装有一些单独的文件系统(也许
/boot
?),它要么在 WSL 中不存在,要么现在是根文件系统的一部分,或者现在具有不同的文件系统 UUID。您应该阅读文件的内容
/etc/fstab
,并更正任何需要更改或不再适用于 WSL 系统环境的行。/etc/fstab
你可以将的内容与 进行比较/proc/mounts
。如果你发现 中的非注释行在 中/etc/fstab
没有匹配的行/proc/mounts
,请尝试逐个手动安装它们,看看会得到什么样的错误。如果该行通过 UUID 引用文件系统,请使用
blkid
或查看 WSL 环境中的实际文件系统 UUID,并根据需要lsblk -o +uuid
更正 UUID 。/etc/fstab
如果该行引用的文件系统存在于 VirtualBox 中,但现在包含在 WSL 中的根文件系统中,则可以从中注释掉或删除该行
/etc/fstab
。可能
/proc/mounts
包含 中不存在的行/etc/fstab
:这些通常是虚拟文件系统,由系统启动脚本自动安装到标准位置。您可以忽略它们。如果您需要更多帮助,请编辑您的问题以显示您的当前内容以及或
/etc/fstab
的输出。 (请不要将它们添加为评论或非答案答案帖子;在 StackExchange 中,我们喜欢将与问题相关的所有信息放在顶部。)lsblk -o +uuid
blkid