USBからのUEFI bootでハマる

HDD価格の下落ペースが遅くなって久しい。
前回購入したのは8TBを購入した昨年の7月だが、あれから10ヶ月になろうというのに、10%(1500円)くらいしか下がっていない。

現在ファイルサーバーの空き容量自体は適切なレベルにあるのだが、ファイルの整理をしようとしてディスク間をまたいだ移動をしようとすると、空きが足りなくなることもある。
ZFSは空き容量が極端に減ると動かなくなるので注意が必要だ。

8TB HDDを導入したときに外した4TB HDD(WD40EZRX)があるのだが、SATAインターフェース(M/Bの4個+拡張カード2個)に空きがない。
USB3.0のケースに入れて接続することもできるが、速度はやはりSATA3.0より落ちるのでストレスが溜まる。

もともと4ポートのSATA拡張カードを使っていたのだが、M/B変更の際にPCIe x1スロットになったので、2ポートの拡張カードに買い替えたのだった。
PCIe x1で4ポートのSATA拡張カードってないのかな?

あった。 聞いたことないメーカーだけど、Marvell 88SE9215を使っているなら問題なかろう。

20200504_104341.jpg

AC AX200と一緒に到着した。

20200504_104425.jpg

内容物。

20200504_104437.jpg

コンパクトな基板だが、SATAポートはちゃんと4つある。

デスクトップPCのWiFiモジュールをサクッとAX200を交換してから、ファイルサーバーのSATA拡張カードの交換に取り掛かった。 交換後に電源ONして、しばらく経ってアクセスすると、アクセスできない。

普段はヘッドレスで運用しているので、サーバーに液晶モニタとキーボード/マウスを繋いで確認すると、XigmaNASがブートの途中で固まっている。 Ctrl+Alt+Delも効かない。
HDDの番号が変わって、Jails領域などの位置が変わってしまったのかな?

・拡張カードを外してみる ・・・ ✕(途中で固まる)
・拡張カードを元に戻す ・・・ ✕(途中で固まる)
・すべてのHDDを外す(bootはUSB3.0接続のSSD) ・・・ ✕(途中で固まる)
・LiveCDを焼いて、外付光学ドライブからboot ・・・ ○(boot成功もサーバー運用に向かない)
・LiveCDでbootして、USB3.0接続の SSDに新規で XigmaNAS-x64-embedded(GPT)をインストールする ・・・ ✕(途中で固まる)
・16GBの USB3.0メモリに Win32DiskImagerを使って XigmaNAS-x64-LiveUSB-GPTをインストールする ・・・ ✕(途中で固まる)

などと試行錯誤していたら、とうとう唯一bootできていたLiveCDからの起動も途中で止まってしまった。 もはや万事休すか?

DSC03565.jpg

でも何かおかしいな... LiveCDからbootしたときは、上の写真のようにコンソール画面の文字が小さく表示されていたのが、途中で止まったときはSSDやUSBメモリから起動したときと同じVGA(全画面)表示だった。

ファイルサーバーのM/B(ASRock N3150-ITX)のBIOS(とは言わず、今はUEFIか)画面でbootデバイスの打順を確認すると、1番が USB: Optical deviceで 2番がEFI : Optical deviceになっていた。
UEFIが1番になるように順番を入れ替えて再起動すると、再びLiveCDからbootできるようになった。

そういえばLiveCDからUSBメモリなどへembeddedをインストールするときにも、GPTとEFIとMBRの3種類があった。 インストールオプションはずっと「1 Install‘Embedded’OS/GPT on HDD/SSD/CF/USB(Preferred)」でインストールしていたのだが、あれも影響しているのだろうか?

DSC03558.jpg

LiveCDからUSBメモリに「3 Install Embedded’OS/EFI on HDD/SSD/CF/USB(Preferred)」をインストールして再起動。 UEFI設定画面で UEFI: USB FLASH DRIVEを1番の打順にして Save&Exitすると、XigmaNASが起動した!

DSC03548.jpg

これで一件落着、にしても良かったのだが、UEFIのバージョンがP1.20と古いことに気がついた。

DSC03549.jpg

N3150-ITXの最新のUEFIのバージョンはP2.00だ。
「壊れていないものは直すな」が鉄則ではあるが、あまりにも古すぎるのでアップデートしよう。
ASRockのサイトからInstant Flash用のファイルをダウンロードして解凍し、別のUSBメモリにコピーしてファイルサーバーに挿す。

DSC03550.jpg

UEFIからInstant Flashを実行すると、USBメモリの中のファイルが認識される(exeファイルはDOS版なので関係ない)。

DSC03555.jpg

無事にアップデートが成功したら、再起動する。

DSC03556.jpg

ちゃんとUEFIのバージョンはP2.00になった。
UEFIの設定はリセットされてしまったので、サーバーとして不要なデバイス(シリアルポート、オーディオなど)はDisableにする。

本題から離れたが、なぜ同じデバイスなのにUEFIとUSBの2つのbootデバイスが表示されるのだろうか?

DSC03560.jpg

その答えは Legacy USB Supportが Enableになっていたからのようだ。
これを UEFI Setup Onlyに変更してみた。

DSC03561.jpg

すると Boot Optionには UEFIの方だけが出るようになった。
ついでに HDD Drive BBS Propatiesの中で、すべてのHDDのBootを無効にして Boot Optionに出てこないようにした。

ちなみに交換したSATA拡張カードは何もしなくても認識されている。
既存HDDをインポートして、4TB HDDを追加してSMBで共有設定して作業は完了した。