「AHCI」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(en:AHCIへの転送ページ)
 
 
(2人の利用者による、間の6版が非表示)
1行目: 1行目:
  +
[[Category:ストレージ]]
#redirect[[en:AHCI]]
 
  +
[[en:AHCI]]
  +
[[ro: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 カーネルに自動的にロードされます。
  +
  +
== BIOS から設定 ==
  +
BIOS にアクセスする方法はマザーボードによって異なります。大抵は {{ic|Del}} を使うことでメニューを表示できます。
  +
  +
BIOS のオプションが表示されたら、以下のようなパラメータを探して下さい:
  +
Enable SATA as: IDE/AHCI
  +
または:
  +
SATA: PATA Emulation/Native/Enhanced
  +
  +
{{Ic|AHCI}} や {{Ic|Native}} を選択して、設定を保存して BIOS から抜けます。名前はマザーボードによって変わってくるので、どのモードが AHCI なのか分からないときはマザーボードのマニュアルを見て下さい。
  +
  +
BIOS の設定を変更・保存した後、Linux は次の起動時に AHCI ドライバーをロードします。{{Ic|dmesg}} の出力で確認できます:
  +
<pre>
  +
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
  +
</pre>
  +
NCQ も以下のような文字列で確認できます:
  +
ata2.00: 625142448 sectors, multi 16: LBA48 NCQ (depth 31/32)
  +
  +
== トラブルシューティング ==
  +
  +
Arch のインストール後に SATA の設定を IDE から AHCI に切り替えた場合、AHCI モジュールが自動的にロードされない可能性があります。そのような場合、初期起動時に root パーティションが見つからないというエラーメッセージが表示されます。
  +
  +
そのような場合でも、{{ic|failsafe}} ブートオプションは問題なく動作するはずです。フェイルセーフモードで起動したら、initramfs イメージを再生成するために [[mkinitcpio]] を実行する必要があります。
  +
  +
== 資料 ==
  +
*[[Wikipedia:ja:AHCI]]
  +
*[[Wikipedia:NCQ]]

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

AHCINative を選択して、設定を保存して 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 を実行する必要があります。

資料