<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>NVMe on KnightLiブログ</title>
        <link>https://www.knightli.com/ja/tags/nvme/</link>
        <description>Recent content in NVMe 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://www.knightli.com/ja/tags/nvme/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>TerraMaster F2-220 に fnOS を導入：F3 Backplane、NVMe、BIOS モジュール注入</title>
        <link>https://www.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://www.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>
        
    </channel>
</rss>
