我计划在我的 Acer Aspire E5-511 C7X7 中安装 SSD (https://www.acer.com/ac/en/GB/content/model/NX.MPKEK.022) 通过将 9.5mm 光驱替换为硬盘驱动器托架,但我不确定这是否值得,因为我不知道主板是否支持 SATA I、II 或 III。我该如何检查?
我正在运行 Kubuntu 16.10,hardinfo 告诉我笔记本电脑中随附的主硬盘是 Western Digital ATA WDC WD10JPVX-22J 1TB 硬盘。硬盘本身指定具有 SATA 6 Gb/s 接口,据我了解是 SATA III。
控制台中的 dmesg 告诉我,我的两个 SATA 控制器连接速度高达 1.5Gbps 和 3.0Gbps。我假设第一个是我的光驱,第二个是我的 HDD。这让我相信我的 HDD 是 SATA II,而我的光驱是 SATA I。这个信息正确吗?
我认为 Acer 不会在主板支持低于 SATA III 的笔记本电脑上安装 SATA III 硬盘。我这样假设安全吗?我的硬盘和光驱是否可能使用不同的 SATA 接口?我假设它们使用相同的接口,我希望它兼容 SATA III,但同样,我想确定一下。
答案1
假设您有一个标准 AHCI 控制器,您可以在配置寄存器中查找支持的最大速度。这个值可能在/sys
或中的某个地方可见/proc
,但如果是这种情况,我不知道。
这涉及到摆弄设备的 I/O 空间,因此要小心不要犯错误,否则可能会损坏东西。
以下是它在我的系统中的运作方式:
使用以下方法查找您的 AHCI 控制器
lspci
:$ lspci ... 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05)
查看资源,验证它是否被系统控制内核模块:
$ lspci -vk -s 0:1f.2 00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family SATA AHCI Controller (rev 05) (prog-if 01 [AHCI 1.0]) Subsystem: ASRock Incorporation 6 Series/C200 Series Chipset Family SATA AHCI Controller Flags: bus master, 66MHz, medium devsel, latency 0, IRQ 26 I/O ports at f0b0 [size=8] I/O ports at f0a0 [size=4] I/O ports at f090 [size=8] I/O ports at f080 [size=4] I/O ports at f060 [size=32] Memory at f7e06000 (32-bit, non-prefetchable) [size=2K] Capabilities: <access denied> Kernel driver in use: ahci Kernel modules: ahci
现在可以在 PCI BAR 区域中找到
/sys/devices/pci0000:00/0000:00:1f.2/resource*
(您需要0:1f.2
用控制器的地址替换此处)。我的卡有 5 个 I/O 端口区域(编号 0-4),内存映射区域编号为 5。这是我们需要的。下载并编译一些工具来映射并读取区域,例如这个。
使用您刚刚下载的工具读取偏移量为 0 的第一个 4 字节字(再次将 PCI 地址和资源替换为您系统上的地址和资源)。您需要 root 权限才能执行此操作。如果您犯了错误,这里可能会发生一些奇怪的事情,因此请确保您没有犯错误。
$ sudo ./pcimem /sys/devices/pci0000\:00//0000\:00\:1f.2/resource5 0 w Target offset is 0x0, page size is 4096 mmap(0, 4096, 0x3, 0x1, 3, 0x0) PCI Memory mapped to address 0xb778e000. Value at offset 0x0 (0xb778e000): 0xC330FF45 ^
正如所述AHCI 规范在英特尔,第 23-20 位被称为接口速度支持并指示最大速度(1 = Gen 1/1.5 Gbps,2= Gen/3 Gbps,3 = Gen 3/6 Gbps)。这些位由上面标记的第三个十六进制数字表示,在我的例子中
3
,所以我的控制器支持 6 Gbps。