Lucid 是否支持 AHCI 设备的热插拔?除了简单地卸载要断开连接的驱动器上的所有文件系统并插入新磁盘之外,还有其他操作吗?
00:1f.2 SATA 控制器:英特尔公司 82801IR/IO/IH(ICH9R/DO/DH)6 端口 SATA AHCI 控制器(rev 02)
是我正在使用的控制器。
BIOS 设置为 AHCI。我还尝试过简单的卸载和拔掉电源。这似乎没问题。插入新驱动器会锁定系统。AHCI 内核模块也已加载。
我也看过突袭 维基kernel.org 上讨论了磁盘 AHCI 热交换的硬件要求。我的驱动器和电缆似乎都符合标准,但大部分信息都与电气方面有关(接地等...)。
答案1
确保您的 BIOS 设置为 AHCI 模式而不是 IDE 兼容模式。我知道 Intel ICH8 是真正可热插拔的 wrt 驱动器。
我相信您必须重新读取分区表。您可以使用 partprobe 命令告诉操作系统重新读取该表:
manjo@hungry:~$ partprobe --help
Usage: partprobe [OPTION] [DEVICE]...
Inform the operating system about partition table changes.
-d, --dry-run do not actually inform the operating system
-s, --summary print a summary of contents
-h, --help display this help and exit
-v, --version output version information and exit
When no DEVICE is given, probe all partitions.
Report bugs to <[email protected]>.
或者你可以尝试... echo 1 > /sys/block/sdc/device/rescan
(但不确定)。
我认为即使不重新读取分区表,您也应该能够检测到新的驱动器,但存在它无法正常工作的风险。
答案2
首先,确保您使用的是 SATA 电源连接器;molex 的连接器不设计为热插拔。在移除旧驱动器之前,您应该将 1 写入 /sys/block/sdX/device/delete(当然是在卸载之后)。当新驱动器连接时,您可能需要将 1 写入 scsi_host/scan 文件(我相信某些硬件能够检测到热插拔并会自动扫描)。
因此,移除现有驱动器然后替换它的完整步骤如下:
sudo -s
cd -P /sys/block/sdd/device
echo 1 > delete
cd ../../scsi_host/host*
echo '- - -' > scan