จากพื้นหลังการบู๊ตแบบดั้งเดิม ฉันเคยสามารถจัดเตรียมการกำหนดค่าการเริ่ม/การบูตเฉพาะเซิร์ฟเวอร์ตามที่อยู่ MAC โดยการสร้าง /pxelinux.cfg/01-MAC-ที่อยู่
ไฟล์.
ฉันกำลังพยายามทำสิ่งที่คล้ายกันกับการบูต UEFI และไม่สามารถหาวิธีทำให้เซิร์ฟเวอร์ใช้การกำหนดค่าเฉพาะได้ (เช่น ISO เฉพาะหรือไฟล์ข้อมูลผู้ใช้ตามที่ระบุใน grub.cfg
).
ฉันได้ตั้งค่าเซิร์ฟเวอร์ PXE/TFTP/Apache แล้ว โดยส่วนใหญ่ทำตามคำแนะนำในโพสต์ที่ยอดเยี่ยมนี้: https://askubuntu.com/a/1235724/1094816.
ทุกอย่างทำงานได้ดีและระบบก็รับ grub.cfg
ไฟล์ตามที่คาดไว้
อย่างไรก็ตาม เมื่อฉันใช้ไฟล์ grub เฉพาะระบบ (เช่น /tfpt/grub/grub.cfg-01-ec-eb-b8-92-44-70
) จะถูกละเว้น
แม้ว่าสิ่งนี้จะอยู่ใน ด้วงเอกสารเมื่อดูเอกสารหลายฉบับที่ฉันเคยเห็น ฉันสงสัยว่ามันเป็นตัวเลือกเฉพาะของ Fedora และอนุพันธ์ตาม grubx64.efi ที่บรรจุมาด้วยหรือไม่
และถ้าเป็นเช่นนั้น อะไรคือวิธีการทำสิ่งนี้ให้สำเร็จด้วย Ubuntu+UEFI?
การตั้งค่าปัจจุบันของฉัน:
ฉันใช้ dnsmasq, tftp และ apache2 บน Ubuntu 20.04
ฉันพยายามติดตั้งเซิร์ฟเวอร์ Ubuntu 20.04 โดยอัตโนมัติ
โครงสร้างไดเรกทอรี:
/tftp/
/tftp/grub/grubx64.efi
/tftp/grub/grub.cfg-01-ec-eb-b8-92-44-70
/tftp/grub/grub.cfg
/tftp/initrd
/tftp/pxelinux.0
/tftp/vmlinuz
เนื้อหาของ /etc/dnsmasq.conf
:
อินเทอร์เฟซ=enp1s0,แท้จริง
เชื่อมต่ออินเทอร์เฟซ
โดเมน=โพไซดอน.แล็บ
dhcp-ช่วง=10.50.129.100,10.50.129.200,255.255.255.0,2h
dhcp-option=3,10.50.129.1
dhcp-ตัวเลือก=6,10.50.128.20
เซิร์ฟเวอร์=10.50.128.20
dhcp-boot=pxelinux.0
เปิดใช้งาน-tftp
tftp-root=/tftp
dhcp-mac=set:efi-x86_64,ec:eb:b8:92:44:70
dhcp-boot=tag:efi-x86_64,grub/grubx64.efi
เนื้อหาของ grub.cfg-01-MAC-ADDRESS:
ตั้งค่าเริ่มต้น = อัตโนมัติ
ตั้งหมดเวลา = 10
เมนูรายการ 'Ubuntu 20.04' --id=auto {
ลินุกซ์ /vmlinuz ip=dhcp url=http://${pxe_default_server}/tftp/ubuntu-20.04-live-server-amd64.iso ติดตั้งอัตโนมัติเงียบ ds=nocloud-net\;s=http://${pxe_default_server}/ tftp/01-mac-address/ root=/dev/ram0 cloud-config-url=/dev/null
initrd/initrd
}