我有一个带有 USB 和 Sata 连接的 SSD 硬盘,我希望能够从 USB 和 Sata 启动,但我无法使其工作。
当磁盘与 SATA 连接时,一切都正常,但是当我将其与 USB 连接时,Fedora 似乎启动了,但它给了我一个“未找到根设备”的错误并且永远处于睡眠状态。
即使我通过 USB 连接磁盘来安装 Fedora 13,也会发生这种情况。
我正在运行 Fedora Core 13。
更新:我将 fstab 更改为
/dev/sda2 / ext4 默认值 1 1
并且磁盘在连接到 SATA 控制器时仍在启动。到目前为止一切顺利。但如果我从 USB 连接启动,它仍然会给我相同的“未找到根设备”消息。
更奇怪的是,如果我启动 Fedora Core 13 DVD,并选择“救援安装系统”,当连接到 USB 时,它无法检测到硬盘。而且没有 /dev/sd* 或任何看起来像块设备的东西。Redhat 是否忘记在 Fedora Core 的救援映像中包含 USB 驱动程序?
我刚刚在其他系统上尝试过该磁盘,但遇到了完全相同的问题。
更新 2:我现在已将 LABEL=myroot 行添加到 fstab(我猜它必须是大写才能工作),并且使用 sata 时硬盘仍能正常启动,但使用 usb 仍然无法启动。我开始猜测 redhat 忘记了 fedora Core 13 中的一些 usb 驱动程序,因为系统在启动 dvd 并进入救援模式时看不到硬盘。blkid 根本不显示任何硬盘,并且 /dev/ 中没有块设备,这可能是我的 usb 磁盘。
顺便说一句:如果将 USB 硬盘添加到 Windows 计算机,是否可以找到分区的 uuid,更重要的是:这是否与 Linux 所用的 uuid 相同。
答案1
问题是 /etc/fstab 中的根文件系统标识在 USB 和 SATA 上不一样。解决方案可能涉及重新使用标签而不是 UUID。
/dev/sda2将是旧式分区名称。只要它是 SATA 和 USB 上的伪 SCSI 设备,这种方法可能效果很好。我不确定标签中的“/”字符是否合法。
要使用标签,您必须标记分区,然后设置标签名称。
例如:
e2label /dev/sda2 myroot
然后使用
标签=myroot
更新 2:
请告诉我们您正在启动什么硬件。
为了在启动时获得 USB 支持,您可能必须使用 mkinitrd 将 USB 内核模块添加到启动时使用的 ramdisk。(或者可能是 update-initramfs -u)。
根据此主题第一个回答,在 Fedora 上相当容易。我无法立即找到具体说明。