เครื่องมือสร้างสภาพแวดล้อมกู้คืน Windows และ USB ที่บูตได้ในขนาด 200KB
(github.com/joshuacline)- Windows Deployment Image Customization Kit เป็นเครื่องมือสำหรับดีพลอยอิมเมจ Windows ที่ใช้เชลล์คำสั่งแบบเนทีฟ โดยในหัวข้อบน HN ถูกแนะนำว่าเป็นเครื่องมือสร้างสภาพแวดล้อมกู้คืน Windows และ USB ที่บูตได้ ขนาด 200KB
- เกี่ยวกับ SecureBoot ผู้พัฒนารับทราบว่าหากใช้ bootmgfw_EX.efi ในโฟลเดอร์
EFI_EXภายในboot.wimแทนbootmgfw.efiปกติ จะมีปัญหาความเข้ากันได้น้อยกว่า - ขณะนี้ยังอยู่ในสถานะรอดูว่า Microsoft จะทำให้เป็นมาตรฐานไปในทิศทางใด และหากทิศทางยังไม่ชัดเจน มีแผนจะเปลี่ยนไปดึง EFI_EX bootloader มาใช้ หรือเปิดให้เลือกได้ระหว่างสองวิธี
- ตอนนี้ผู้ใช้สามารถนำ bootloader จากตำแหน่ง
EFI_EXมาใส่ไว้ใน โฟลเดอร์ cache เอง แล้วเริ่มอัปเดตไฟล์บูตภายใน recovery ได้ - หากปิดใช้งาน SecureBoot ก็ยังสามารถใช้งาน Windows ได้ตามปกติต่อไป จนกว่า Microsoft จะตัดสินใจว่าจะทำให้ bootloader ใดเป็นมาตรฐาน
เครื่องมือดีพลอยอิมเมจ Windows
- Windows Deployment Image Customization Kit เป็นเครื่องมือสำหรับดีพลอยอิมเมจ Windows ที่ใช้เชลล์คำสั่งแบบเนทีฟ
- ในหัวข้อบน HN โปรเจกต์นี้ถูกแนะนำว่าเป็นเครื่องมือสร้างสภาพแวดล้อมกู้คืน Windows และ USB ที่บูตได้ ขนาด 200KB
- README มีภาพหน้าจอ GUI และภาพหน้าจอ MenuScript รวมอยู่ด้วย
SecureBoot และการจัดการ bootloader
- หากใช้ bootmgfw_EX.efi ในโฟลเดอร์
EFI_EXภายในboot.wimแทนbootmgfw.efiปกติ จะมีปัญหาความเข้ากันได้กับ SecureBoot น้อยกว่า - เหตุผลที่ยังไม่นำการเปลี่ยนแปลงไปใช้ทันที คือทิศทางของ Microsoft ยังไม่ชัดเจน
- หากทิศทางของ Microsoft ยังไม่ชัดเจน อาจมีการนำหนึ่งในการเปลี่ยนแปลงต่อไปนี้มาใช้
- ดึง bootloader จากโฟลเดอร์
EFI_EXทางเลือกมาใช้ - ทำให้ เลือกได้ ระหว่างวิธี bootloader สองแบบ
- ดึง bootloader จากโฟลเดอร์
- ขณะนี้อยู่ในสถานะที่พยายามหลีกเลี่ยงสถานการณ์ที่เปลี่ยนตอนนี้แล้วต้องย้อนกลับในภายหลัง
วิธีรับมือแบบแมนนวลที่ทำได้ในตอนนี้
- ผู้ใช้สามารถนำ bootloader จากตำแหน่ง
EFI_EXมาใช้เองได้ - ใส่ bootloader ที่นำมาไว้ใน โฟลเดอร์ cache แล้วเริ่มอัปเดตไฟล์บูตภายใน recovery ได้
- หากปิดใช้งาน SecureBoot จะสามารถใช้งาน Windows ได้ตามปกติจนกว่า Microsoft จะตัดสินใจทิศทางของ bootloader มาตรฐาน
การเผยแพร่และเอกสาร
- มิเรอร์:
- MajorGeeks: มิเรอร์ Windows Deployment Image Customization Kit
- Softpedia: มิเรอร์ Windows Deployment Image Customization Kit
- เอกสาร:
- GitHub documentation: เอกสารโปรเจกต์
- Microsoft TechNet Wiki archive: เอกสารการสร้างสภาพแวดล้อม Windows PE สำหรับกู้คืนและดีพลอยที่บูตได้ในเชลล์คำสั่ง
- YouTube ช่อง: ช่องวิดีโอที่เกี่ยวข้อง
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
นี่คือ ไฟล์แบตช์ที่ใหญ่ที่สุด เท่าที่เคยเห็นมาเลย สมัยมัธยมผมเคยทำไฟล์ประมาณ 200 บรรทัดแล้วยังคิดว่าเยอะเกินไป แต่ความมุ่งมั่นที่ผลักดันแบตช์ไปได้ถึงขนาดนี้น่าทึ่งจริง ๆ
ผมรู้จักฟีเจอร์คล้ายการเรียกฟังก์ชันปลอม ๆ หรือไวยากรณ์แปลก ๆ อยู่บ้าง แต่แค่ไล่อ่านผ่าน ๆ ก็เจอหลายอย่างที่ไม่เคยเห็นมาก่อน ปกติพวก “X in Y KiB” มักจะเป็นการเล่นพิสดารกับลิงเกอร์ แต่แบบนี้สดใหม่ดี แล้วชื่อฟีเจอร์ “Windows To Go” กับ “Windows To Stay” ก็ค่อนข้างขำ
สคริปต์หลัก [1] เป็นไฟล์แบตช์ที่ใหญ่กว่า 1MB เมื่อก่อนผมเคยอินกับการม็อด Wii อยู่พอสมควร และจำได้ว่าเคยคุยเรื่องจิปาถะเกี่ยวกับแบตช์กับคนเขียนสคริปต์นั้นอยู่สองสามครั้ง นึกภาพไม่ออกเลยว่าจะบำรุงรักษาไฟล์ขนาดนั้นได้ยังไง
[1] https://github.com/modmii/modmii.github.io/blob/master/Suppo...
ในเมื่อ PowerShell ถูกติดตั้งมาเป็นค่าเริ่มต้นแล้ว การเขียนสคริปต์เป็นแบตช์ ไม่ว่าจะยาว 3085 บรรทัดหรือยาวแค่ไหนก็ตาม ถือว่าไม่ปกติอย่างสิ้นเชิง
ใส่การตรวจ errorlevel ไว้เต็มไปหมดเพื่อจัดการการสลับ door, Fidonet และอื่น ๆ ถ้าจำเป็นต้องมีฟีเจอร์เพิ่มจริง ๆ ไฟล์แบตช์ก็ซับซ้อนได้แบบเหลือเชื่อเหมือนกัน
อนึ่ง ไม่ได้ระบุไลเซนส์ไว้
เท่าที่ผมรู้ “Windows Recovery Environment” คือ Windows เวอร์ชันขั้นต่ำที่ถูกตัดทอน โดยไม่มี user space ส่วนใหญ่และไม่มีบางส่วนของเคอร์เนล ซึ่งผู้คนขยายและปรับแต่งกันมาหลายรูปแบบ
และไม่มี dependency ใด ๆ เลย
ถือว่าเป็นหนึ่งในเครื่องมือแบบเชลล์ที่น่าประทับใจพอสมควรจากที่เคยใช้มา แค่การที่มัน อยู่ใน 200KB ได้ ก็เป็นความสำเร็จและฉลาดมากแล้ว
เป็นการจับผิดเล็กน้อยมาก ๆ แต่พอเห็นรูปพหูพจน์แบบ FOO'S แล้วสะดุ้ง
ถ้า VHDXS ทำให้สับสน ก็เลี่ยงตัวพิมพ์ใหญ่แล้วเขียนเป็น VHDXs ก็ได้
https://www.hamilton.edu/academics/centers/writing/seven-sin...
ดูเจ๋งดี แต่สงสัยว่ามันทำอะไรที่ พาร์ทิชัน Windows Recovery Environment มาตรฐาน ทำไม่ได้
ใช้ในกรณีที่ recovery environment มาตรฐานพังหรือเปล่า? สงสัยด้วยว่าเหตุการณ์ CrowdStrike ล่าสุดเป็นกรณีแบบนั้นไหม
บนแล็ปท็อปทำงานของผม recovery environment ยังทำงานได้ดี บูตเข้า safe mode ได้ และ safe mode ก็ไม่แครช
ใช้อันนี้ติดตั้ง ไดรเวอร์หรือเฟิร์มแวร์จอภาพ ได้ไหม? สงสัยว่าทำ USB ที่บูตได้ แล้วใส่ไฟล์ติดตั้งไว้ในนั้นเพื่ออัปเดตเฟิร์มแวร์จะเป็นไปได้หรือเปล่า
https://www.lg.com/au/support/product-support/cs-32GS95UE-B....
เคยคิดจะลองด้วย WINE แต่ก็กลัวนิดหน่อย น่าเสียดายที่เฟิร์มแวร์ใหม่ของจอผมติดตั้งได้เฉพาะผ่าน exe และตอนนี้ผมมีแค่เดสก์ท็อป Linux
จากนั้นถ้าหาเจอแล้ว ก็ค่อยหาวิธีอัปโหลดมัน พอคิดว่าเริ่มนึกวิธีออกแล้ว ต้องทำตอนดึกมาก ๆ ในสภาพง่วงจนเบลอเท่านั้น ถึงจะมั่นใจว่าทำได้โดยไม่ทำให้มันกลายเป็นก้อนอิฐ แต่ถ้าไม่ทำให้มันกลายเป็นก้อนอิฐตั้งแต่แรกจะสนุกตรงไหน? แค่หยิบคลิป Pomona SOIC ปลอมสักอันมา แล้ว dump ROM มั่ว ๆ จากชิปก็พอ
สุดท้าย ถ้ายังตื่นพอที่จะไม่หลงเชื่อขั้นตอนก่อนหน้า ก็ทิ้งงานทั้งหมดที่ทำมา แล้วตัดสินใจใช้เวลาสร้าง USB Windows ที่บูตได้แทน ถ้ามันไม่สำเร็จด้วยเหตุผลใดเหตุผลหนึ่งในหลาย ๆ ข้อ ก็ไปยืมแล็ปท็อป Windows แต่ถึงตอนนั้นก็น่าจะเหนื่อยเกินไปแล้ว จึงสร้าง VM Windows ใน QEMU แล้วรีสตาร์ตคอมพิวเตอร์ซ้ำ ๆ เพื่อปรับ passthrough ที่จำเป็นสำหรับการเชื่อมต่ออุปกรณ์ พอรัน utility และเริ่ม EXE มันก็เริ่มทำงาน ดีใจเกินไปจนเผลอถอดทุกการเชื่อมต่อกลางคัน ไม่ว่าจะยังไง จอก็ดูเหมือนยังทำงานอยู่ แต่จะมั่นใจว่ามีอะไรบางอย่างแปลก ๆ แบบบอกไม่ถูก ผ่านไปไม่กี่ปีค่อยหยิบคลิป SOIC ออกมาอีกครั้ง นี่เป็นเรื่องที่รวมความผิดพลาดหลาย ๆ ครั้งของผมเข้าด้วยกัน
ในทางปฏิบัติ ใช่ มีโอกาสสูงที่โปรเจกต์นี้จะทำงานแบบนั้นได้โดยไม่มีปัญหาใหญ่ แค่ควรเผื่อใจไว้ว่า installer อาจเป็น bloatware เต็มขั้นจนใช้ไม่ได้เลย หรือทำท่าเหมือนจะได้เกือบสุดแล้วค่อยมีอะไรเพี้ยนไป
ในกรณีอื่น ๆ ต้องใช้ Win32 และตอนนั้นก็มักจะใช้ของอย่าง Hiren’s Boot CD เวอร์ชันใหม่ ถ้าจำไม่ผิด เวอร์ชันใหม่ใช้ Windows 10 เป็นฐาน ส่วนรุ่นแรก ๆ ใช้ XP เป็นฐาน
https://www.hirensbootcd.org/
สุดยอดมาก เชลล์สคริปต์ 3 พันบรรทัด เนี่ยนะ ผมนับถือคนที่บำรุงรักษาของแบบนี้ได้จริง ๆ
สำหรับผมมันดูเหมือนกองยุ่งเหยิงร้อน ๆ ที่เข้าใกล้ยาก
เปิดแท็บหรือหน้าต่างแบ่งหนึ่งอันต่อ “พื้นที่” ที่จะทำงาน ถ้าทำงานสามส่วน ก็เปิดหน้าต่างแบ่งสามช่องที่โฟกัสแต่ละส่วนแล้วสลับไปมา จริง ๆ แล้วแทบไม่ต่างจากจัดการไฟล์สามไฟล์เลย