web-dev-qa-db-ja.com

PXEブート.IMGおよび.DDイメージ

私は多くのフォーラム投稿を読みましたが、それでもPXEブートイメージファイルを読むことができません。

usb-image.ddは私の画像ファイルです。 USBスティックを使用する代わりに、PXEを使用してライブLinuxを起動したいと思います。

DEFAULT menu.c32
Prompt 0
timeout 300

MENU TITLE PXE Menu

LABEL memtest86
 MENU LABEL Memtest86+ 5.01
 KERNEL /memtest/memtest86+-5.01

LABEL Live Linux
 MENU LABEL Live Linux test
 KERNEL memdisk
 APPEND initrd=/test/usb-image.dd

PXEメニューは機能していて、Memtest86 +を起動できますが、Live Linuxテストが失敗し、理由がわかりません。メニューは即座にリロードされます。

私はUbuntu 16.04 LTSを使用しています。

どうすればいいですか?

編集1:私のusb-image.ddに関する情報。

user@PXE-server:/var/lib/tftpboot/test$ fdisk -l usb-image.dd
Disk usb-image.dd: 3 GiB, 3270508544 bytes, 6387712 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 597F78FB-1090-4C9B-A779-1DC99DDAC259

Laite           Start   Loppu Sektorit  Size Tyyppi
usb-image.dd1    2048  450559   448512  219M EFI System
usb-image.dd2  450560 6371327  5920768  2,8G Microsoft basic data
usb-image.dd3 6371328 6385663    14336    7M Linux filesystem

編集2:

メニューを無効にすると、エラーメッセージが表示されました。

Loading /test/usb-image.dd...failed: Bad file number
2
JPX

まず最初に、memdiskが実際にTFTPサーバーに存在し、クライアントに提供できることを確認します。それは魔法の呼び出しではありません、memdiskはsyslinuxの独立したコンポーネントです。

次に、この方法でISOをロードするには、通常、 memdiskカーネルに追加のパラメーターを渡す 、具体的には「iso」パラメーターと「raw」パラメーターも必要です。以下を試してください:

KERNEL memdisk
INITRD /test/usb-image.dd
APPEND iso raw

イメージがisohybridイメージ(おそらくUSBスティックからロードするためのもの)であり、したがってMBRがある場合は、おそらく ハードディスクとして扱う も可能です。

KERNEL memdisk
INITRD /test/usb-image.dd
APPEND harddisk

3番目に、TFTPは非常に非効率的であり、大きなファイル(Linux LiveUSBのイメージは確かにそうです)の提供を必ずしもサポートしない可能性があることを考慮してください。 TFTPサーバーでブロックサイズネゴシエーションがサポートされていない場合、32MBを超えるものは処理できません。これをサポートしていない実装、または古いバージョンの実装を使用している可能性があります。代わりに、pxelinuxを lpxelinux バリアントに置き換えることを検討してください。これは、HTTP経由での追加リソースのロードをサポートし、Webサーバーからカーネル/イメージファイルを提供します。かなり速くなります。

KERNEL http://webserver.mydomain/memdisk
INITRD http://webserver.mydomain/test/usb-image.dd
APPEND harddisk
2
Carcer