「AHCI」の版間の差分
細 (文字列「[[zh-CN:」を「[[zh-hans:」に置換) |
Kusanaginoturugi (トーク | 投稿記録) (→Troubleshooting: 飜訳) |
||
(同じ利用者による、間の4版が非表示) | |||
3行目: | 3行目: | ||
[[ro:AHCI]] |
[[ro:AHCI]] |
||
[[zh-hans:AHCI]] |
[[zh-hans:AHCI]] |
||
− | + | [[Wikipedia:AHCI|AHCI]] (''a''dvanced ''h''ost ''c''ontroller ''i''nterface の略) は SATA ドライブのネイティブな動作モードです。AHCI は SATA ドライブのホットプラグ (USB ドライブの挙動を模倣)のサポートと NCQ (''n''ative ''c''ommand ''q''ueuing) の 2 つの主な利点があります。バージョン 2.6.19 以降 Linux カーネルに存在し、現在の Arch カーネルに自動的にロードされます。 |
|
− | |||
− | 通常 SATA ドライブはデフォルトでレガシーなパラレル ATA として設定されますが、BIOS から AHCI を有効化することで主として2つのメリットがあります: SATA ドライブのホットプラグ (USB ドライブの挙動を模倣) と NCQ (''n''ative ''c''ommand ''q''ueuing) のサポートです。 |
||
− | |||
− | == カーネルイメージに AHCI モジュールを追加 == |
||
− | {{ic|/etc/[[mkinitcpio]].conf}} を編集して {{Ic|MODULES}} 変数に {{Ic|ahci}} を追加してください: |
||
− | MODULES="ahci" |
||
− | |||
− | カーネルイメージを再生成することで追加したモジュールがイメージに含まれるようになります: |
||
− | # mkinitcpio -p linux |
||
== BIOS から設定 == |
== BIOS から設定 == |
||
43行目: | 34行目: | ||
NCQ も以下のような文字列で確認できます: |
NCQ も以下のような文字列で確認できます: |
||
ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32) |
ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32) |
||
+ | |||
+ | == トラブルシューティング == |
||
+ | |||
+ | Arch のインストール後に SATA の設定を IDE から AHCI に切り替えた場合、AHCI モジュールが自動的にロードされない可能性があります。そのような場合、初期起動時に root パーティションが見つからないというエラーメッセージが表示されます。 |
||
+ | |||
+ | そのような場合でも、{{ic|failsafe}} ブートオプションは問題なく動作するはずです。フェイルセーフモードで起動したら、initramfs イメージを再生成するために [[mkinitcpio]] を実行する必要があります。 |
||
== 資料 == |
== 資料 == |
2022年10月24日 (月) 10:29時点における最新版
AHCI (advanced host controller interface の略) は SATA ドライブのネイティブな動作モードです。AHCI は SATA ドライブのホットプラグ (USB ドライブの挙動を模倣)のサポートと NCQ (native command queuing) の 2 つの主な利点があります。バージョン 2.6.19 以降 Linux カーネルに存在し、現在の Arch カーネルに自動的にロードされます。
BIOS から設定
BIOS にアクセスする方法はマザーボードによって異なります。大抵は Del
を使うことでメニューを表示できます。
BIOS のオプションが表示されたら、以下のようなパラメータを探して下さい:
Enable SATA as: IDE/AHCI
または:
SATA: PATA Emulation/Native/Enhanced
AHCI
や Native
を選択して、設定を保存して BIOS から抜けます。名前はマザーボードによって変わってくるので、どのモードが AHCI なのか分からないときはマザーボードのマニュアルを見て下さい。
BIOS の設定を変更・保存した後、Linux は次の起動時に AHCI ドライバーをロードします。dmesg
の出力で確認できます:
SCSI subsystem initialized libata version 3.00 loaded. ahci 0000:00:1f.2: version 3.0 ahci 0000:00:1f.2: PCI INT B -> GSI 19 (level, low) -> IRQ 19 ahci 0000:00:1f.2: irq 764 for MSI/MSI-X ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 0x3f impl SATA mode ahci 0000:00:1f.2: flags: 64bit ncq sntf stag pm led clo pmp pio slum part ems ahci 0000:00:1f.2: setting latency timer to 64 scsi0 : ahci scsi1 : ahci scsi2 : ahci scsi3 : ahci scsi4 : ahci scsi5 : ahci
NCQ も以下のような文字列で確認できます:
ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
トラブルシューティング
Arch のインストール後に SATA の設定を IDE から AHCI に切り替えた場合、AHCI モジュールが自動的にロードされない可能性があります。そのような場合、初期起動時に root パーティションが見つからないというエラーメッセージが表示されます。
そのような場合でも、failsafe
ブートオプションは問題なく動作するはずです。フェイルセーフモードで起動したら、initramfs イメージを再生成するために mkinitcpio を実行する必要があります。