web-dev-qa-db-ja.com

ネットワーク経由でISOから起動することは可能ですか?

起動可能なISOが格納されているマシンと、ISOをインストールする別の空のマシンがあります。どちらも同じLAN上にあります(同じスイッチに接続されています)。プライマリコンピューターに保存されているISOから空のマシンを起動するにはどうすればよいですか?

31

ISOイメージからpxeブートする手段が必要だと思います。少し検索して この記事を見つけました 。私はあなたが持っているかもしれないどんなブート可能なISOイメージでもこの方法がうまくいくはずだと私は信じています。 これは別の同様の記事です

最後に、 この記事 は、Windowsから実行するPXE(Pre-boot eXecution Environment)サーバーからこれを行う方法について説明しているようです。

11
James T Snell

はい、それは非常に可能です。起動できるシステムのタイプは、システムの動作方法によって異なります。

通常、非常に単純なシステム(DOSまたはWin98など)と非常に複雑なシステム(最近のLinuxディストリビューションと同様)は、ネットワーク経由で簡単に起動できます。

2つのタイプのシステムでこれを達成する方法は非常に異なります。

両方の方法をさらに詳しく見てみましょう。 [〜#〜] pxe [〜#〜]bootserversetup ;そうしない場合は、先に進んでそれを実行すると、非常に簡単です。

Linuxサーバーでのdnsmasqセットアップも想定しており、tftprootが/var/lib/tftpboot、ただし、他のセットアップに指示を適合させることができるはずです。

単純なシステムの場合

単純なシステムの場合は、イメージ(ISO)をRAMにロードし、システムをだまして、実際の単位であると信じ込ませます。これは、BIOSおよび memdisk と呼ばれるソフトウェアモジュールの助けを借りて行われます。

ネットワーク経由でロードするシステムはfreedosです。

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

Prompt 0
TIMEOUT 0

MENU DEFAULT freedos

LABEL freedos
MENU LABEL FreeDOS
KERNEL /syslinux/memdisk
INITRD /freedos.iso iso

それだけです。最初の数行はメニューのボイラープレートです。重要なビットは最後の4行です。指定されたISOでmemdiskをロードします。

複雑なシステムの場合

優れたメモリ管理や適切なハードウェア検出などの豪華な機能を備えた最新のシステムは、BIOSの発言をほとんど無視します。

これにより、上記で使用したmemdiskアプローチがほとんど役に立たなくなります。ISOをそのようにロードした場合、カーネルがISOから読み取られてメモリにロードされると(これはISOのブートローダーによって行われます。ブートローダーはBIOSに注意してください)、ISOデータが失われます。

だったらどうしようか?まあ、実際にはネットワークからISOをロードするのではなく、そこから必要なファイルにアクセスできることをシステムに伝えます。

Linuxシステムの場合は、tftprootのどこかにISOコンテンツを抽出し、カーネルとinitrdを直接ロードしてから、それらのファイルをそのままにして、ルートファイルシステムを見つけてマウントします。

これは驚くべき System Rescue CD を使用した例です。 ISO全体を実際にTFTPサーバーのルートに抽出しました。これは、ISOがディレクトリ構造にぴったり合うため、カーネルが/syslinux

# /var/lib/tftpboot/pxelinux.cfg/default
UI vesamenu.c32

Prompt 0
TIMEOUT 0

MENU DEFAULT sysrescd64

LABEL sysrescd64
MENU LABEL 1) SysResCD 4.2.0 (x64)
KERNEL /syslinux/rescue64
APPEND setkmap=us nomodeset netboot=nbd://pxe:sysrcd.dat
INITRD /syslinux/initram.igz

ここで最も重要なビットはAPPEND行です。 netboot= 最後に?これが、OSがルートファイルシステムの場所を認識する方法です。構文は<protocol>://<server>:<path>

サーバーにDNS名pxeを設定しておくと便利です。それがない場合は、サーバーのIPアドレスを使用します。

また、sysresccdはルートファイルシステムにsquashfsイメージを使用するため、最も簡単な方法の1つです。これは、簡単にダウンロードしてRAMに任意の方法でロードできます。ここではnbdを使用しています。また、 tftp、nfs、http を使用します。

Ubuntuのような他のディストリビューションの場合、私は nfsしか使用できないと思います。

Windowsシステムの場合、 やや複雑です 。概要は次のとおりです。

  • サーバーの共有フォルダーにWindows 7をインストールする
  • TFTPルートのサーバーに完全なWindows PE環境がある
  • クライアントマシンにネットワーク経由でWinPEをロードさせ、 F12 コマンドプロンプトを取得する
  • Windows 7インストールの共有フォルダーをドライブ文字にマッピングする
  • マップされたフォルダからインストールを開始します

私はこれを試したことがないので、一部の人にはうまくいかないようです。 Vistaより古いNTバージョンでは、それは不可能だと思います。 NTより前のWindows(95、98、MEなど)の場合、memdiskアプローチを使用できますが、それらを起動することは健康に悪い:-p

5
GnP

ltimate Deployment Appliance は、必要なものを提供します。彼らのホームページはその機能を説明しています。便宜上、ここで再フォーマットされています。


Ultimate Deployment Applianceとは何ですか?

  • ネットワーク設定による数分での無人OSインストール(Windows、Linux、ESX、Solaris)!
  • お気に入りのリカバリ/システムメンテナンスツールをネットワーク経由で公開してください!
  • PXEブート、リモートインストールサービス、キックスタート、ジャンプスタート、Autoyastが同梱!

いつこれを使用しますか?

  • CDROMドライブはないがネットワークカードはあるシステムをインストールしようとしているとき(最近の超薄型ラップトップなどには光学ドライブがない)
  • さまざまなハードウェアにオペレーティングシステムをインストールする必要がある場合。
  • システムをインストールする必要があり、物事を自動化して再現可能にしたい場合。
  • 友達の家に行って彼/彼女のコンピューターを修理するとき、あなたは準備したいです。不要なものをすべて削除する代わりに、最初からやり直すこともできます。自分のシステム(ラップトップ?)を持ってきて、クロスケーブルでめちゃくちゃになったシステムに接続し、システムを最初から完全に無人で再インストールします。冷蔵庫に向かいます...
  • ライブCDのスタックを持ち歩く必要なしに、システムのメンテナンスを行う必要がある場合。
  • 市販品に多額のお金を払わずにこれをしたいとき。

どのように機能しますか?

  • 無人インストールアプライアンスは、お気に入りのオペレーティングシステムの配布でisoファイルをマウントし、必要な(ネットワーク)ブートファイルをインポートします。自動インストール用のデフォルト設定ファイルを作成し、ネットワークブート用のオペレーティングシステム配布ファイルのホスティングを開始します。
  • システムツールパブリッシングライブCDおよびその他のツールは完全にUltimate Deploymentアプライアンスにインポートされ、PXEを介してネットワーク経由で起動するためにパブリッシュされます。

DAにはYouTubeチャンネルがあります 、それらのビデオがあります 例としてWindows 7のインストール UDA内のセットアップから完全にインストールされたWindowsに。

3
JavaRocky

この研究を拡張したい場合は、この仕事のためのさまざまなツールを提案します。

2
Bossliaw