PXEブートサーバーを使用してUbuntu仮想マシンをインストールするにはどうすればよいですか?
すべての構成の詳細と構成ファイルの変更内容が必要です。
Wikipedia:PXE を参照してください
これは私の理解です!
PXE(クライアント側)は、IPの要求をブロードキャストします。 DHCPサーバーが必要な情報を返信します。IP、Next Server IP(TFTPサーバーIP)、pxelinux.0
(PXE bootstrap loader file name)、... etc
PXE(クライアント側)はpxelinux.0
ファイルをTFTPサーバーに要求し、RAMにロードしてから、制御をpxelinux.0
に渡します。
pxelinux.0
は、TFTPサーバーから次の名前のブート構成ファイルを取得します。
(存在しない場合は、次で試行します)
default
ファイルにドロップしますユーザー選択またはデフォルトのメニューエントリ。 pxelinux.0
は、対応するカーネルとRAMDiskをTFTPサーバーに要求し、RAMにロードします。
次に、ブートパラメータと制御をロードされたカーネルに渡します。
カーネルは、その機能/プロパティに応じて、TFTPサーバーまたはその他のプロトコルサーバーから残りの部分を読み込みます。
PXEサーバーをセットアップするには多くの方法がありますが、これはそのうちの1つです。
これらの手順は、Ubuntu 9.10&Ubuntu 10.04でテストされました。それらはまだ有効であるはずであり、変更はわずかです。 (VirtualBox上のUbuntu 14.04で更新およびテスト済み。古いリリースの編集リビジョンを確認してください)
私のターゲットはPartedMagic 4.5でした。これはUbuntuまたはLinuxディストリビューションに似ているはずです。
DHCPおよびTFTPパッケージをインストールする
Sudo apt-get install isc-dhcp-server openbsd-inetd lftp tftpd-hpa syslinux
DHCPセットアップ
編集/etc/default/isc-dhcp-server
、DHCPサービスのイーサネットインターフェイス
INTERFACES="eth0"
/etc/dhcp/dhcpd.conf
または/etc/ltsp/dhcpd.conf
が存在する場合、DHCPサービスの構成を編集します
PXE固有の構成:filename
&next-server
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.50 192.168.10.100;
option subnet-mask 255.255.255.0;
option routers 192.168.10.123;
option broadcast-address 192.168.10.255;
filename "pxelinux.0";
next-server 192.168.10.123;
}
私の場合、デスクトップエディションのネットワークマネージャーまたはサーバーエディションのeth0
を使用して、192.168.10.123
、/etc/network/interfaces
の静的IPを設定します。
auto eth0
iface eth0 inet static
address 192.168.10.123
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
ネットワークインターフェイスを再初期化します。
Sudo ifdown eth0
Sudo ifup eth0
サービスを再開する
Sudo service isc-dhcp-server restart
ステータスを確認する
netstat -lu
出力
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:bootpc *:*
TFTPセットアップ
/etc/inetd.conf
を編集し、tftp
行の先頭から#<off>#
を削除するか、#:BOOT:
コメントの下にない場合は追加します。 (systemd、15.10以降でこれをスキップします)
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
inetd
のブートサービスを有効にする
Sudo update-inetd --enable BOOT
サービスを開始
Sudo service openbsd-inetd restart
Sudo service tftpd-hpa restart
ステータスを確認する
netstat -lu
出力
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 *:tftp *:*
PXEブートファイルのセットアップ
pmagic-pxe-4.5.Zip
を解凍します。 pxelinux.0
が存在しない場合は、sysliux-common
、 Syslinux Project または buntu Netboot Image にインストールされている/usr/lib/syslinux/pxelinux.0
パッケージから取得します。
それらを同様の構造に配置します。
/var/lib/tftpboot/
|-- pxelinux.0
|-- pxelinux.cfg/
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
必要に応じて/var/lib/tftpboot/pxelinux.cfg/default
を編集します。パスの例:pmagic/bzimage
&pmagic/initramfs
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 Prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
正しい許可を設定する
Sudo find /var/lib/tftpboot -type f -exec chmod 644 {} \;
Sudo find /var/lib/tftpboot -type d -exec chmod 755 {} \;
次を使用してBIOSのブート順序を1回変更します F9 または F12、BIOS構成からの永続的なセットアップ用 DEL、F2 または F12。 (マシンのブランドによって異なります)
一番上に移動:[PXE | NIC | LAN | Ethernet | Network]
。
inetutils-inetd
の代わりにopenbsd-inetd
またはxinetd
を使用できます。一部のinetd
ステップは異なります。
TFTPルートディレクトリは/etc/default/tftpd-hpa
から変更できます。 /etc/inetd.conf
も更新することを忘れないでください。
多くのディストリビューションは、SSH(SFTP)、SMB、NFSなどの多くのプロトコルを介したRAMDiskのロードをサポートしています。例UbuntuはNFSをサポートしています。
一部の古いネットワークカードはPXEをサポートしていません。 iPXE ( 例:gPXEまたはEtherboot )は、フロッピーディスク、USBドライブ、ハードディスク(/boot
パーティション)またはROMにフラッシュします(ごく少数のNICのみがサポートされます)。 GRUB2には、PXEを使用した起動をサポートするモジュールがあります。
Wikipedia:gPXE および ROM-O-matic も参照してください。
cdimage.ubuntu.com/netboot/ からのUbuntu Netboot Imageは、ネットワークからUbuntuをインストールし、公式ミラーまたはローカルミラー(ある場合)から必要なパッケージをすべてダウンロードするよう要求します。
ほとんどのユーザーは、PXEからライブイメージを起動することを探しています。この質問は、PXEサーバーをセットアップするためだけのものでした。 buntu Wiki:インストール-LocalNet を参照してください
PXEメニューはカスタマイズできます。学習するのに最適なテンプレートは buntu NetBoot です。 Pxeboot Multiple image を参照してください
memdisk
は、PXEを介してISOまたはフロッピーディスクイメージを直接読み込むために使用できます。 syslinux-common
パッケージにはコピーがあります。クライアントには、イメージと、ロードされたOSを実行するための部分を保持するのに十分なRAMが必要です。
構成例:
/var/lib/tftpboot/
|-- FDSTD.144
|-- memdisk
|-- pxelinux.0
|-- slitaz-cooking.iso
|-- pxelinux.cfg
| `-- default
`-- pmagic/
|-- bzimage
`-- initramfs
/pxelinux.cfg/default
DEFAULT partmagic
LABEL partmagic
MENU LABEL PartMagic 4.5
KERNEL pmagic/bzimage
APPEND initrd=pmagic/initramfs edd=off noapic load_ramdisk=1 Prompt_ramdisk=0 rw vga=791 sleep=10 loglevel=0 keymap=us livemedia
LABEL slitaz
MENU LABEL ^Slitaz.iso
TEXT HELP
Testing boot from iso.
ENDTEXT
KERNEL memdisk
APPEND initrd=slitaz-cooking.iso
LABEL freedos_std
MENU LABEL ^FreeDOS STD
TEXT HELP
Testing boot from Floppy IMG.
ENDTEXT
KERNEL memdisk
APPEND initrd=FDSTD.144
元の開発者が商用化することを決定した後、PartedMagicパッケージは公式サイトから削除されました。ここでの私の答えは、私のために働いた最初のPXEセットアップの履歴書です。 buntu Netboot Image は同じ手順で動作するはずです。