Nikki!

べんぞーのひとりごとさいと

IvyBridge世代パソコンでM.2 SSD(NVMe)をOSブートさせる方法

次期主力ストレージとして何かと話題に上がるM.2 SSDですが、ひょんなことからSamsungのSM951を手に入れてしまったため、新たにOSを入れてみることにしました。

ちなみにぼくの環境はIvyBridge(Z77)世代なのですが、ご存知Intelチップセットとしての正式サポートは3世代先のSkylake(Z170)世代のため、当然のように対応しておりません!ですからM2スロットもありません!ガハハやったな!!!
Ryzenも発売され、対応メモリもDDR4が標準となった今、どう考えても今買い替えなければいつ買い換えるんだと言う話なのですが、ここはパソコンの大先生の本懐として(※単にお金がない)挑戦してみることにしました。

この2017年に果たして需要があるのかさっぱりわからないけれど、どうやら日本語の成功エントリも全然なく、また海外の成功例もほぼ皆無だったため、一応備忘録代わりに書き残しておきたいと思います。


まず、筆者の環境は下記の通りとなっていました。

【前環境】
OS :Windows10 Pro 64bit
CPU:Core i7 3770
M/B:ASUS P8H77-V
STR:Samsung 840PRO 128GB×2(RAID 0
Mem:DDR3-1600 32GB
VGAnVidia GeForce GTX960

【新環境】(変更点は緑)
OS :Windows10 Pro 64bit
CPU:Core i7 3770
M/B:ASRock Z77 Extreme6
STR:Samsung SM951(MZVPV256HDGL-00000)256GB
Mem:DDR3-1600 32GB
VGAnVidia GeForce GTX960


最初軽く調べたところ、Ivy世代ではASRockのZ77 Extreme4/6のみが最新のベータBIOSで対応しているとの情報があったのですが、残念ながらZ77 Extreme6の最新Bios(2.80E)ではまったく起動することが出来ませんでした。

qwerty.work

海外のフォーラムや日本の某掲示板などでも成功報告がひとつも無かった(そもそもブートコードが含まれてもいないらしい?)ため、ひょっとするとこれは予め起動用な独自ドライバを配布しているIntel 750シリーズを想定したBiosなのかもしれません・・・。また、Z77 Extreme4でも同様に成功例がまったく見当たらなかったため、要するにIvy世代で公式にメーカーが対応したBIOS皆無であると言えるのではないかと思います。


筆者は最初公式で対応表明が行われていた事からも完全にインストールをナメきっていたのですが、完全に安物買いの銭失いの大馬鹿者となりかけてしまったため、血眼になって深夜から朝まで5時間ほどググったところ、BIOSを書き換えれば大丈夫との情報が。

www.win-raid.com


要するにこの通りにBIOSを書き換えれば大丈夫なのですが、リンク先のフォーラムは英語で記述されているため、一応補足的に記述しておきたいと思います。



※注意※
下記手順は手動によるMOD BIOSの作成手順のため、失敗するとマザボが飛んで最悪そのままゴミ箱行きとなります。
発生した想定外の事象について筆者は何ら責任を負いませんのですべて自己責任で行ってください。


1.準備

・メーカーより最新のBiosを準備する
 筆者の場合はASRockのホームページより最新のベータBios(2.80E)を使用して書き換えを行いました。

UEFIToolをダウンロードする

・NVMe BIOSモジュールをダウンロードする
説明先ではuncompressed版、pre-compressed版、pure版と3つくらいあって悩むところではあるのですが、筆者の場合は一番上の「>uncompressed NvmExpressDxE_2 module GUID 9A4713C2<」を用いてすんなり成功しました。使用するBiosによってケースバイケースだと思いますのでよく読んで色々試してみましょう。

・上記3つのファイルを同一ディレクトリに入れる

2.BIOS書き換え作業

・UEFIToolを起動する
 起動後、File→Open image fileよりBIOSを選択します。(リストに出てこない場合はAll filesで選択して問題ないです)
 ASRockのBIOSの場合はそのまま選択して中身が展開出来ちゃいましたが、別のメーカーだとすんなり行かない可能性もあるかも。

・DXE Driverの記載位置を検索する
 Ctrl+Fで文字検索ウィンドウが出てきますのでTextタブの項目で「DXE」で検索します。検索すると大量にHitしますが、Subtypeの項目に「DXE driver」と記述された箇所が固まって見つかればひとまずOKです。

・subtype:DXE Driverの書いてある行でPciExpress関係の記述位置を探す
 元記事では「PcieLaneDXE」と記載されていますが、おそらくこの辺りはチップセットにより異なる可能性があるかと思います。筆者のExtreme6にはありませんでした。
 そのため、フィーリングでそれっぽい行を探す必要があります。


 
 筆者のZ77 Extreme6では「PciExpressDxe」と言う項目が存在していたため、この行でよしとする事にしました。

・NVMe Biosモジュールを挿入する
 先程見つけた該当行で右クリック→Insert after...よりBiosモジュールを挿入します。上手く行けば下記の通りに挿入されるはずです。

・保存する
 ちゃんと挿入されている事が確認されたら保存を行いファイルを閉じます。もしこの段階でエラーが発生した場合、挿入したNVMe Biosモジュールが対応していない可能性がありますので別のBiosモジュールをDLしてやり直してみてください。

・改造したMOD BIOSマザボに投入する
 ね?簡単でしょ?

3.OSをインストールする

改造したBIOSを投入すれば無事OSがインストール→起動出来るようになりますが、インストールにあたっての注意点は下記となります。
・MOD BIOSを組み込んでも最初BIOS上ではNVMeストレージは認識しない
 OSインストール後にWindows Boot Managerとして認識されるようになるので大丈夫です。

・必ずOSセットアップ時はUEFIモードで起動し、GPTパーティションでインストールする
 Legacyモードで起動しないよう注意してください。ディスクのフォーマット時には念押しでdiskpartからconvert gptで手動フォーマットをしても良いかも。

・インストール時には各社配布しているNVMeドライバを組み込む
 Windows10の場合はMSの標準ドライバでもNVMeに対応しているため何もせずとも認識されるはずですが、念押しで組み込んでみても良いかもしれません。
 なお、Samsungドライバはセットアップ形式でしか配布していなかったため、この辺からダウンロードしました。

www.win-raid.com

自己責任で組み込んでみても良いかも。

・上手く行かない場合はBIOSSATAストレージ設定もAHCIモードになっているか確認する

・更に上手く行かなかったらこの辺を頑張って読んで見直す
How To Install Windows On A PCIe SSD - ASRock Forums - Page 1

祈ります


と言うことでぼくはこんな感じで出来ましたのでぜひ参考にしてみてください。
ここまで熟読すればおわかりかと思いますが、おそらくこの方式ですとZ77以外、例えばH77等のIvy世代に限らずともSandyBridge世代、更にはそれ以前の世代でもブート出来るような気がします。また他OS等で検証等は行っていないですが、おそらくUEFIブートに対応したOSであれば応用も利くのではないかと。

PCI Express 3.0に対応したのがIvy世代からである事や、チップセットに搭載されているPCIEレーン数等を鑑みるとそれほどまでに前の世代で起動させる事自体に果たしてメリットがあるのかと言う気もしないでもないですが、頭のおかしいチャレンジャーの方はぜひ色々挑戦してみてください。