我有一台华硕 P5Q deluxe,是一台旧游戏电脑,我正在将其改装为服务器。不幸的是,虽然他们愚蠢的板载假 RAID 东西(drive xpert)在 Windows 中工作得很好,但当我尝试向它们安装 openSUSE 时,根本没有检测到驱动器。我尝试禁用它并将其设置为“正常”,但仍然没有成功。检测到其他 SATA 端口没有问题,但它们用于我的存储驱动器。最终我决定更好的选择可能是 pcie SATA 卡,但我不确定它能解决我的问题:
我可以安装到通过 PCIE 卡连接的驱动器吗?如果是的话有没有人可以推荐一张特定的卡?
答案1
根据经验,始终关闭假袭击(RAID 在 BIOS 中声明,但实际上由操作系统驱动程序执行)。 Fakeraid 的存在只有两个原因:
- 因为某些操作系统没有原生 RAID 功能,需要一些外部帮助;
- 因为它可以让硬件制造商宣传他们并未真正实现的功能。
与 Linux RAID 相比,fakeraid 没有任何优势,只有缺点,例如依赖特定驱动程序和硬件。
对于某些主板(或更准确地说,对于某些 RAID BIOS),如果驱动器包含有效的 RAID 签名,则无法关闭 RAID 模式。你需要擦掉这个签名。从 Linux CD 启动,并将磁盘的前几千字节和最后几千字节(或整个磁盘,如果您有空闲时间)清零。请注意,这将删除驱动器上的所有数据;如果您想保存一些数据,您可能需要一个更复杂的策略,包括暂时删除驱动器(或将它们插入非 RAID SATA 端口)。然后重新启动并返回 BIOS,您应该会看到一个额外的选项,可以让您真正关闭 RAID。
答案2
尝试在非 PCIE 驱动器上安装引导加载程序 + /boot 分区,并在 PCIE 上安装根分区。
Linux 非常适合从 RAM 驱动器(内核 + /boot 分区上的 initramfs)启动,这样启动就可以为 PCIe 卡供电。
要检查,请尝试使用 Live Linux 安装 CD/DVD/USB 介质是否可以看到 PCIe 卡的驱动器。
有些 PCIe 卡具有 Linux 没有驱动程序的 chupsets,而其他卡则可以。制造商可能不会将 Linux 列入兼容性列表,但这并不意味着他们可以在 Linux 上运行;大多数时候是因为他们的 FakeRAID 仅适用于 Windows。
规则:BIOS 可以检测某些驱动器,使用其中一个或多个作为主引导路径(引导加载程序 + 内核 + initramfs 或类似的,又名 /boot 分区),并在引导的第一部分之后将 root 放在所需的驱动器上(initramfs 或PCIe 和其他设备的驱动程序正在运行,因此在启动阶段可以看到驱动器,而不是在 BIOS 启动阶段。
如果 BIOS 没有看到一个工作驱动器,则不会限制您在其上拥有根文件系统,它只会限制您在其上没有引导加载程序和 /boot 分区。
注意:如果主板允许从 USB 启动,则引导加载程序和 /boot 分区也可以位于 USB 记忆棒上。
大多数人从来没有想过将 / 和 /boot 分区分离到多个不同的磁盘上,没有必要将两者都放在同一介质上。
此外,您还可以将 /boot 置于具有剥离、镜像等功能的多层和多个磁盘的 LVM+LUKS 大型复杂结构中。
为此,请搜索 grub2-install 的“modules=”参数,Grub2 非常适合此类操作,它的 grub.cfg 文件(及其所有文件)可以驻留在 LVM+LUKS 的任何奇怪组合中,这只是一个问题告诉 grub2-installer 它必须在引导阶段包含一些模块,因此它会预加载它们,同时还会搜索 BIOSGRUB 分区,这有助于理解它。
根据你的情况:只需在与根文件系统不同的单独磁盘组合上使用 bootloader + /boot ,将它们放在你想要的任何地方,但在 BIOS 看到的东西上,所有其余的(根、主目录等)也将它们放在你想要的地方如果 BIOS 磁盘不可见,initramfs 将从 BIOS 可见的磁盘加载,并使所有其余磁盘可见。
也许它不适用于所有 PCIe 卡,也许在某些上您需要调查并配置 initramfs 来预加载 PCIe 卡等。但通常如果实时媒体可以看到它,在启动的 initramfs 阶段也可以看到了。