Grub:不要探测有缺陷的驱动器


1

可以grub白名单或黑名单驱动器/分区?

使用案例:有缺陷的主驱动器,安装(live usb)发行版到第二个驱动器。

现在我想配置grub来启动第二个驱动器中的分区。

问题是grub-install在读取有缺陷的第一个驱动器时连续挂起。我需要告诉grub忽略第一个驱动器,只有os探测第二个驱动器(加上任何其他驱动器)。

因此,简单地禁用os-probe不是有效的补救措施。

我不想因各种原因删除第一个驱动器,包括笔记本电脑的保修和此救援情况下的时间限制。

社论:尽管经过几天谷歌搜索,我找不到怎么做。我认为驱动器故障将是一个相当普遍的情况 - 足以使无法将分区列入黑名单。

顺便说一句,解决方法是持续监控终端中的进程以及其参数中的pkill任何作业/dev/sda。这非常快速,并且在1TB驱动器上花费了一个小时的20个分区。新驱动器是2TB,将有几十个分区。


AFAIK,这是不可能的。您将不得不求助于使用静态条目。
Larssend

Answers:


2

我可以想出几种方法来实现你想要的结果,但并不像你期望的那样。特别:

  • 手动配置GRUB 2 - 您可以手动维护其配置文件,而不是依赖GRUB 2的配置脚本。我在2010年写的这篇文章(在我理解配置脚本的范围之前)涵盖了基础知识。此Arch Linux页面还提供了一些示例,您可以将这些示例合并到手动GRUB 2配置文件中。
  • 使用另一个引导加载程序 - GRUB 2不是Linux的唯一引导加载程序。如果您在BIOS / CSM /传统模式下启动,则可以使用GRUB Legacy,LILO或SYSLINUX。如果您在EFI / UEFI模式下启动,则可以使用经过大量修补的GRUB Legacy,ELILO,SYSLINUX,EFI存根加载程序,rEFInd或gummiboot / systemd-boot。(有关EFI选项的更多信息,请参阅我的此页面。)从一个引导加载程序到另一个引导加载程序的配置细节差别很大,但大多数需要一个或另一个手动配置,因此没有GRUB 2的精细配置脚本。 :如果您使用非Linux操作系统进行双启动,则ELILO,SYSLINUX和EFI存根装载程序不太可能完成可接受的工作,至少不能自行完成。

当然,大多数这些选项需要在手动配置方面做得比在库存GRUB 2及其配置脚本中所需的更多。rEFInd是个例外,它会在磁盘启动时自动扫描磁盘。根据主磁盘问题的性质,rEFInd可能会或可能不会受到您使用GRUB 2时遇到的问题的影响。当然,rEFInd需要EFI固件,因此如果您使用它,它将不是一个可行的解决方案得到了一台只有BIOS的电脑。

由于GRUB 2是开源的,你几乎可以肯定地破解它的配置脚本来忽略你的问题磁盘; 但我担心我不知道该怎么做 - 至少,不是没花太多时间挖掘相关的源代码。但是,如果你有足够的动力,这可能是另一种选择。


我才意识到你是谁。哇。我多年来一直使用rEFind作为我的标准装载机。感谢您的详细回复。
尼克·科尔曼
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.