<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>BIOS on KnightLiブログ</title>
        <link>https://knightli.com/ja/tags/bios/</link>
        <description>Recent content in BIOS on KnightLiブログ</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja</language>
        <lastBuildDate>Mon, 04 May 2026 06:09:40 +0800</lastBuildDate><atom:link href="https://knightli.com/ja/tags/bios/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>TerraMaster F2-220 に fnOS を導入：F3 Backplane、NVMe、BIOS モジュール注入</title>
        <link>https://knightli.com/ja/2026/05/04/terramaster-f2-220-fnos-nvme-bios/</link>
        <pubDate>Mon, 04 May 2026 06:09:40 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/04/terramaster-f2-220-fnos-nvme-bios/</guid>
        <description>&lt;p&gt;これは TerraMaster F2-220 に fnOS を導入する実践記録だ。目的は純正 TOS を置き換え、公式サポートが終了した F2-220 を引き続き使うことにある。あわせて、F3 Backplane が F2-220 で使えるかを確認し、BIOS が NVMe から起動できない問題も解決している。&lt;/p&gt;
&lt;p&gt;F3 Backplane の元プロジェクトは F2-221、J3355 プラットフォームで検証されていた。一方、F2-220 は J1800 プラットフォームであり、互換性は未確認だった。プロジェクトの fork に V1.1 版があり、部品点数が減ってコストと製作難度も下がっていたため、この V1.1 版を使ってテストしている。&lt;/p&gt;
&lt;h2 id=&#34;pcb-製造と半田付け&#34;&gt;PCB 製造と半田付け
&lt;/h2&gt;&lt;p&gt;バックプレーンプロジェクト：&lt;a class=&#34;link&#34; href=&#34;https://github.com/arnarg/f3_backplane&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;arnarg/f3_backplane&lt;/a&gt;。使用したのは fork 内の V1.1 版で、主な目的は既存の SATA ベイを維持しつつ、バックプレーンコネクタから NVMe SSD の位置を引き出すことだ。&lt;/p&gt;
&lt;p&gt;PCB 製造後、複数枚の基板を入手できた。半田付けでは 1 つ注意点があった。BOM をよく確認せずに M.2 を半田付けしたあと、SATA コネクタが一般的なものとは少し違うことに気づいた。&lt;/p&gt;
&lt;p&gt;Taobao では完全に合うネイティブ SATA コネクタが見つからなかったため、既存のコネクタを改造した。ピンを抜いて位置を入れ替え、再度基板へ半田付けして完成させている。&lt;/p&gt;
&lt;p&gt;重要な結論は、F3 Backplane の方式は F2-220 でも試せるが、SATA コネクタの選定には注意が必要ということだ。一般的な SATA コネクタとしてそのまま注文しないほうがよい。&lt;/p&gt;
&lt;h2 id=&#34;vga-出力を接続する&#34;&gt;VGA 出力を接続する
&lt;/h2&gt;&lt;p&gt;F2-220 本体には外部に出ている映像出力がないが、内部に 12 ピン VGA ヘッダが用意されている。必要なのは、マザーボード内蔵用の 12Pin VGA 変換ケーブルだ。片側を本体内部の 12 ピンヘッダに接続し、もう片側は通常、外部モニタ用の標準 DB15 VGA メスコネクタになる。&lt;/p&gt;
&lt;p&gt;検索キーワードは「12Pin VGA 转接线」「主板 12 针 VGA 转接线」「2.0mm 12Pin 转 VGA」などが使える。購入前に、本体内部コネクタの写真と照合し、コネクタの向き、ピッチ、配線順を確認する。単に「12Pin」と書かれているだけで注文しない。&lt;/p&gt;
&lt;p&gt;この手順はインストール時に重要だ。映像出力がないと、BIOS やインストーラーのトラブルシュートがかなり難しくなる。&lt;/p&gt;
&lt;h2 id=&#34;fnos-のインストール&#34;&gt;fnOS のインストール
&lt;/h2&gt;&lt;p&gt;Ventoy から fnOS インストーラーを起動する。インストール画面で NVMe SSD が見えるため、バックプレーンと NVMe のハードウェア経路は動作している。&lt;/p&gt;
&lt;p&gt;ただし、インストール完了後に起動ディスクを抜くと、マシンは fnOS に入らず BIOS 画面へ戻ってしまう。BIOS の起動項目には NVMe SSD がない。fnOS を USB メモリにインストールして起動すると、システム内からは NVMe が正常に見える。&lt;/p&gt;
&lt;p&gt;この現象から分かることは次の通り。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;NVMe のハードウェア認識には問題がない&lt;/li&gt;
&lt;li&gt;Linux から NVMe にアクセスできる&lt;/li&gt;
&lt;li&gt;失敗しているのは BIOS の起動段階&lt;/li&gt;
&lt;li&gt;F2-220 は古いプラットフォームであり、純正 BIOS に NVMe 起動モジュールがない可能性が高い&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bios-のバックアップ&#34;&gt;BIOS のバックアップ
&lt;/h2&gt;&lt;p&gt;この時点では USB メモリから fnOS を起動できる。fnOS は Debian ベースなので、システム内で &lt;code&gt;flashrom&lt;/code&gt; を使って BIOS のバックアップと書き込みができる。&lt;/p&gt;
&lt;p&gt;BIOS の書き換えにはリスクがある。失敗時に復旧できるよう、可能ならプログラマを用意しておく。&lt;/p&gt;
&lt;p&gt;&lt;code&gt;flashrom&lt;/code&gt; をインストールする。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo apt install flashrom -y
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;BIOS チップを認識できるか確認する。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo flashrom -p internal
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;認識されるチップ情報は次のような形になる。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Found Winbond flash chip &amp;#34;W25Q64.W&amp;#34; (8192 kB, SPI) mapped at physical address 0x00000000ff800000.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;元の BIOS をバックアップする。コマンド内のチップ型番は、自分の機器で検出されたものに置き換える。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo flashrom -p internal -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;W25Q64.W&amp;#34;&lt;/span&gt; -r backup_factory.bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;h2 id=&#34;nvme-モジュールの注入&#34;&gt;NVMe モジュールの注入
&lt;/h2&gt;&lt;p&gt;バックアップした BIOS は &lt;code&gt;.bin&lt;/code&gt; ファイルになる。WinSCP で PC に転送し、Bilibili の記事 &lt;a class=&#34;link&#34; href=&#34;https://www.bilibili.com/read/cv4475152/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;《让老主板用上 Nvme 协议的固态》&lt;/a&gt; を参考に、BIOS ファイルへ NVMe モジュールを注入する。&lt;/p&gt;
&lt;p&gt;処理が終わったら、変更済み BIOS ファイルを fnOS に戻す。&lt;/p&gt;
&lt;p&gt;他人が作成した BIOS ファイルをそのまま使うのは避ける。機種、BIOS バージョン、flash チップが異なれば差分が出る。より安全なのは、自分の元 BIOS をバックアップし、そのバックアップをベースに変更する方法だ。&lt;/p&gt;
&lt;h2 id=&#34;新しい-bios-の書き込み&#34;&gt;新しい BIOS の書き込み
&lt;/h2&gt;&lt;p&gt;書き込みコマンドは次の通り。チップ型番、ファームウェアのパス、ファイル名は実際の環境に合わせて置き換える。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo flashrom -p internal -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;W25Q64.W&amp;#34;&lt;/span&gt; -w /vol1/NEW_NVME.bin
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;出力に次の行が出れば検証に成功している。&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;
&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;
&lt;td class=&#34;lntd&#34;&gt;
&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Verifying flash... VERIFIED.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;p&gt;書き込み後、BIOS の起動項目に &lt;code&gt;PATA&lt;/code&gt; が表示されることがある。この種の古い BIOS に NVMe モジュールを注入した場合、NVMe 起動項目が &lt;code&gt;PATA&lt;/code&gt; として表示されることはよくある。これが見えれば、BIOS が NVMe 起動経路を認識している。&lt;/p&gt;
&lt;h2 id=&#34;結果&#34;&gt;結果
&lt;/h2&gt;&lt;p&gt;最終結果は次の通り。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;F3 Backplane V1.1 は TerraMaster F2-220 上で NVMe を認識できる&lt;/li&gt;
&lt;li&gt;fnOS インストーラーから NVMe SSD が見える&lt;/li&gt;
&lt;li&gt;純正 BIOS は NVMe から直接起動できない&lt;/li&gt;
&lt;li&gt;BIOS に NVMe モジュールを注入すると、起動項目に &lt;code&gt;PATA&lt;/code&gt; が出る&lt;/li&gt;
&lt;li&gt;BIOS 変更後、NVMe から fnOS を起動できる条件が整う&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;実測フィードバックでは、この NVMe 経路の速度は 300MB/s 台とのこと。システムディスクとしては十分であり、高性能 SSD は不要だ。小容量の Optane でも用途を満たせる。&lt;/p&gt;
&lt;h2 id=&#34;注意事項&#34;&gt;注意事項
&lt;/h2&gt;&lt;p&gt;これは一般向けの無リスクな手順ではなく、ハードウェアと BIOS の改造記録に近い。実際に試す前に、少なくとも次の点に注意する。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;F2-220 と F2-221 はプラットフォームが異なるため、F2-221 の結果をそのまま F2-220 と同一視しない。&lt;/li&gt;
&lt;li&gt;F3 Backplane には PCB 製造と半田付けが必要。SATA コネクタのピン改造が必要になる場合もある。&lt;/li&gt;
&lt;li&gt;インストールとトラブルシュートには、内部 VGA ヘッダ用の適切な変換ケーブルが必要。&lt;/li&gt;
&lt;li&gt;BIOS 書き込みに失敗すると起動不能になる可能性がある。プログラマと元 BIOS のバックアップを用意する。&lt;/li&gt;
&lt;li&gt;&lt;code&gt;flashrom&lt;/code&gt; コマンド内のチップ型番は、自分の機器で検出された結果に合わせる。&lt;/li&gt;
&lt;li&gt;他人の改造済み BIOS を直接書き込まない。まず自分のバックアップへ NVMe モジュールを注入する。&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;この記録の価値は、F2-220 の実測結果を補っている点にある。F3 Backplane の考え方は F2-221 に限られず、F2-220 でも NVMe システムディスクを使える可能性がある。本当のボトルネックは Linux が NVMe を認識するかではなく、BIOS が NVMe 起動をサポートするかどうかだ。&lt;/p&gt;
&lt;h2 id=&#34;関連リンク&#34;&gt;関連リンク
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;fnNAS フォーラム実測スレッド：&lt;a class=&#34;link&#34; href=&#34;https://club.fnnas.com/forum.php?mod=viewthread&amp;amp;tid=55589&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;铁威马F2-220折腾飞牛OS过程&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>PCIe bifurcation によるレーン分割方式を詳しく見る</title>
        <link>https://knightli.com/ja/2026/05/02/pcie-bifurcation-modes/</link>
        <pubDate>Sat, 02 May 2026 10:15:49 +0800</pubDate>
        
        <guid>https://knightli.com/ja/2026/05/02/pcie-bifurcation-modes/</guid>
        <description>&lt;p&gt;PCIe bifurcation は、PCIe レーン分割のことです。解決する問題は単純で、CPU やチップセットから出ている一組の PCIe Lane を、1 本の太いリンクとして使うのか、それとも複数の細いリンクに分けて別々のデバイスへ割り当てるのかを決めます。&lt;/p&gt;
&lt;p&gt;たとえば 16 本の PCIe Lane は、&lt;code&gt;x16&lt;/code&gt; として構成することも、&lt;code&gt;x8+x8&lt;/code&gt; に分けることも、&lt;code&gt;x8+x4+x4&lt;/code&gt; に分けることもできます。これが「1 本のグラフィックススロットを x16 で動かす」「2 本のグラフィックススロットをそれぞれ x8 で動かす」「グラフィックススロット 1 本と CPU 直結 M.2 を 2 本使う」といった構成の土台です。&lt;/p&gt;
&lt;h2 id=&#34;pcie-lane-とは&#34;&gt;PCIe Lane とは
&lt;/h2&gt;&lt;p&gt;PCIe はシリアルバスです。各 Lane は差動信号ペアで構成され、独立した高速データ通路として考えられます。複数の Lane を束ねることで、より広いリンク幅になります。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://knightli.com/2026/05/02/pcie-bifurcation-modes/pcie-lane-link.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PCIe Lane とリンク幅の模式図&#34;
	
	
&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;リンク幅&lt;/th&gt;
          &lt;th&gt;主な用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x1&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;ネットワークカード、サウンドカード、キャプチャカード、USB 拡張カード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;NVMe SSD、一部の高速拡張カード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;2 本目のグラフィックススロット、RAID カード、ネットワークカード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;メインのグラフィックススロット&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;PCIe のリンク幅は通常 2 の累乗で増えるため、よく見るのは &lt;code&gt;x1&lt;/code&gt;、&lt;code&gt;x2&lt;/code&gt;、&lt;code&gt;x4&lt;/code&gt;、&lt;code&gt;x8&lt;/code&gt;、&lt;code&gt;x16&lt;/code&gt; です。コンシューマ向けマザーボードでは、&lt;code&gt;x1&lt;/code&gt;、&lt;code&gt;x4&lt;/code&gt;、&lt;code&gt;x8&lt;/code&gt;、&lt;code&gt;x16&lt;/code&gt; が特に一般的です。&lt;/p&gt;
&lt;p&gt;注意したいのは、物理スロットの長さと実際のリンク幅は同じではないことです。見た目が &lt;code&gt;x16&lt;/code&gt; の長いスロットでも、実際には &lt;code&gt;x4&lt;/code&gt; や &lt;code&gt;x8&lt;/code&gt; しか配線されていないことがあります。M.2 スロットは通常 &lt;code&gt;x4&lt;/code&gt; ですが、CPU 直結なのかチップセット経由なのかも重要です。&lt;/p&gt;
&lt;h2 id=&#34;bifurcation-はいつ行われるのか&#34;&gt;bifurcation はいつ行われるのか
&lt;/h2&gt;&lt;p&gt;PCIe デバイスの初期化は、おおまかに次の段階に分けられます。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PCIe bifurcation を決める。つまりレーンをどう分割するかを決める。&lt;/li&gt;
&lt;li&gt;Root Port Training を行い、リンク速度と幅を訓練する。&lt;/li&gt;
&lt;li&gt;PCI の列挙を行い、システムが各デバイスを認識する。&lt;/li&gt;
&lt;li&gt;電源管理、エラー報告、タイムアウト制御など PCIe 関連機能を設定する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;bifurcation はかなり早い段階で行われます。システムはまず、一組の Lane が 1 本の &lt;code&gt;x16&lt;/code&gt; なのか、2 本の &lt;code&gt;x8&lt;/code&gt; なのか、複数の &lt;code&gt;x4&lt;/code&gt; なのかを知る必要があります。その後の Training やデバイス列挙は、いくつの Root Port として扱うかに依存するからです。&lt;/p&gt;
&lt;p&gt;bifurcation の設定が合っていないと、よくある症状は次のようになります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;拡張カードで SSD が 1 枚しか認識されない。&lt;/li&gt;
&lt;li&gt;変換カードを挿すとデバイスがまったく出てこない。&lt;/li&gt;
&lt;li&gt;グラフィックスカードのリンク幅が &lt;code&gt;x16&lt;/code&gt; から &lt;code&gt;x8&lt;/code&gt; になる。&lt;/li&gt;
&lt;li&gt;BIOS に必要な分割オプションが表示されない。&lt;/li&gt;
&lt;li&gt;マザーボードのマニュアルには分割対応と書かれているが、特定のスロットや特定の CPU でしか有効にならない。&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;方式一hard-strap&#34;&gt;方式一：Hard Strap
&lt;/h2&gt;&lt;p&gt;Hard Strap はハードウェア方式です。マザーボード上の固定ピン、プルアップまたはプルダウン抵抗、配線によって、PCIe の分割方式をハードウェアレベルで決めます。&lt;/p&gt;
&lt;p&gt;この方式は、コンシューマ向けデスクトップ平台の CPU 直結 PCIe レーンでよく見られます。たとえば CPU が一組の &lt;code&gt;x16&lt;/code&gt; Lane を提供する場合、マザーボードメーカーは製品設計に応じて次のように構成できます。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;構成&lt;/th&gt;
          &lt;th&gt;典型的な用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;メインのグラフィックススロット 1 本&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8+x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;グラフィックススロット 2 本&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8+x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;グラフィックススロット 1 本と CPU 直結 M.2 2 本&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Hard Strap の特徴は、安定していて、単純で、低コストなことです。マザーボードメーカーは PCB 設計時点でレーンの行き先を決めるため、ユーザーが後から BIOS で自由に変更できることは通常ありません。&lt;/p&gt;
&lt;p&gt;弱点は柔軟性の低さです。マザーボードの配線が決まってしまうと、PCB を再設計しない限り、&lt;code&gt;x16&lt;/code&gt; 専用として作られたスロットを &lt;code&gt;x4+x4+x4+x4&lt;/code&gt; に変えることはできません。そのため、多くのコンシューマ向けマザーボードでは、CPU が理論上分割に対応していても、BIOS に関連オプションが用意されていないことがあります。&lt;/p&gt;
&lt;p&gt;一般ユーザーにとって重要なのは、PCIe 分割に対応するかどうかは、CPU の仕様だけではなく、まずマザーボード設計を見る必要があるという点です。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://knightli.com/2026/05/02/pcie-bifurcation-modes/image.png&#34;
	width=&#34;1008&#34;
	height=&#34;506&#34;
	srcset=&#34;https://knightli.com/2026/05/02/pcie-bifurcation-modes/image_hu_9da109a68bf2083b.png 480w, https://knightli.com/2026/05/02/pcie-bifurcation-modes/image_hu_ca9e4232e5981219.png 1024w&#34;
	loading=&#34;lazy&#34;
	
		alt=&#34;第12世代CPUの bifurcation&#34;
	
	
		class=&#34;gallery-image&#34; 
		data-flex-grow=&#34;199&#34;
		data-flex-basis=&#34;478px&#34;
	
&gt;&lt;/p&gt;
&lt;h2 id=&#34;方式二soft-strap&#34;&gt;方式二：Soft Strap
&lt;/h2&gt;&lt;p&gt;Soft Strap はソフトウェア設定方式ですが、必ずしも BIOS メニューに表示されるユーザー向けオプションという意味ではありません。多くの場合、この種の設定は BIOS イメージやプラットフォーム記述領域に保存され、マザーボードメーカーが出荷前に設定します。&lt;/p&gt;
&lt;p&gt;チップセット配下の PCIe Root Port では、似た方式がよく使われます。メーカーは実際の配線に合わせて、一部の Root Port を独立した &lt;code&gt;x1&lt;/code&gt; として構成したり、&lt;code&gt;x2&lt;/code&gt; や &lt;code&gt;x4&lt;/code&gt; にまとめたりできます。これらの設定は通常 BIOS イメージ内に固定され、書き込まれた後、プラットフォーム初期化時に有効になります。&lt;/p&gt;
&lt;p&gt;Soft Strap には次の特徴があります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;PCB を変更せずに一部の設定を調整できる。&lt;/li&gt;
&lt;li&gt;設定は通常、初期化の早い段階で有効になる。&lt;/li&gt;
&lt;li&gt;変更後は BIOS の再書き込み、または少なくとも再起動が必要になる。&lt;/li&gt;
&lt;li&gt;ユーザーインターフェースに関連項目が表示されないこともある。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;このため、ハードウェアの見た目が似ているマザーボードでも、BIOS バージョンやメーカー設定によって、PCIe スロット、M.2 スロット、オンボードデバイスの割り当てが異なることがあります。&lt;/p&gt;
&lt;p&gt;ただし Soft Strap も万能ではありません。既存のハードウェア配線が許す範囲でしか調整できず、物理的につながっていないスロットへ Lane を割り当てることはできません。&lt;/p&gt;
&lt;h2 id=&#34;方式三wait-for-bios&#34;&gt;方式三：Wait For BIOS
&lt;/h2&gt;&lt;p&gt;Wait For BIOS は、より柔軟な方式です。プラットフォームは PCIe Training の前に BIOS が関連レジスタを書き込むのを待ち、BIOS が各 Lane グループをどの幅に分けるかを決定します。&lt;/p&gt;
&lt;p&gt;この方式は、拡張性の高いプラットフォームでよく使われます。たとえばワークステーション、サーバー、一部の Xeon プラットフォームです。これらは Lane 数が多く、スロット構成も複雑なため、すべてをハードウェア固定にするとマザーボードの適応性が大きく下がります。&lt;/p&gt;
&lt;p&gt;Wait For BIOS の利点は柔軟性です。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;BIOS が &lt;code&gt;x16&lt;/code&gt;、&lt;code&gt;x8+x8&lt;/code&gt;、&lt;code&gt;x8+x4+x4&lt;/code&gt;、&lt;code&gt;x4+x4+x4+x4&lt;/code&gt; などの選択肢を提供できる。&lt;/li&gt;
&lt;li&gt;同じマザーボードで異なる拡張カードに対応しやすい。&lt;/li&gt;
&lt;li&gt;複数 NVMe 変換カード、PCIe バックプレーン、サーバー用 Riser カードに向いている。&lt;/li&gt;
&lt;li&gt;デバイス数や帯域要件に合わせてユーザーが調整できる。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;代わりに、プラットフォームと BIOS の連携が必要です。CPU またはチップセットが該当する分割方式をサポートし、マザーボード配線がそれに合っており、BIOS も設定を行える必要があります。どれか一つが欠けると、利用可能な bifurcation 設定が見えないことがあります。&lt;/p&gt;
&lt;h2 id=&#34;よくある分割構成&#34;&gt;よくある分割構成
&lt;/h2&gt;&lt;p&gt;対応する組み合わせはプラットフォームによって異なりますが、代表的な分割方式は次のようになります。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://knightli.com/2026/05/02/pcie-bifurcation-modes/pcie-bifurcation-modes.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PCIe bifurcation の代表的な分割方式&#34;
	
	
&gt;&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;元のリンク&lt;/th&gt;
          &lt;th&gt;よくある分割&lt;/th&gt;
          &lt;th&gt;典型的な用途&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;単体グラフィックスカード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x8+x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;2 枚のグラフィックスカード、または GPU と高速拡張カード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x8+x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;GPU と 2 枚の NVMe SSD&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x16&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x4+x4+x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;4 枚用 NVMe 変換カード&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x8&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x4+x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;2 枚の NVMe、または 2 ポート高速拡張&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;&lt;code&gt;x4&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;&lt;code&gt;x2+x2&lt;/code&gt; または複数の &lt;code&gt;x1&lt;/code&gt;&lt;/td&gt;
          &lt;td&gt;やや少ない。プラットフォーム対応次第&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;自作PCでは、1 本の &lt;code&gt;x16&lt;/code&gt; スロットを &lt;code&gt;x4+x4+x4+x4&lt;/code&gt; に分け、4 枚用 M.2 変換カードを使いたい、という需要がよくあります。ここで重要なのは、安価なチップなし変換カードは、スロットを物理的に複数の M.2 へ配線しているだけで、カード自体が PCIe レーンを分割しているわけではないことです。&lt;/p&gt;
&lt;p&gt;マザーボードが &lt;code&gt;x4+x4+x4+x4&lt;/code&gt; に対応していない場合、この種の変換カードでは通常 1 枚目の SSD しか認識されません。bifurcation 非対応のマザーボードで複数ドライブを使いたい場合は、PCIe Switch チップ搭載の拡張カードが必要になりますが、コストはかなり高くなります。&lt;/p&gt;
&lt;h2 id=&#34;bifurcation-と-pcie-switch-の違い&#34;&gt;bifurcation と PCIe Switch の違い
&lt;/h2&gt;&lt;p&gt;bifurcation は、上流にある既存の Lane を複数の下流ポートへ分ける仕組みです。Lane 数を増やすものではなく、割り当て方を変えるだけです。&lt;/p&gt;
&lt;p&gt;PCIe Switch は PCIe 交換チップのようなものです。1 本の上流リンクを複数の下流デバイスへ接続し、システムから複数デバイスとして見えるようにします。こちらも上流帯域を無から増やすわけではありませんが、マザーボードが通道分割に対応していない場合でも複数デバイスを接続できることがあります。&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://knightli.com/2026/05/02/pcie-bifurcation-modes/pcie-switch-vs-bifurcation.svg&#34;
	
	
	
	loading=&#34;lazy&#34;
	
		alt=&#34;PCIe bifurcation と PCIe Switch の比較&#34;
	
	
&gt;&lt;/p&gt;
&lt;p&gt;違いは次のように整理できます。&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;方式&lt;/th&gt;
          &lt;th&gt;マザーボードの bifurcation 対応&lt;/th&gt;
          &lt;th&gt;コスト&lt;/th&gt;
          &lt;th&gt;向いている場面&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;チップなし M.2 変換カード&lt;/td&gt;
          &lt;td&gt;必要&lt;/td&gt;
          &lt;td&gt;低い&lt;/td&gt;
          &lt;td&gt;マザーボードが &lt;code&gt;x4+x4+x4+x4&lt;/code&gt; に対応している&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;PCIe Switch 搭載拡張カード&lt;/td&gt;
          &lt;td&gt;必ずしも必要ではない&lt;/td&gt;
          &lt;td&gt;高い&lt;/td&gt;
          &lt;td&gt;マザーボードは分割非対応だが複数デバイスが必要&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;複数 M.2 拡張カードを買う前に、まずマザーボード BIOS が必要な分割方式に対応しているか確認するべきです。仕様に「PCIe x16 スロット対応」とだけ書かれていても、4 枚の SSD を同時認識できるとは限りません。&lt;/p&gt;
&lt;h2 id=&#34;購入とトラブルシュートのポイント&#34;&gt;購入とトラブルシュートのポイント
&lt;/h2&gt;&lt;p&gt;PCIe bifurcation を使いたい場合は、次の順番で確認すると分かりやすいです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;CPU またはプラットフォームが目的の分割方式に対応しているか確認する。&lt;/li&gt;
&lt;li&gt;マザーボードマニュアルで、対象スロットが &lt;code&gt;x8+x8&lt;/code&gt;、&lt;code&gt;x8+x4+x4&lt;/code&gt;、&lt;code&gt;x4+x4+x4+x4&lt;/code&gt; に対応しているか確認する。&lt;/li&gt;
&lt;li&gt;BIOS に入り、PCIe bifurcation、PCIe lane configuration、slot configuration などの項目があるか確認する。&lt;/li&gt;
&lt;li&gt;拡張カードがチップなし変換カードなのか、PCIe Switch 搭載カードなのか確認する。&lt;/li&gt;
&lt;li&gt;デバイスをすべて挿したとき、M.2、SATA、オンボードLANなどとレーンを共有しないか確認する。&lt;/li&gt;
&lt;li&gt;OS 起動後、ツールで実際のリンク幅とデバイス列挙状態を確認する。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;拡張カードで 1 枚のドライブしか認識されない場合は、まず BIOS の分割設定を確認します。BIOS に関連設定がない場合、ドライバー問題ではなく、マザーボードがその Lane を複数デバイス向けに分けていない可能性が高いです。&lt;/p&gt;
&lt;p&gt;デバイスはすべて認識されるが速度がおかしい場合は、次にリンク Training を確認します。ケーブル、変換カード品質、スロット配線、PCIe 世代、デバイス相性によって、リンクが Gen4 から Gen3、あるいはさらに低い世代へ落ちることがあります。&lt;/p&gt;
&lt;h2 id=&#34;まとめ&#34;&gt;まとめ
&lt;/h2&gt;&lt;p&gt;PCIe bifurcation の本質は、PCIe 初期化の早い段階で Lane の構成を決めることです。Hard Strap はハードウェアで固定し、Soft Strap はプラットフォーム設定を使い、Wait For BIOS はリンク訓練前に BIOS が動的に設定します。&lt;/p&gt;
&lt;p&gt;普通の自作ユーザーにとって重要な結論は 3 つです。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;物理的な &lt;code&gt;x16&lt;/code&gt; スロットが、必ず複数の &lt;code&gt;x4&lt;/code&gt; に分割できるとは限らない。&lt;/li&gt;
&lt;li&gt;チップなし複数 M.2 変換カードは、マザーボードの bifurcation に依存する。&lt;/li&gt;
&lt;li&gt;分割対応は CPU、マザーボード配線、BIOS オプションを合わせて見る必要がある。&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;これを理解しておくと、マザーボード仕様表の &lt;code&gt;x16&lt;/code&gt;、&lt;code&gt;x8+x8&lt;/code&gt;、&lt;code&gt;x4+x4+x4+x4&lt;/code&gt; を、単なるスロット長ではなく、実際の拡張要件を満たせるかどうかの判断材料として読めるようになります。&lt;/p&gt;
</description>
        </item>
        
    </channel>
</rss>
