30.2.2. EFI の PXE ブートの設定
- tftp-server がインストールされていない場合は、yum install tftp-server を実行します。
/etc/xinetd.d/tftp
の tftp-server 設定ファイルで、disable
パラメーターをyes
からno
に変更します。- EFI ブートイメージの
tftpboot
内にディレクトリーを作成し、それらをブートディレクトリーからコピーします。この例では、pxelinux
というサブディレクトリーに名前を付けますが、その他の名前を使用することもできます。mkdir /var/lib/tftpboot/pxelinux cp /boot/efi/EFI/redhat/grub.efi /var/lib/tftpboot/pxelinux/bootx64.efi
- GRUB に同梱されている EFI ブートイメージを使用するように DHCP サーバーを設定します。(DHCP サーバーがインストールされていない場合は、Red Hat Enterprise Linux デプロイメントガイド の 『DHCP』 サーバーの章を参照してください。)
/etc/dhcp/dhcpd.conf
の設定例を以下に示します。option space PXE; option PXE.mtftp-ip code 1 = ip-address; option PXE.mtftp-cport code 2 = unsigned integer 16; option PXE.mtftp-sport code 3 = unsigned integer 16; option PXE.mtftp-tmout code 4 = unsigned integer 8; option PXE.mtftp-delay code 5 = unsigned integer 8; option arch code 93 = unsigned integer 16; # RFC4578 subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.254; range 10.0.0.2 10.0.0.253; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 10.0.0.1; if option arch = 00:06 { filename "pxelinux/bootia32.efi"; } else if option arch = 00:07 { filename "pxelinux/bootx64.efi"; } else { filename "pxelinux/pxelinux.0"; } } host example-ia32 { hardware ethernet XX:YY:ZZ:11:22:33; fixed-address 10.0.0.2; } }
- 設定ファイルを
/var/lib/tftpboot/pxelinux
に追加します。ファイルの名前はefidefault
または IP アドレスの後に名前を付け、区切り文字なしで 16 進数形式に変換する必要があります。たとえば、マシンの IP アドレスが 10.0.0.1 の場合、ファイル名は0A000001
になります。/var/lib/tftpboot/pxelinux/efidefault
にある設定ファイルの例を以下に示します。default=0 timeout=1 splashimage=(nd)/splash.xpm.gz hiddenmenu title RHEL root (nd) kernel /rhel6/vmlinuz initrd /rhel6/initrd.img
インストールソースを指定する方法については、を参照してください。 「追加の起動オプション」 - スプラッシュイメージを tftp の root ディレクトリーにコピーします。
cp /boot/grub/splash.xpm.gz /var/lib/tftpboot/pxelinux/splash.xpm.gz
- 起動イメージを tftp の root ディレクトリーにコピーします。
cp /path/to/x86_64/os/images/pxeboot/{vmlinuz,initrd.img} /var/lib/tftpboot/pxelinux/rhel6/
- クライアントシステムを起動し、プロンプトが表示されたら、ブートデバイスとしてネットワークデバイスを選択します。