ほとんどのベンダーは最近、EFI
ファイルのセット( example )としてのみサーバーのファームウェアアップデートを提供しています。ただし、サーバーの内部(および外部)IP-KVMは、ブート仮想メディアとしてISO
イメージのみを接続できます。その仮想メディアでは、リモートファームウェアフラッシュは不可能です。
ほとんどの場合、サーバーはリモートであり、物理的にサーバーにアクセスしてUSB
スティックをフラッシュファームウェアの更新に挿入することはできません。ファームウェアの更新は、プロセス全体を高速化するためにもリモートでなければなりません。問題は、起動可能なEFI
からフラッシュファームウェアの更新まで、 これらの のようなISO
ファイルをどのように起動できるかです。
おそらく、レディソリューションは存在しません。自分で作りたいです。しかし、最初はグーグルで何も見つかりませんでした。開始のためのいくつかのマニュアルなどのポイントが必要です。このファイルをISO
に配置する方法があるのかもしれませんが、このファイルはEFI
にアクセスして起動できますか?
ビルドLinux
のISO
ソリューションが欲しい。
以下のソリューションは、仮想マシンのLinux Mint 19 64に実装されています。
必要なツール
GParted –パーティションを管理するためのGUIツール。これは通常、Live Linux CD/DVDで入手できます。ディスクの最後に空き領域がない場合は、サイズを変更して小さなFATパーティションを作成する必要があります。既存のパーティションが使用中の場合、パーティションで機能するためには、Live Linux CD/DVDからGPartedを呼び出す必要がある場合があります。
genisoimage-ISOを管理するコマンドラインツール。これが利用できない場合は、インストールしてください。これはLinux Mint 19 64ビットですぐに利用できました
Sudo apt-get install genisoimage
ステップ1 – GPartedを使用して(できればLive Linux CD/DVDから起動します。この場合は、Live Linux Mint 19 64ビットを使用しました)、ディスクの最後に小さなFAT16フォーマットのパーティションを作成します。この特定のケースでは、100MBで十分です。そのような小さいサイズの場合、フォーマットがFAT32ではなくFAT16であることを確認してください。
手順2-必要なファイルを解凍して、このFATフォーマットのパーティションにコピーします。 Linuxでは、デフォルトのGUIファイルエクスプローラーを使用するだけです。個別のgzipコマンドは不要
ステップ3 –このパーティションのイメージを作成します。ここでのコマンドは
dd if=/dev/sda3 of=/home/test/efi/fat.img
上記の例では/dev/sda3
は、ファイルを保持するFATフォーマットのパーティションであり、/home/test/efi/fat.img
は生成された画像ファイルです。
ステップ4-次に、EFIブータブルISOを作成します。ここでは、ファイル自体が必ずしも起動可能であるとは限りません。
genisoimage -v -J -r -V "TEST" \
-o /home/test/myiso.iso \
-eltorito-alt-boot \
-e fat.img \
-no-emul-boot \
/home/test/efi
上記のコマンドでは、BIOSブートローダーを省略し、代替のEFIブートローダーのみを使用しています。 /home/test/myiso.iso
は、作成中の新しいISOファイルです/home/test/efi
はソースファイルの場所です。そのため、ブートローダーイメージ以外は何もありません。
これでISOがLinux Box上に作成されました。 ISOをCDドライブとしてマウントし、UEFIシステムをEFIシェルで起動します。これで、ブートローダーセクションがEFIシェルのドライブにマッピングされ、その内容と共にフォルダーを保持するその中のイメージにEFIシェルからアクセスできるようになります。
私があなたの質問を最もよく理解していることに基づいて、Windows 64ビットオペレーティングシステムで以下のツールを使用して解決策を提案します。
手順
上記のソフトウェアをWindows OSにダウンロードしてインストールします。
最初にimdisk_toolkitを使用して仮想ディスクを作成し、ドライブ文字にマウントします。ディスクをFATファイルシステムにフォーマットします。ファイルサイズが40 MB未満になることはほとんどないため、約50〜60 MBのディスクで十分です。
EFIファイル、フラッシュファイル、スクリプトなどのファイルの内容をその仮想ドライブにコピーします。
同じアプリ内から、仮想ドライブの.imgファイルを作成して保存します。
仮想ドライブをマウント解除します。ジョブのこの部分は完了しました。
次に、Power ISOを開き、新しい空のISOコンテナーを作成します。
メニューアクションに移動します->ブート->ブート情報の追加
前に作成した.IMGファイルを選択します。
これでISOファイルは仮想的に起動可能になります(ファイル自体がブートローダーではないため実際には起動しませんが、ブートファイルとしてFATコンテナーを作成します)。
ファイルを.ISOとして保存し、CD/DVDに書き込みます。
このブートローダーFATコンテナーは、EFIシェルでアクセス可能で、EFIシェルでアクセス可能なドライブとしてそれ自体をマウントする必要があります。
これを仮想マシンでテストしました。これが実際のハードウェアで期待どおりに機能することを願っています。
おそらく、ファームウェアの更新をPXEブートイメージとしてビルドできます(ただし、再フラッシュループに陥らないように注意する必要があります)。 EFIを備えたほとんどのサーバーは、必要に応じてPXE BIOSブートにフォールバックすることもできます。
IP-KVMデバイスでUSBディスクを接続できる場合は、「イメージ」を接続するだけでブートできます。
より適切な方法は、実際に完全に起動したOSからサーバーをフラッシュすることです(一部の製造元は、これを行うためのOS固有のユーティリティを提供しています)。
最後に、一部のサーバーベンダーは[〜#〜] sum [〜#〜]の追加料金を請求し、サーバーのBIOSをネットワーク経由で(IPMIなどを介して)フラッシュできるようにします。そのシナリオ...
ブータブルISO以外のソリューションもありますが、構築するには多少の作業が必要です。選択するソリューションは、製造元とオペレーティングシステムに関するリモートコンピューターの性質に大きく依存します。
すべて同じメーカーのコンピューターの場合、ほとんどの大手メーカーがデータセンターの管理を目的とした製品を提供していますが、そのほとんどは無料です。それがあなたの場合、ここにいくつかのリンクがあります:
Windowsでは、PowerShellを使用してBIOSを更新できます。最初に、必要なファイルをリモートコンピューターにプッシュする必要があります。そのようなスクリプトの例は次のとおりです。
すべてのソリューションは調査とテストを必要としますが、どれも簡単ではなく、完全に保証されるものでもありません。