使用“f”键从 initramfs 控制台执行 fsck 不起作用

使用“f”键从 initramfs 控制台执行 fsck 不起作用

由于文件系统错误,我的 ubuntu 笔记本电脑掉线到 initramfs 控制台。我需要手动执行“fsck”。但是我的键盘上的字母“f”不起作用。现在我无法获得新的键盘。有没有什么 shell 技巧可以让我以某种方式运行 fsck 命令?

答案1

  1. 如果你正在运行完整的 bash (包括printf),你可以这样做

    "$(printf '\146')sck"
    

    嗯,哦;如果您不能输入,那就行不通 fprintf

  2. 由于您的问题集中在 initramfs 控制台上,我假设您在系统完全启动并运行时有某种操作方式;也许是通过复制和粘贴。

    type -a printf
    

    找到 的二进制可执行文件printf。(它可能在/bin和/或中/usr/bin。)然后执行

    ln -s /bin/printf /bin/printt
    

    以 root 身份使用适当的目录。然后,在 initramfs 控制台中,执行

    "$(printt '\146')sck"
    

    (使用您刚刚创建的链接)。如果您愿意,可以使用其他名称;例如 p或 pt

    每次获得发行版更新时,您可能需要重复此操作。最好将链接放入PATHinitramfs 控制台中的目录中,但不会被发行版更新覆盖(例如,local名称中带有“ ”的内容)。

  3. 或者,

    "$(echo -e '\0146')sck"
    

    您可能需要对此进行试验以获得可行的变体(因为echo并不像 那样标准化printf)。例如,/usr/bin/echo可能比内置 效果更好echo,并且您可能不需要前导零。

答案2

您可以输入。但也许可以找到不起作用的/sbin/?sck原因。f

相关内容