PXEを使用してネットワーク起動ユーティリティディスクを設定する方法
Ubuntu LiveCDをネットワークブートする方法を説明しました。この記事では、他のユーティリティをネットワーク起動可能にする方法を説明します。これにより、使用している可能性がある他のユーティリティの手順を再現するための知識が得られます。.
注意: この記事は初心者を対象としていません。!
Steve Jurvetsonによるイメージ
概要
このガイドはあなたがPXEableになるためにあなたがユーティリティを変換することができるようになるであろうツールをあなたに与えることを目的としています。残念ながら、太陽の下でツールを変換することは不可能ですが、少なくとも試していなければオタクにはなりません。.
「How To Network Boot(PXE)The Ubuntu LiveCD」ガイドに述べられているように、もしあなたがまだUbuntuをトラブルシューティング、診断、救済措置ツールの「目的地」として使っていないのなら、何を待っているのですか。?
そうは言っても、Ubuntu LiveCD内では単純にできないこと(BIOSのアップグレードなど)があること、またはすでに別のツールを使用していて、何らかの理由で使用し続けることを認識しておく必要があります。.
推奨事項、前提条件および前提条件
- 「ネットワークブート(PXE)とは何ですか?またどのように使用できますか?」のガイドで説明したように、既にFOGサーバーをセットアップしていることを前提としています。.
- 「VIM」プログラムがエディタとして使用されているのがわかります。これは主に、Linuxプラットフォームで広く使用されているためです。あなたが望む他のエディタを使用することができます.
- 他のユーティリティコレクションとは異なり、Ultimate Boot CD(UBCD)が例として使用されています。ダウンロードは無料で、バンドルされているプログラムは無料で使用できます。.
なぜPXEよりもISOを使わないのか?
これは、PXEingについて話すときによく寄せられる最初の質問です。簡単な答えは、技術的にはISOイメージをクライアントマシンにPXEすることは可能ですが、ほとんどの場合、そのISOの内容は、物理CD-ROMドライブでそれ自体の物理的表現にアクセスできることを期待することです。したがって、このISOの内容がどうであろうと、クライアントマシンの物理CD-ROMドライブで「起動後セクタ」ファイルを探すことを試みますが、それらを見つけることはできません。 失敗します 起動する.
この問題を解決する2つの方法は以下のとおりです。
- ISOを書き込み、クライアントマシンのCD-ROMドライブに入れます - シンプルながら, ではない CDを使うことは、まさしく私たちが避けようとしていることです…
- ISOを開き、その中でのプログラムの動作方法を変更して、CD-ROMを使用するようにします。 ドライバ これはISOをRAMで探す方法を知っています - かなり複雑で、あらゆる種類の起動プログラムで異なります。 I.E. Linux、WinPE、またはUBCDが同じ手順ではない.
上記の両方が「ただISOを使用する」という目標を破るので、これが我々がこの努力を追求することを勧めない理由です.
カーネル法
非常にまれですが、起動しようとしているプログラムが機能するのに必要なのはカーネルだけです。この典型的な例は“ memtest86 +”です。 MemtestはほとんどのLinuxディストリビューションのインストールCDとFOGにバンドルされています。 Memtestはテストされたハードウェアの最も基本的な機能と通信することができることだけが必要であるので、I.E。メモリ(RAM)で動作しているハードウェアを完全にサポートしなくても問題なく動作することができます(IE、タイプ、速度などがわからなくてもメモリをテストします)。何も必要ありません。それ以外の場合、完全に自律的に作業できます.
memtestのPXEメニュー項目は、次のように単純に見えます。
LABEL Run Memtest86+
カーネルフォグ/ memtest / memtest
追加する -
この例では、「LABEL Run Memtest86 +」はエントリの名前を設定し、「kernel fog / memtest / memtest」はPXElinuxにクライアントに送信されるカーネルの場所を指示し、「append - 」は無視するようPXElinuxに指示します。 * inheritanceからの追加の起動オプション.
*注意:あなたの設定によっては、これは必須ではなく、実際にはFOGでは使用されていません。.
Kernel + Initrdメソッド
この方法は、最も一般的に使用されており、次の2つの理由で広く普及しています。
- 今日、多くのユーティリティがLinuxの世界から来ています.
- Linuxは優れたハードウェアサポートを持ち、自由に使用できるので、Linuxが独自のプログラムを構築するための優れた基盤であることをますます多くの企業が認識しています。.
例としてUBCDのCPUstressユーティリティを使用しましょう。.
UBCDファイル構造では、このユーティリティは「ubcd / boot / cpustress」ディレクトリにあります。探しているファイルは、「カーネル」である「bzImage」、および「初期RAMディスク」である「initrd.gz」です。私たちが作成したFOGセットアップを使用している場合は、「/ tftpboot / howtogeek / utils」の下のディレクトリをコピーすることをお勧めします。それが終わったら、“ / tftpboot / howtogeek / menu / utils.cfg”ファイルを編集し、それにUBCDのメニューエントリにあるブートエントリを追加します。これは“ ubcd / menu / syslinux / cpu.cfg”にあります。 FOG設定を調整すると、メニューエントリは次のようになります。
MENU LABEL StressCPU V2.0(SSEを搭載したCPUが必要です)
テキストヘルプ
あなたが過熱していないことを確認するためにあなたのCPUを拷問テストします
問題があります。 SSEを搭載したx86 CPUが必要です。の特別なバージョンを実行します
SSEと通常の組み立て説明書を組み合わせたGromacsのインナーループ
可能な限りあなたのCPU.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
APPENDルート= / dev / ram0 ramdisk_size = 12000 noapic ubcdcmd = stresscpu2
どこで:
- MENU LABEL - エントリの名前を設定します
- TEXT HELP - このオプションの指示文は、選択されたエントリに関する情報を提供するためにメニューに表示されるヘルプテキストを与えます。.
- KERNEL - TFTPDディレクトリ内の「カーネル」ファイルの場所を指定します.
- INITRD - “ initrd”ファイルについてのみ上記と同じ.
- APPEND - 起動したプログラムに渡す必要がある追加のパラメータを指定します.
注意すべき点がいくつかあります。
- ハードコアオタクは、我々がオリジナルの "LINUX"の指示を "KERNEL"に置き換えたことに気づくでしょう。これは、次の理由によるものです。A.これにより、例が読みやすくなります。 B.この例では、実際には関係ありません。.
とは言っても、通常は "LINUX"というディレクティブを使用する場合は、カーネルを使用しているのではなくLinuxを使用していることをpxelinux / syslinuxに伝えるので、そのままにしておくことをお勧めします。. - 我々は意図的に「静かな」ディレクティブを添付のパラメータから取り除きました。これは、最近のバージョンでSyslinuxが「quiet」パラメータを処理する方法が変更されたためです。.
- 付属のパラメータ「ubcdcmd」を変更するだけで、「StressCPU」プログラムの動作を変更できます。したがって、他の機能を使用するには、エントリをコピーして「stresscpu2」を次のように置き換えるだけです。cpuinfo、cpuburn、またはmprime24.
これは非常に単純な例ですが、うまくいくには十分なはずです。.
Kernel + Initrd + NFSメソッド
この方法は、「How To Network Boot(PXE)The Ubuntu LiveCD」ガイドで使用したものです。この方法は、前の方法を基にしており、一部のLinuxディストリビューションではNFSからマウントされた「ルートファイルシステム」をサポートしているという事実を利用しています。 Ubuntuガイドは素晴らしい例ですが、近いうちにもう1つ計画されていることを確認してください。 「黒いキノコに目を向けてください」.
MEMDISKメソッド
MEMDISKはSyslinuxパッケージと一緒に配布されるユーティリティです。このユーティリティの目的は、イメージを使って「ディスク」(主にフロッピーを指す)をエミュレートできるようにすることです。このユーティリティが動作する方法は、フロッピードライブ(A.K.A. Interrupt handler)と通信する方法を指定し、そしてMEMDISKプログラムによって処理される新しい場所を指すRAMの場所にフックすることです。この方法では、「カーネル」はMEMDISKユーティリティで、「initrd」はフロッピーイメージ(.img)ファイルです。.
注意すべきことは、FOGにはそれが使用するpxelinux.0バージョンと互換性のある「memdisk」バージョンが付属しているということです。したがって、「img」ファイルに付随する「memdisk」ファイルをそのソースからコピーしないことをお勧めします。.
通常のユーティリティやBootCDでもこの方法はすでに広く使われているので、ほとんどの場合、BootCD上の「IMG」ファイルを見つけてそれをPXEのサーバのTFTPDディレクトリにコピーし、ISOlinuxメニューエントリをPXElinuxメニュー.
彼らは「話は安い」と言っているので、UBCDのMEMDISKメソッドを使用するユーティリティの1つをPXEから機能させるためにどのように適応できるかを見てみましょう。.
TestMemIVユーティリティは、UBCDファイル構造の「ubcd / images / testmem4.img.gz」にあります。 memdiskディスクユーティリティをすでに持っているので、「img」ファイルを「howtogeek / utils /」ディレクトリにコピーするだけで済みます。 FOG設定を調整すると、メニューエントリは次のようになります。
メニューラベルTestMemIV
テキストヘルプ
システムメモリとNvidiaビデオカードのメモリをテストします。.
ENDTEXT
LINUXメモディスク
INITRD howtogeek / utils / testmem4.img.gz
これはUBCDの自己完結型フロッピーイメージファイルの例ですが、他のほとんどのUBCDプログラムでは、同じ基本イメージを使用して作業を開始し(fdubcd.img.gz)、付属の「ubcdcmd」パラメータを使用してプログラムを自動起動します。 CDROMポストブート。つまり、大きなリバースエンジニアリングをしなければ、ほとんどのユーティリティをネットワークから起動できるように変換することはできません。このようなリバースエンジニアリングは(ここで見られるように)可能であり優れたオタクの練習ですが、それはこのガイドの範囲を超えています.
上記で、あなたは今その難解なOEM診断またはBIOSアップグレードユーティリティのためにこの手順を実行するためのツールを持っています.
それで、血のゲートウェイを越えて、そして火の殿堂を越えてロックされて、Valorは光の英雄が目覚めるのを待っています…