我的 Surface 的 xubuntu 分区进入双启动命令行

我的 Surface 的 xubuntu 分区进入双启动命令行

我的 Surface Go 上安装了 Windows 10 和 Xubuntu Linux。我还使用 rEFInd 启动管理器。一段时间后(几天、几周等),我的 Xubuntu 分区停止加载其 GUI。我只需启动到命令行即可。我实际上已经在这台机器上重新安装了 ubuntu 来“修复”这个问题,但这基本上只是一个权宜之计。这个问题只是随着时间的推移而重新出现。我怀疑这与 Windows 和我的电脑启动方式有关,但是,我的笔记本电脑和台式机从未遇到过这个问题。

我想知道发生了什么。无论我使用哪个版本的 ubuntu,这种情况似乎都会发生。我会收到以下消息:

Error message:
/dev/nvme0n1p5: recovering journal
/dev/nvme0n1p5: Superblock last mount time is in the future (by less than a day, probably due to hardware clock being incorrectly set)
/dev/nvme0n1p5: clean, 233072/1831424 files, 2190469/7324160 blocks
You are in emergency mode. After logging in, type "journalctl -xb" to view system logs, "system ctl reboot" to reboot, "systemctl default" or "exit" to boot  into default mode.
Press Enter for maintenance
(or Control-D to continue)

journalctl -xb 确实给了我一个日志,但它很长,而且我不确定哪些信息是相关的。

我尝试运行 fsck,但命令行抱怨它正在运行的驱动器已被安装。

答案1

最可能的原因:Windows 和 Linux 解释系统时间的方式不同(UTC 与本地时间)。如果是这种情况,可能的解决方案是让两个操作系统以相同的方式解释系统时间,即 UTC 或本地时间双重启动时时钟时间关闭

可能的解决方案:

  1. 将 Windows 设置为 UTC,请参阅“让 Windows 使用 UTC”这里

    请在您的问题中发布文件在 Windows 中的确切位置WindowsTimeFixUTC.reg。然后在您的问题中发布该文件的确切内容。

  2. 将 Ubuntu 设置为本地时间,请参阅“让 Linux 使用‘本地’时间”这里timedatectl set-local-rtc 1(你可能需要添加 --adjust-system-clock)。

    请在您的问题中发布确切的输出

    $ timedatectl set-local-rtc 1
    $ timedatectl
    
  3. 如果hwclock给您带来麻烦,您可能需要此解决方案

    请在您的问题中发布确切的输出

    $ hwclock --verbose
    
  4. 可能不适用,因为它适用于旧版 Ubuntu。编辑/etc/default/rcS,将其更改UTC=noUTC=yes。如果需要,请创建文件 (来源)。您还可以使用 添加另一行VERBOSE=yes

  5. 同上。编辑/etc/default/rcS,更改FSCKFIX=noFSCKFIX=yes(也许是最后的资源)。

  6. 确认内部时钟的电源是否正常供电。由于 Surface Go 似乎没有 CMOS 电池,我不确定是否要检查/修复此问题。 https://www.ifixit.com/Answers/View/153800/CMOS+backup+battery+inside+Surface

来源/相关

  1. https://serverfault.com/a/71625/326962以及同一问题中的其他选项
  2. Ubuntu 17.04 - 文件 /etc/default/rcS 在哪里?
  3. https://ubuntuforums.org/showthread.php?t=2433546

相关内容