วิธีการตั้งค่าดิสก์ยูทิลิตี้สำหรับเน็ตเวิร์กที่สามารถบู๊ตได้โดยใช้ PXE
เราได้แสดงให้คุณเห็นวิธีการเครือข่ายในการบูต Ubuntu LiveCD ในบทความนี้เราจะแสดงวิธีการทำให้เครือข่ายยูทิลิตี้อื่น ๆ ที่สามารถบูตได้ซึ่งจะให้ความรู้ในการทำซ้ำขั้นตอนสำหรับยูทิลิตี้อื่น ๆ ที่คุณอาจใช้.
บันทึก: บทความนี้ไม่ได้มุ่งที่ผู้เริ่มต้นแม้ว่าคุณจะยินดีที่จะอ่าน!
รูปภาพโดย Steve Jurvetson
ภาพรวม
คู่มือนี้มีวัตถุประสงค์เพื่อมอบเครื่องมือที่คุณสามารถแปลงสาธารณูปโภคเป็น PXEable ในขณะที่น่าเสียดายที่มันเป็นไปไม่ได้ที่จะแปลงเครื่องมือใด ๆ ภายใต้ดวงอาทิตย์เราจะไม่พูดเกินจริงหากเราไม่ได้ลองอย่างน้อย.
ตามที่กล่าวไว้ในคู่มือ“ วิธีการบูตเครือข่าย (PXE) คู่มือ Ubuntu LiveCD” หากคุณยังไม่ได้ใช้ Ubuntu เป็นอันดับหนึ่ง“ ไปที่” เพื่อแก้ไขปัญหาการวินิจฉัยและเครื่องมือขั้นตอนช่วยเหลือคุณจะรออะไรอีก?
จากที่กล่าวมาเราต้องยอมรับว่ามีสิ่งต่าง ๆ ที่ไม่สามารถทำได้ภายใน Ubuntu LiveCD (เช่นการอัพเกรด BIOS) หรือว่าคุณกำลังใช้เครื่องมืออื่นที่คุณชอบอยู่แล้วและอยากจะใช้ต่อไปไม่ว่าด้วยเหตุผลใด.
ข้อแนะนำข้อสันนิษฐานและข้อกำหนดเบื้องต้น
- สันนิษฐานว่าคุณได้ตั้งค่าเซิร์ฟเวอร์ FOG แล้วตามที่อธิบายไว้ในคู่มือ“ What Is Booting (PXE) และคุณจะใช้งานได้อย่างไร”.
- คุณจะเห็นโปรแกรม“ VIM” ที่ใช้เป็นตัวแก้ไขส่วนใหญ่เป็นเพราะมันมีอยู่ในแพลตฟอร์ม Linux คุณสามารถใช้โปรแกรมแก้ไขอื่น ๆ ที่คุณต้องการ.
- Ultimate Boot CD (UBCD) ถูกใช้เป็นตัวอย่างซึ่งแตกต่างจากคอลเลกชันยูทิลิตี้อื่น ๆ บางอย่างมันสามารถดาวน์โหลดได้ฟรีและโปรแกรมที่รวมไว้ใช้งานได้ฟรี.
ทำไมไม่ใช้เพียง ISO มากกว่า PXE?
นี่เป็นคำถามแรกที่ถามบ่อยเมื่อพูดถึง PXEing คำตอบสั้น ๆ คือในขณะที่ในทางเทคนิคแล้วมันเป็นไปได้ที่จะนำภาพ ISO และ PXE ไปยังเครื่องไคลเอนต์ซึ่งเนื้อหาของ ISO นั้นเกือบทุกครั้งจะคาดหวังว่าจะมีการรวมตัวกันทางกายภาพของตัวเองในไดรฟ์ซีดีรอมทางกายภาพ ดังนั้นเนื้อหาของ ISO ที่กล่าวมาอาจจะพยายามค้นหาไฟล์“ post boot-sector” ในไดรฟ์ CDROM จริงของเครื่องไคลเอนต์จะไม่พบพวกเขาและ ล้มเหลว เพื่อบูต.
สองวิธีในการแก้ไขปัญหานี้คือ:
- เบิร์น ISO และนำไปไว้ในไดรฟ์ CDROM ของเครื่องไคลเอนต์ - ง่าย ๆ, ไม่ การใช้ซีดีเป็นสิ่งที่เราพยายามหลีกเลี่ยง ...
- เปิด ISO และเปลี่ยนวิธีการทำงานของโปรแกรมภายในเพื่อให้ใช้ CDROM คนขับรถ ที่รู้วิธีค้นหา ISO ใน RAM - ค่อนข้างซับซ้อนและแตกต่างกันไปสำหรับโปรแกรมที่สามารถบู๊ตได้ทุกประเภท I.E. ไม่ใช่ขั้นตอนเดียวกันสำหรับ Linux, WinPE หรือ UBCD เพื่อพูดถึงบางอย่าง.
ในฐานะที่เป็นทั้งสองข้างต้นเอาชนะเป้าหมายของ“ เพียงแค่ใช้ ISO” นี่คือเหตุผลที่เราไม่แนะนำให้ใช้ความพยายามนี้.
กระบวนการเคอร์เนล
ในขณะที่หายากมากบางครั้งโปรแกรมที่คุณพยายามบูตอาจต้องใช้เคอร์เนลในการทำงาน ตัวอย่างหนึ่งของสิ่งนี้คือ“ memtest86 +” Memtest มาพร้อมกับซีดีการติดตั้งดิสทริบิวชันส่วนใหญ่และ FOG ในฐานะที่เป็น Memtest จะต้องสามารถสื่อสารกับความสามารถขั้นพื้นฐานที่สุดของการทดสอบฮาร์ดแวร์ I.E หน่วยความจำ (RAM) และสามารถทำงานได้ดีโดยไม่ต้องรองรับฮาร์ดแวร์ที่ทำงานอยู่ (IE จะทดสอบหน่วยความจำแม้ว่าจะไม่ทราบว่าเป็นประเภทความเร็ว & ฯลฯ ') ก็ไม่จำเป็นต้องมีอะไรเลย อื่นและสามารถทำงานได้อย่างอิสระอย่างสมบูรณ์.
รายการเมนู PXE สำหรับ memtest อาจดูง่ายเหมือน:
LABEL เรียกใช้ Memtest86+
เคอร์เนล Fog / memtest / memtest
ผนวก -
ในตัวอย่างนี้“ LABEL Run Memtest86 +“ ตั้งชื่อของรายการ“ เคอร์เนล Fog / memtest / memtest” จะบอก PXElinux ว่าจะใช้เคอร์เนลที่จะส่งไปยังไคลเอ็นต์จากที่ใดและ“ ผนวก -“ บอก PXElinux ให้ละเว้น ตัวเลือกการบูตเพิ่มเติมจากการสืบทอด *.
* หมายเหตุ: ขึ้นอยู่กับการตั้งค่าของคุณสิ่งนี้อาจไม่จำเป็นต้องใช้และจริง ๆ แล้วไม่ได้ใช้ใน FOG.
กระบวนการเคอร์เนล + เริ่มต้น
วิธีนี้เป็นวิธีที่ใช้กันอย่างแพร่หลายและแพร่หลายอย่างกว้างขวางด้วยเหตุผลสองประการ:
- ทุกวันนี้มีสาธารณูปโภคมากมายมาจากโลกของ Linux.
- เนื่องจาก Linux มีการสนับสนุนฮาร์ดแวร์ที่ยอดเยี่ยมและมีอิสระในการใช้งาน บริษัท จำนวนมากขึ้นจึงตระหนักว่า Linux เป็นฐานที่ยอดเยี่ยมในการสร้างโปรแกรมที่เป็นกรรมสิทธิ์ของพวกเขาบน.
ให้ใช้ยูทิลิตี CPUstress ของ UBCD เป็นตัวอย่าง.
ในโครงสร้างไฟล์ UBCD ยูทิลิตี้นี้จะอยู่ในไดเรกทอรี“ ubcd / boot / cpustress” ไฟล์ที่เรากำลังค้นหาเรียกว่า“ bzImage” ซึ่งเป็น“ เคอร์เนล” และ“ initrd.gz” ซึ่งเป็น“ ดิสก์เริ่มต้น RAM” หากคุณใช้การตั้งค่า FOG ที่เราสร้างขึ้นเราขอแนะนำให้คุณคัดลอกไดเรกทอรีภายใต้“ / tftpboot / howtogeek / utils” เมื่อเสร็จแล้วให้แก้ไขไฟล์“ /tftpboot/howtogeek/menus/utils.cfg” และเพิ่มเข้าไปในรายการบูตที่พบในรายการเมนูของ UBCD สามารถพบได้ใน“ ubcd / เมนู / syslinux / cpu.cfg” ด้วยการปรับสำหรับการตั้งค่า FOG รายการเมนูควรมีลักษณะดังนี้:
MENU LABEL StressCPU V2.0 (ต้องใช้ CPU ที่มี SSE)
TEXT ช่วยเหลือ
ทรมานทดสอบ CPU ของคุณเพื่อให้แน่ใจว่าคุณไม่มีความร้อนสูงเกินไป
ปัญหาที่เกิดขึ้น ต้องการซีพียู x86 ที่ติดตั้ง SSE ดำเนินการรุ่นพิเศษของ
Gromacs Innerloops ที่ผสม SSE และคำแนะนำการประกอบปกติเข้ากับความร้อน
CPU ของคุณให้มากที่สุด.
ENDTEXT
KERNEL howtogeek / utils / cpustress / bzImage
INITRD howtogeek / utils / cpustress / initrd.gz
ผนวก root = / dev / ram0 ramdisk_size = 12,000 noapic ubcdcmd = stresscpu2
ที่ไหน:
- MENU LABEL - ตั้งชื่อของรายการ
- TEXT HELP - คำสั่งเพิ่มเติมนี้ให้ข้อความช่วยเหลือที่จะแสดงในเมนูเพื่อให้ข้อมูลเกี่ยวกับรายการที่เลือก.
- KERNEL - ระบุตำแหน่งของไฟล์“ เคอร์เนล” ในไดเรกทอรี TFTPD.
- INITRD - เหมือนข้างบนเฉพาะสำหรับไฟล์“ initrd”.
- ผนวก - ระบุพารามิเตอร์เพิ่มเติมที่ควรส่งผ่านไปยังโปรแกรมที่บู๊ตแล้ว.
สองสิ่งที่ควรทราบคือ:
- geeks ไม่ยอมใครง่ายๆจะสังเกตเห็นว่าเราเปลี่ยนคำสั่งดั้งเดิมของ "LINUX" ด้วย "KERNEL" นี่เป็นเพราะ: A. สิ่งนี้ทำให้ตัวอย่างง่ายต่อการอ่าน B. ในตัวอย่างนี้มันไม่สำคัญเลย.
ด้วยที่กล่าวว่าโดยปกติเมื่อมีการใช้คำสั่ง "LINUX" จะดีกว่าที่จะปล่อยให้เป็นเช่นนั้นเพราะมันบอก pxelinux / syslinux ว่าเราไม่ได้ใช้เพียงเคอร์เนลใด ๆ แต่เป็น Linux. - เราได้นำคำสั่ง“ เงียบ” ออกจากพารามิเตอร์ที่ต่อท้ายโดยเจตนา นี่คือสาเหตุที่การเปลี่ยนแปลงในวิธีที่ Syslinux จัดการกับพารามิเตอร์ "เงียบ" ในรุ่นล่าสุด.
- เป็นไปได้ที่จะเปลี่ยนการทำงานของโปรแกรม“ StressCPU” เพียงแค่เปลี่ยนพารามิเตอร์ที่ต่อท้าย“ ubcdcmd” ดังนั้นเพื่อที่จะใช้ฟังก์ชั่นอื่น ๆ เราต้องการเพียงแค่คัดลอกรายการและแทนที่“ stresscpu2” เป็น: cpuinfo, cpuburn หรือ mprime24.
ในขณะที่นี่เป็นตัวอย่างง่ายๆมันควรจะเพียงพอที่จะให้คุณไป.
กระบวนการเคอร์เนล + Initrd + NFS
วิธีนี้เป็นวิธีที่เราใช้ในคู่มือ“ How To Network Boot (PXE) Ubuntu LiveCD” เมธอดนี้สร้างบนก่อนหน้านี้และใช้ประโยชน์จากความจริงที่ว่าลีนุกซ์บางรุ่นรองรับการติดตั้ง“ ระบบไฟล์รูท” จาก NFS คู่มือ Ubuntu เป็นตัวอย่างที่ยอดเยี่ยม แต่โปรดมั่นใจว่าเรามีแผนที่วางไว้แล้วสำหรับอนาคตอันใกล้ “ อย่าลืมเปิด Black Mushroom”.
วิธีการ MEMDISK
MEMDISK เป็นโปรแกรมอรรถประโยชน์ที่แจกจ่ายกับแพ็คเกจ Syslinux วัตถุประสงค์ของยูทิลิตี้นี้คือเพื่อให้คุณเลียนแบบ“ ดิสก์” (ส่วนใหญ่อ้างอิงถึงฟล้อปปี้) โดยใช้อิมเมจ วิธีที่ยูทิลิตี้นี้ใช้งานได้คือเชื่อมต่อไปยังตำแหน่งใน RAM ที่ระบุวิธีการสื่อสารกับฟลอปปี้ไดรฟ์ (A.K.A. Interrupt handler) และชี้ไปยังตำแหน่งใหม่ที่จัดการโดยโปรแกรม MEMDISK ด้วยวิธีการนี้“ เคอร์เนล” คือยูทิลิตี้ MEMDISK และ“ initrd” เป็นไฟล์ฟลอปปี้อิมเมจ (.img).
สิ่งหนึ่งที่ควรทราบคือ FOG นั้นมาพร้อมกับรุ่น "memdisk" ที่เข้ากันได้กับรุ่น pxelinux.0 ที่ใช้ ดังนั้นจึงไม่แนะนำให้คัดลอกไฟล์“ memdisk” ที่มาพร้อมกับไฟล์“ img” จากแหล่งที่มา.
เนื่องจากวิธีการนี้ใช้กันอย่างแพร่หลายแม้สำหรับยูทิลิตี้ปกติและ BootCDs ส่วนใหญ่แล้วมันเป็นเรื่องง่าย ๆ ในการค้นหาไฟล์“ IMG” บน BootCD คัดลอกไปยังไดเรกทอรี TFTPD ของเซิร์ฟเวอร์ PXE และคัดลอกรายการเมนู ISOlinux ไปที่ เมนู PXElinux.
พวกเขาบอกว่า“ พูดคุยราคาถูก” ดังนั้นให้เรามาดูกันว่าเราจะปรับใช้หนึ่งในโปรแกรมอรรถประโยชน์ที่ใช้วิธี MEMDISK จาก UBCD เพื่อทำงานจาก PXE ได้อย่างไร.
ยูทิลิตี้ TestMemIV สามารถพบได้ในโครงสร้างไฟล์ UBCD ที่“ ubcd / images / testmem4.img.gz” เนื่องจากเรามียูทิลิตี memdisk disk อยู่แล้วเราเพียงต้องการคัดลอกไฟล์“ img” ไปยังไดเรกทอรี“ howtogeek / utils /” ด้วยการปรับสำหรับการตั้งค่า FOG รายการเมนูควรมีลักษณะดังนี้:
MENU LABEL TestMemIV
TEXT ช่วยเหลือ
ทดสอบหน่วยความจำระบบและหน่วยความจำในการ์ดวิดีโอของ Nvidia.
ENDTEXT
LINUX memdisk
INITRD howtogeek / utils / testmem4.img.gz
ในขณะที่นี่เป็นตัวอย่างของไฟล์ภาพฟลอปปี้ที่มีอยู่ในตัวเองจาก UBCD ส่วนใหญ่ของโปรแกรม UBCD อื่น ๆ ใช้ภาพฐานเดียวกันเพื่อเริ่มทำงาน (fdubcd.img.gz) และใช้พารามิเตอร์ผนวก "ubcdcmd" เพื่อเริ่มต้นโปรแกรมโดยอัตโนมัติ การบูตหลัง CDROM ซึ่งหมายความว่าคุณจะไม่สามารถแปลงยูทิลิตี้ส่วนใหญ่ของพวกเขาให้เป็นเครือข่ายที่สามารถบูตได้โดยไม่ต้องมีวิศวกรรมย้อนกลับหลัก ในขณะที่วิศวกรรมย้อนกลับเป็นไปได้ (ดังที่เห็นได้จากที่นี่) และเป็นการออกกำลังกายที่ยอดเยี่ยมมันเกินขอบเขตของคู่มือนี้.
จากที่กล่าวมาข้างต้นตอนนี้คุณมีเครื่องมือในการทำขั้นตอนนี้สำหรับยูทิลิตี้การวินิจฉัย OEM หรือยูทิลิตี้อัพเกรด BIOS.
และถูกขังอยู่เหนือประตูแห่งเลือดและผ่านโถงแห่งไฟ Valor รอให้ฮีโร่แห่งแสงตื่นขึ้น ...