驚異のマルチブートシステム「Ventoy」についてはこのblogで過去さんざん絶賛してきた。
bluetone2016.hatenablog.com
PCを多数持ち、それが日々増え、ここに最適なOSをテストしながらインストールする作業には絶対必要なアプリである。が、ほぼ無名なまま今日に至る。ほとんどの人にとってOSはプリインストールされているか、または一度インストールすればそれでおしまいだからだ。blog主のように毎月必ずWindows11をクリーンインストールし、あるいは誤過程に週に3台程度新しいPCがやってくるような人間はあまり多くないのだろう。
話は変わるが、blog主のようなタイプの人間が毎日の暮らしでほぼ確実に目にする起動時の画面、それはPXEブート画面だ。
PXEブートはディスクレスでクライアントPCを起動するような場合必ずお世話になるブート手段で、何か目新しいものではない。blog主のようにシンクライアント端末好きからすると垂涎の的とも言えるブート手段である。秋葉原のジャンクに転がっている謎のストレージなし端末はこのPXEブートが前提となっているといっても間違いない。
PXEブートが一般の誤過程であまりなじみがない理由は、DHCPサーバーやファイルサーバーと違って一般の家電販売店にはPXEサーバーが売っていないことに尽きる。全2者はそれぞれルーターという名前、あるいはNASという名前で堂々とヤマダ電機で売られている。ほぼ全家庭でこれらのサーバーは日々稼働しているのだ。だがPXEサービスが自動で走る端末はヤマダ電機では売っていない。
そこで、せっかくどんなPCにもPXEブートの手段が提供されているのだから、自前でPXEサービスを立ち上げたいと思うのが人情である。だがしかし、そういうわけにはいかない。検索して引っかかる記事の大部分はほぼ役に立たないからだ。それらの記事にはほぼすべて「なぜ」の部分が欠落しており、たとえば立ち上げ過程でDHCPサーバを-立ち上げなければならないと書いてあるのだが、ほとんどの環境でDHCPサーバーは稼働しておりIPの競合が予想される。また既存のDHCPサーバーが振るアドレスを利用できないのはなぜか、などの単純な解決策が書かれている記事は、調べたかぎり1本はあったが、ほぼ0。これ解決しないと稼働しないことが予想されるから、記事を書いている人は「誰かに解決してもらっている」環境で無邪気にサービス環境を立ち上げてるんだろうねこれ。記事を読むと何となくそういうことが透けてくる。
ところが、そういっためんどくさい手順をすっ飛ばして、一気に宅内にPXEブート環境を構築するのがこのiVentoyだ!
www.iventoy.com
ventoyのPXEブート版。USBメモリーから起動していたventoyをネットワーク経由で外部サーバーから起動させるというもの。
windows版とlinux版の二種類があり、さらにwindows版は32bit版あり。
インストール不要のため導入は極めて簡単で、基本的には下記手順通りに進めていけば何の問題もなく稼働する。
https://www.iventoy.com/en/doc_start.html
ここに書かれていないポイント:
windows版はMicrosoft Visual C++で書かれているため、先にランタイムライブラリのインストールが必要。Linux版は不要。
learn.microsoft.com
windows版が起動しない場合、ブートさせたいisoファイルに破損や相性などの問題がある場合がある。すべてのisoファイルに対応できるほど完成度が高くないので、その場合は一度isoファイルを削除してからやり直す。
antiXとMXlinuxは例外的なクライアントPCを除いて起動に失敗する。未対応と考えたほうが良い(カーネルパニックを起こして停止するため、停止タイミングにもよるが最悪PCのBIOSまたはUEFIを破壊してPCそのものがおしゃかになる)
PC側はできるだけUEFI起動のほうが良い。レガシーブートもできるが、現行のPXEはUEFIの一部として稼働するため。テスト機のFLORAはUEFIブートができなかったためレガシー起動を行った。ここら辺は各環境で適宜試してほしい。
PXEブートができない場合、UEFIでネットワークスタックを「有効」にし、そこから設定できるようになる「IPv4による起動」を許可する。この項目、見たことはあるけど意味が分からなかった人も多いと思うが、UEFI設定画面での「ネットワークスタック」とは外部ネットワーク環境(IPv4とかIPv6とか)のことを指しており、起動時にこの環境を利用できるようにするかどうかの設定である。PCにそういう名前の特別な機能があるという話ではない。ここかなり表現が不親切だとは思う。
余談:
某知恵袋とか価格とか上から目線で何も知らん奴が適当なことを書いていて驚いた。質問者は「ネットワークスタックを有効にする必要があるか」と聞いてるんだから、ネットワークブートするなら必要、なければ不要、という答えしかないと思うのだがそういう単純または具体的な回答は100近く見たが
「一件もなかった」
某知恵袋や価格に書いてある回答のすべてが「にわかによるでたらめ」という世界だった。近づかないほうが良い。
これとは別に起動にネットワークを利用するかどうかの設定があるUEFIもあるのでこれも有効にしておく。これをしないとPXEブート画面は出るが実際にはブートしないという状況になる。
すでにSSDに別OSをインストールしている場合、PXEブートに失敗してSSD内のOSから起動されて嫌な思いをすることも多いが、これは各々のUEFIごとに設定を変えてやる必要がある。
あとどうしても立ち上がらない場合、UEFIをデフォルト設定に戻してほしい。たいていはここで引っかかっている。
気が付く範囲ではこんなところ。初回起動時に緑のボタンを押してサービスを開始してやらなければならないことだけ忘れずに。
テスト環境ではLMDE6シナモンは各クライアントPC上で100発100中で起動した。相性が良いものと思える。
テスト環境
サーバー側 windows11(中華N100PC)とantiX23.1(日立FLORA Se210 RK4)
クライアント側 たくさん
日々SSDの高速化とOSの起動時間の短縮という課題に取り組んでいると(趣味でね)、ネットワーク経由の起動なんて遅すぎて使い物ににならないと先入観で否定してしまいがちだが、iVentoyによるisoメディアの遠隔起動はローカルのUSBと遜色ないどころか、実際には軽量高速である場合すらある。NASの普及でローカルの巨大なストレージが消えて行って久しいが、いよいよ本格的なディスクレスPCの世界がやってきた。
諸君、今が未来だ!
感想:
ローカルのUSBから起動したときよりクライアントPCが軽い。。。USBそのものの負荷がOSの動作に与える影響って低スペックPCでは無視できないことを改めて実感した。。。