UEFI での dnsmasq による PXE boot ネットワークブート設定
魔術師です。ラズパイによる PXE サーバーを使ってのネットワークブートを設定しています。レガシーな BIOS モードでの起動設定は前からしているのですが、UEFI モードでの設定がされていないのがずっと気になっていました。tftp サーバー上をディレクトリ分けして BIOS でのブートローダーと UEFI でのブートローダーを分けて配置することで同居を狙いました。Lenovo ThinkPad X270 でネットワーク・ブートのテストしていたけど、どうしても起動出来ませんでした。会社から支給されている DELL Latitude 3590 に替えて起動テストしてみると。何と、あっさり起動するではないですか。ネットワークブートメニューいろいろなリカバリーメディアを使ってネットワークブートするようにしています。歴代 Acronis True Image シリーズAcronis Disk Director Home 12.5EaseUS Todo BackupEaseUS Partition Master ProEaseUS Disk Copy ProAOMEI Backupper ProAOMEI Partiton Assistant ProfessionalMinitool Partiton Wizard Pro(一応入れてるけどライセンスが切れているの使わないかも)Macrium Reflect Freegparted-live昔は 86系の Linux サーバーもあったのでTurbolinux と CentOS のインストールディスクの 1枚目からも起動出来るようにしてリカバリーモードで立ち上がるようにもしていました。現在は CentOS6 と CentOS7 を入れてますがどちらもサポート切れになるので外すべきかも知れません。ThinkPad の問題だったのか~ラズパイ側の dnsmasq の DHCP 設定や TFTP 設定に問題があるかと思っていたけど問題なくて設定出来ていたことが判ってスッキリしました。まあ ThinkPad X270 でもネットワークブート設定を BIOS モードにすれば問題なく立ち上がるので大丈夫か。dnsmasq の設定で DHCP の PXE ブート関連を抜き出しました。# クライアントのアーキテクチャに応じてタグをセットし# タグ設定でレガシー BIOS、UEFI 32bit、UEFI 64bit に応じたパスからのブートローダー読み出しを振り分ける設定==========dhcp-match=set:bios,option:client-arch,0dhcp-match=set:efi-ia32,option:client-arch,6dhcp-match=set:efi-x86_64,option:client-arch,7dhcp-match=set:efi-x86_64,option:client-arch,9#dhcp-boot=tag:efi-x86_64, efi64/syslinux.efi, TFTP_SERVER_IP_ADDRESSdhcp-boot=tag:efi-ia32, efi32/syslinux.efi, TFTP_SERVER_IP_ADDRESSdhcp-boot=tag:bios, bios/pxelinux.0, TFTP_SERVER_IP_ADDRESS#enable-tftptftp-root=/srv/tftpd/pxeboot==========必要なファイルを配置syslinux-common/usr/lib/syslinux/modules/bios/*/usr/lib/syslinux/modules/efi32/*/usr/lib/syslinux/modules/efi64/*pxelinux/usr/lib/PXELINUX/lpxelinux.0/usr/lib/PXELINUX/pxelinux.0syslinux-efi/usr/lib/SYSLINUX.EFI/efi32/syslinux.efi/usr/lib/SYSLINUX.EFI/efi64/syslinux.efitftp root にアーキテクチャ毎のファイル配置/srv/tftpd/pxeboot/bios/srv/tftpd/pxeboot/efi32/srv/tftpd/pxeboot/efi64/srv/tftpd/pxeboot/pxelinux.cfg のリンクを作る/srv/tftpd/pxeboot/bios/pxelinux.cfg -> ../pxelinux.cfg/srv/tftpd/pxeboot/efi32/pxelinux.cfg -> ../pxelinux.cfg/srv/tftpd/pxeboot/efi64/pxelinux.cfg -> ../pxelinux.cfg起動時に読み出される設定ファイル/srv/tftpd/pxeboot/pxelinux.cfg/defaultメニューの設定 (一部抜粋)default vesamenu.c32prompt 0timeout 120menu title === PXE Boot Menu ===menu tabmsg Please Select a Numberlabel TI2021menu label ^1 Acronis True Image 2021kernel ::ti2021/kernel.datappend rw initrd=::ti2021/initrd.dat force_modules=usbhid quiet/srv/tftpd/pxeboot/ の下に各ツール毎のディレクトリを掘って保存しています。読み込むファイルの先頭に "::" を付けていますが、デフォルトがブートローダーを読み込んだパスからの読み出しになってしまい上記 True Image 2021 では /srv/tftpd/pxeboot/bios/ti2021/srv/tftpd/pxeboot/efi32/ti2021/srv/tftpd/pxeboot/efi464/ti2021と配置するかリンクを張る必要が出て来ますが “::” と指定すれば tftp-root 設定された /srv/tftpd/pxeboot/ti2021 を参照できます。自作 PCAMD Ryzen 5 で組めば安いな、6コア 12スレッドか 8コア 16スレッドならマザーも一世代前のゲーミング用なんて叩き売りだし一世代前と言っても Zen2/3 両対応だし PCIe 3.0 x4 だし充分かとM.2 スロットは当たり前にあるしモノによって USB3.2 Gen2 10Gbps ポートが標準で付いてるしストレージやメモリーの値段はどうしても容量次第だけど、要求が高いので高く付く(笑)けれど 5万もあれば組めるんだよね。だけどグラボは割合的に高く占めるゲームしないから GPU は要らないけど音や動画のエンコードに GPU で高速処理をさせるのはありかも知れない。AMD の内蔵でもいいけどね。6コアでこれなら安いね【送料無料】 AMD Ryzen 5 3600 CPU 3.6GHz 6コア 65W別宅マシンも古くなったので中身を入れ替えるか?そうすればケースと電源とストレージはまかなえるので 5万以下で新しいマシンが組めるかな?ケースも 3000円からあるけどね。この前の MiniPC も 2万5千円でしたがその +α で新品が組めたんだよね、それも最新式の CPU で。そんなことをするとメインマシンにしたくなってしまうよ。Intel を凌駕して人気の Ryzen ですからね、速いでしょうね。パートナーの2回目のワクチンの副反応は、また昨日微熱が出ていたようです、なかなか収まりませんね、心配です。長らく買い物に出てないので食料の在庫がありません。買い物に行こうにも天気が悪いし、今夜はどうしよう。考えましょう。人気記事の一覧のあるトップへ楽天のサービス紹介ページへ飛ぶ星影の魔術師に応援のクリックをポチッとお願いします。 皆さんの、協力に感謝しています。