Nixos 安装会在通过 USB 使用外部 NVME 驱动器启动“等待设备 /dev/dis/by-uuid/... 出现超时”时出现错误

Nixos 安装会在通过 USB 使用外部 NVME 驱动器启动“等待设备 /dev/dis/by-uuid/... 出现超时”时出现错误

我在使用外部 NVME 驱动器时遇到问题,grub 成功启动,但一旦进入条目default configuration(nixos 生成),就会出现以下错误:

“等待设备 /dev/dis/by-uuid/... 出现超时”

我已经仔细检查了分区的 UUID ,它正确匹配和/中的内容(由 生成)。在 grub 恢复控制台中,如果我执行 a,我也可以看到具有正确 UUID 的分区。/etc/fstabhardware-configuration.nixnixos-generate-configls -l

我也添加"nvme"boot.initrd.availableKernelModules.

我可以nixos-enter通过外部“live USB”连接系统,没有任何问题。

我怀疑我需要一个额外的 initrd 内核模块才能启动它,但我不确定是哪一个?

我试过了:

  1. 添加这些模块(从https://help.ubuntu.com/community/BootFromUSB):
usbcore
sd_mod
ehci_hcd
uhci_hcd
ohci_hcd
usb_storage
scsi_mod

这仍然会导致相同的错误。

  1. 将分区复制到内部驱动器(而不是外部 NVME 驱动器,后者仍然会导致相同的错误。

答案1

我遇到了同样的问题,最后我做的是,使用新启动的不同 Linux 安装,比较lsmod插入 USB 设备之前和之后的输出。

我最终需要的是:

boot.initrd.availableKernelModules = [ "uas" "usbcore" "usb_storage" ];

答案2

我很确定我的问题是由 donixos-rebuild build而不是引起的nixos-rebuild boot。第一个命令不会创建一代或将其设置为默认引导。

我可能只需要额外的nvme模块。

相关内容