![Linux 启动参数未放在最后时会被忽略](https://linux22.com/image/217871/Linux%20%E5%90%AF%E5%8A%A8%E5%8F%82%E6%95%B0%E6%9C%AA%E6%94%BE%E5%9C%A8%E6%9C%80%E5%90%8E%E6%97%B6%E4%BC%9A%E8%A2%AB%E5%BF%BD%E7%95%A5.png)
我使用的是 ubuntu 22.04,linux 内核 5.19.0
我的笔记本电脑的硬盘坏了,这非常令人难过,但我对此无能为力。
ata1: COMRESET failed (errno=-16)
然而,我(希望我)能做的是找到一种方法来避免每次重新启动时都要忍受整整一分钟。
从这个答案,我发现可以通过添加libata.force=1:disable
grub linux 引导参数来覆盖此行为。当我在启动时手动执行此操作时,它工作得很好。所以我尝试默认执行此操作,方法是编辑 /etc/default/grub 的这一行,从:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
到: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash libata.force=1:disable"
。
重新启动时,实际的命令行最终为:linux [ *some random stuff* ] quiet splash libata.force=1:disable $vt_handoff
自动$vt_handoff
附加。
COMRESET failed
这就是我的问题开始的地方:当像这样放置在倒数第二个位置时(一整分钟等),我添加的参数似乎被忽略。当我将其移回最后位置时,它会按预期工作。当然,我不想每次需要重新启动时都必须这样做。
所以我的实际问题是:有没有办法:
- 强制我的启动参数位于最后位置
- 使我的启动参数不会被忽略
- 实现一些其他(更好?)的方式来做我想做的事情(我不太了解 grub 的工作方式,我只是尝试一些我发现的东西)