我最近买了一台新电脑,配有一个 SSD(NVMe)启动驱动器和一个辅助 SATA 数据驱动器。在验证了 Windows 在系统上的运行情况后,我想尝试在系统上安装 Linux。
首先,Debian 9(稳定版)netinst 无法识别任何硬盘,所以我最终需要使用 Debian 测试版的 netinst。这样它就可以识别 SATA 驱动器,但仍然无法识别 NVMe 驱动器。通过进入控制台并翻阅输出,dmesg
我最终看到一条消息,内容是“BIOS 处于 RAID 模式,请切换到 AHCI 模式”。因此,我尝试了该操作 - 进行此更改后,netinst 映像也能够识别 NVMe 设备(并确认 UEFI 分区存储在该位置) - 但 Windows 无法再启动。(幸运的是,将 BIOS 切换回 RAID 模式后,Windows 10 可以再次启动。)
所以,现在我想知道从哪里开始。我能想到的一些选择是:
- 暂时切换到 AHCI 模式以运行 Linux 安装程序,以便它可以写入
grubx64.efi
UEFI 分区。我希望,一旦从那里加载了 GRUB 并将控制权移交给内核映像,内核就可以在不访问 NVMe 驱动器的情况下完成它需要做的一切。而且grubx64.efi
无论如何,不需要经常更新。我在这里担心的是:据我所知,grubx64.efi
向固件注册涉及调用固件,因此据我所知,当其分区最初安装在 RAID 模式下的驱动程序中时,该固件可能会感到困惑,但随后它被调用时驱动程序处于 AHCI 模式,然后固件切换回 RAID 模式。 - 我确实找到了一些关于将 Windows 10 安装从 RAID 模式切换到 AHCI 模式的说明(http://support.thinkcritical.com/kb/articles/switch-windows-10-from-raid-ide-to-ahci)。但是,我读到的文章只是提供了最基本的说明,我不确定进行这种更改会产生什么影响。(在我的 Google 搜索中,我确实找到了一个论坛帖子,指出对于单个 SSD 驱动器,设置 RAID 实际上没有多大意义。不过,考虑到这种情况,我会对这一消息持保留态度。)
- 作为最后的手段,我想我可以在 USB 上设置 GRUB EFI,然后将其设置为
grub.cfg
从硬盘读取等等。不过,这会相当烦人。
我的目标:
- 首先,我希望确信无论我做什么都不会破坏现有的 Windows 10 安装。我安装此系统的主要目的是玩游戏,Linux 安装是次要考虑,主要用于开发和测试。(因此,将 Linux 安装的根目录驻留在 SSD 上是我未来可能会考虑的事情,而且优先级非常低。目前,我更愿意为目前玩得最多的游戏保留 SSD 空间。)
- 其次,启动和升级 Linux 安装的便利性。(虽然在这里,我倾向于从源代码构建自己的系统,仅使用 Debian 作为初始引导系统。过去,我经常最终安装 systemd 的 EFI 引导程序,它依赖于安装到 UEFI 分区中的内核和 initrd 映像以及一些元数据。但是,如果我需要弄清楚新硬件设置的 GRUB,那当然是一个选择。)