IT Geek วิธีบูตเครือข่าย (PXE) ดิสก์กู้คืน WinPE ด้วย PXElinux v5 & Wimboot
คุณเคยคิดบ้างไหมว่าคุณจะได้รับ“ Windows Recovery Console” ที่ใช้สำหรับขั้นตอนการบำรุงรักษาหรือโปรแกรมที่คุณต้องการใช้โดยไม่ต้องจำตำแหน่งที่คุณลืมแผ่นซีดี HTG อธิบายวิธีบูต WinPE จาก PXE.
เครดิตรูปภาพ: Alfred Hermida ผ่าน Compfight cc
สภาพแวดล้อม Pre-execution ของ Windows (WinPE) เป็นรุ่นของ windows ที่คนส่วนใหญ่รู้จักในฐานะที่เป็นบูตจากแผ่นซีดีติดตั้ง ในช่วงหลายปีที่ผ่านมาโครงการทั้งหมดได้ถูกสร้างขึ้นเพื่อมอบความสามารถในการจัดสภาพแวดล้อมแบบ“ Windows Live” เช่นลินุกซ์หลายตัว ในคู่มือนี้เราจะมี windows PE จากบูตซีดีติดตั้งจาก PXE เพียงเพื่อให้เราสามารถใช้เพื่อรันยูทิลิตี้อัพเดต BIOS ของ Dell คุณได้รับการสนับสนุนให้ดำเนินการสำรวจหลุมความดีที่เกินบรรยายนี้ต่อไป ...
ภาพรวม
เราได้แสดงให้คุณเห็นว่า PXE คืออะไรและคุณสามารถติดตั้งเซิร์ฟเวอร์ให้กับมันได้อย่างไร (และอีกมากมาย) ด้วย FOG วันนี้เราจะเพิ่มอีกส่วนหนึ่งให้กับ FOG โดยทั่วไปขั้นตอนของวันนี้จะเป็น:
- อัปเดต PXElinux เป็น v5.01 หรือสูงกว่าหากยังไม่ได้ติดตั้ง.
- เพิ่มโมดูล wimboot.
- คัดลอกอิมเมจ WIM และไฟล์สนับสนุนจากซีดีติดตั้ง windows.
- เพิ่มรายการเมนู.
- ใช้ WinPE ที่ถูกบู๊ตเพื่อรับ“ คอนโซลการกู้คืนของ Windows” ที่ใช้งานได้.
เราจะทำข้างต้นเพราะการติดตั้ง Windows Automated Installation Kit (WAIK) แบบ "ปกติ" บังคับให้คุณอย่างดีที่สุดเพื่อติดตั้งบนเครื่องของคุณและผ่านกระบวนการที่ไม่ตรงไปตรงมาเพื่อคลี่ไฟล์ WIM และการสนับสนุน ไฟล์ลงในแบบฟอร์ม WDS / RIS ในขณะที่มีตัวเลือก Linux อยู่เช่นเดียวกับโครงการของ UDA (ซึ่งเป็นเซิร์ฟเวอร์ PXE ที่ฉันใช้ก่อนที่ FOG จะมา) โดยใช้วิธีนี้คุณสามารถแทนที่ไฟล์บางไฟล์บนเซิร์ฟเวอร์ PXE เพียงครั้งเดียว (ซึ่งคุณอาจจะต้องทำในที่สุด) และคัดลอก ไฟล์ WIM ที่ไม่เปลี่ยนแปลงและสนับสนุนไฟล์โดยตรงจากซีดี Windows ลงในเซิร์ฟเวอร์ PXE.
สิ่งหนึ่งที่ควรทราบก็คือแม้ว่ามันจะดูเหมือนว่าคุณสามารถเริ่มขั้นตอนการติดตั้ง windows ด้วยวิธีนี้ แต่คุณไม่สามารถทำให้เสร็จสมบูรณ์ได้และการทำให้สิ่งนั้นเป็นไปได้นั้นอยู่นอกเหนือขอบเขตของคู่มือนี้.
ช่วยให้แคร็ก :)
อัปเดต PXElinux เป็น V5.01
ณ เวลาที่เขียนนี้เวอร์ชันของ Syslinux ในที่เก็บ Ubuntu ยังคงเป็น 4.05 ฉันเดาว่านี่เป็นเพราะทีม Syslinux ตัดสินใจที่จะสลัดสิ่งต่าง ๆ กับสาขา V5 และเปลี่ยนวิธีการทำงานของโมดูล COM32 (ตอนนี้ใช้ ELF) และเปลี่ยน“ แกนหลัก” เป็นไลบรารี (ldlinux.c32) สำหรับ สิ่งใด เกิน "การบูทแท้" สิ่งนี้ทำให้เป็นไปได้มากที่จะพบกับความแตกแยกสำหรับทุกคนที่ชินกับ "วิถี" ไม่ต้องกังวลเราจะดาวน์โหลดไฟล์ที่จำเป็นด้วยตนเองและทำให้การติดตั้ง FOG ของคุณไม่แพ้.
เราจะใช้เวอร์ชัน 5.01 เนื่องจากเป็นรุ่นล่าสุด มีเสถียรภาพ ปล่อยจากสาขา V5 ในขณะที่เขียนนี้และเป็นหนึ่งในทีม Syslinux ทำงานร่วมกับทีม wimboot เพื่อให้ขั้นตอนนี้ทำงาน.
บันทึก: อีกเหตุผลที่เวอร์ชั่นล่าสุดยังไม่ได้เป็นส่วนหนึ่งของที่เก็บ Ubuntu (IMHO) คืออย่างน้อยก็ใน Citrix-Xen แขกของ HVM ไม่สามารถบู๊ตอะไรได้นอกจากเมนู PXE ไฮเปอร์ไวเซอร์อื่น ๆ เช่น VMware, Hyper-V & VirtualBox รวมถึงเครื่องจักรทางกายภาพนั้นใช้ได้ดีกับเวอร์ชันใหม่.
หากข้อความด้านบนไม่มีผลกับคุณให้ดำเนินการต่อ.
รับ PXElinux รุ่น 5.01 โดยตรงจาก Kernel.org และแตกไฟล์บนเซิร์ฟเวอร์ FOG โดย:
wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-5.01.tar.bz2
tar xvhf syslinux-5.01.tar.bz2
สร้างไดเรกทอรีที่จะเก็บไลบรารีที่ต้องการใหม่:
mkdir -p / tftpboot / howtogeek / libs
คัดลอกไฟล์ไลบรารีที่ต้องการไปยังไดเรกทอรีนี้ดังนั้นพวกเขาจะสามารถใช้ได้สำหรับลูกค้าที่รันไทม์:
cp -av syslinux-5.01 / com32 / lib / libcom32.c32 / tftpboot / howtogeek / libs /
cp -av syslinux-5.01 / com32 / libutil / libutil.c32 / tftpboot / howtogeek / libs /
cp -av syslinux-5.01 / com32 / modules / linux.c32 / tftpboot / howtogeek / libs /
ผนวก“ เส้นทาง” ไปยังไดเรกทอรีนี้ไปยังไฟล์การกำหนดค่า“ เริ่มต้น” ที่มีอยู่แล้วโดยแก้ไขหรือออกด้านล่าง:
echo "PATH howtogeek / libs" >> /tftpboot/pxelinux.cfg/default
คัดลอก ldlinux.c32 ที่ต้องการใหม่ไปยังรูทของเซิร์ฟเวอร์ TFTP โดยการออก:
cp -av syslinux-5.01 / com32 / elflink / ldlinux / ldlinux.c32 / tftpboot /
อัปเดตเอ็นจิ้นกราฟิก (vesamenu.c32) เพื่อให้สอดคล้องกับเวอร์ชั่นใหม่นี้:
cp -av syslinux-5.01 / com32 / เมนู / vesamenu.c32 / tftpboot /
ขอแสดงความยินดีขณะนี้เซิร์ฟเวอร์ PXE ของคุณได้รับการอัปเดตเป็น v5.01 และทุกอย่างที่ใช้งานได้แล้ว (เว้นแต่คุณจะได้รับผลกระทบจาก "บันทึกย่อ" จากจุดเริ่มต้นของส่วนนี้) ควรดำเนินการต่อไป.
WIMboot
bootloader นี้เป็นส่วนหนึ่งของโครงการ iPXE และพวกเขาอธิบายเช่น:
wimboot
เป็นบูตโหลดเดอร์สำหรับรูปแบบการถ่ายภาพของ Windows (.Wim
) ไฟล์ ช่วยให้คุณสามารถบูตสภาพแวดล้อม Windows PE (WinPE) จากดิสก์ RAM โดยไม่สูญเสียหน่วยความจำที่ใช้สำหรับอิมเมจดิสก์ RAM.
ดาวน์โหลดเวอร์ชั่นล่าสุดจากเว็บไซต์ของพวกเขา:
http://git.ipxe.org/releases/wimboot/wimboot-latest.zip
ติดตั้งเปิดเครื่องรูดบนเซิร์ฟเวอร์ FOG ของคุณถ้ามันหายไป:
ความสามารถในการติดตั้งเปิดเครื่องรูด
เปิดเครื่องรูดแพ็คเกจ wimboot:
เปิดเครื่องรูด wimboot-latest.zip
คัดลอกโมดูล wimboot ไปยังไดเรกทอรี“ libs” ที่เราสร้างในเซกเมนต์ก่อนหน้า:
cp -va wimboot * / wimboot / tftpboot / howtogeek / libs /
นั้นคือทั้งหมด. bootloader wimboot พร้อมที่จะเรียกใช้แล้ว.
ไฟล์ซีดี Windows
สร้างไดเรกทอรีใหม่บนเซิร์ฟเวอร์ FOG เพื่อเก็บไฟล์ที่เราจะคัดลอก:
mkdir -p / tftpboot / howtogeek / WinPE /
ใส่แผ่นซีดีติดตั้ง Windows 7 ดั้งเดิมลงในไดรฟ์ซีดีรอมของคุณและคัดลอกไฟล์ที่แสดงด้านล่างลงในไดเรกทอรีนี้:
\ Bootmgr
\ บูต \ BCD
\ บูต \ boot.sdi
\ sources \ boot.wim
ใช่มันง่ายมาก และ คุณไม่จำเป็นต้องเก็บโครงสร้างไดเรกทอรีไว้ในแผ่นซีดีเพื่อให้มันใช้งานได้.
หมายเหตุ: เพื่อให้การอัปเดต BIOS ของ Dell ทำงานได้ฉันพบว่าจำเป็นต้องใช้ Windows รุ่น 32 บิต.
เพิ่มรายการเมนู
สร้างรายการเมนู PXE โดยแก้ไขเมนู“ Utils”:
sudo vim /tftpboot/howtogeek/menus/utils.cfg
ผนวกเข้ากับสิ่งต่อไปนี้:
ป้ายกำกับ WinPE
com32 linux.c32 howtogeek / libs / wimboot
ผนวก wimboot initrdfile = / howtogeek / WinPE / bootmgr, / howtogeek / WinPE / bcd, / howtogeek / WinPE / boot.sdi, / howtogeek / WinPE / boot.wim
ขอแสดงความยินดีขณะนี้คุณมี WindowsPE บนเซิร์ฟเวอร์ PXE ของคุณ :)
หมายเหตุ: มันอาจดูเหมือนแขวนอยู่บนไฟล์“ wim” แต่ไม่ใช่ จริงๆแล้วมันเป็นการถ่ายโอนไฟล์ 140MB ไปยังไคลเอนต์ผ่าน TFTP ซึ่งใช้เวลานานกว่าไฟล์ขนาดเล็กที่ถ่ายโอนด้วยวิธีนี้.
นี่คือภาพหน้าจอเพื่อพิสูจน์ว่ามันเกิดขึ้น.
VM ข้างต้นทำงานโดยใช้เครื่องเล่น VMware ติดตั้ง Ubuntu บน HD และ PXE ถูกบูตเข้าสู่ WinPE.
คอนโซลการกู้คืนของ Windows
อีกครั้งดังที่กล่าวไว้ในภาพรวมขณะที่ดูเหมือนว่าคุณสามารถเริ่มขั้นตอนการติดตั้ง windows ด้วยวิธีนี้คุณจะไม่สามารถดำเนินการให้เสร็จสมบูรณ์และทำให้สิ่งนั้นเป็นไปได้เกินขอบเขตของคู่มือนี้.
จากตัวอย่างที่กล่าวมาเพียงแค่ยกตัวอย่างว่าทำไมสิ่งนี้ถึงมีประโยชน์เราจะใช้สภาพแวดล้อมนี้เพื่อทำการอัพเดต BIOS ของ Dell.
รับการอัปเดตที่คุณต้องทำจากเว็บไซต์ของ Dell และวางลงบนดิสก์ - ออน - คีย์ วางดิสก์บนคีย์และบูต PXE ไคลเอ็นต์.
ในการเข้าถึงคอนโซลการกู้คืนในหน้าต่างหลักในภาพหน้าจอด้านบนคลิก“ ถัดไป”.
คลิกที่ "ซ่อมคอมพิวเตอร์ของคุณ".
เลือก "ใช้เครื่องมือการกู้คืน" และคลิกที่ "ถัดไป".
คลิกที่ "พร้อมรับคำสั่ง".
เมื่อพร้อมรับคำสั่งคุณจะต้องค้นหาสิ่งที่ "ตัวอักษรไดรฟ์" WinPE ตัดสินใจที่จะกำหนดให้กับ Disk-on-Key ของคุณ เมื่อต้องการทำสิ่งนี้ให้ระบบระบุตัวอักษรไดรฟ์ที่กำหนดในปัจจุบันทั้งหมดโดยการออก:
wmic logicaldisk รับชื่อ
ตอนนี้ไม่รวมตัวอักษร A: และ X: และบางทีแม้แต่ C: (แม้ว่าจะไม่ใช่ตัวอักษรที่กำหนดก็ตาม) ให้วนไปตามตัวอักษรของไดรฟ์แล้วมองหา Disk-on-Key โดยออก:
driveletter:
dir
เมื่อคุณพบไดรฟ์ที่ถูกต้องแล้วให้เรียกใช้ไฟล์และคุณควรเห็นสิ่งต่อไปนี้:
ขอแสดงความยินดีคุณพร้อมสำหรับการอัปเกรดแล้ว :)
ฉันรู้จักกังฟู ...