Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> ระบบ >> Windows 10

MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10

Mbr2gpt.exe เป็นเครื่องมือคอนโซลสร้างขึ้นใน Windows 10 ใหม่ ที่ช่วยให้คุณแปลงดิสก์ที่มีตารางพาร์ติชัน MBR (Master Boot Record) เป็น GPT (GUID Partition Table) โดยไม่สูญเสียข้อมูลและไม่ต้องลบพาร์ติชันที่มีอยู่ เครื่องมือ mbr2gpt สามารถใช้แปลงตารางพาร์ติชันจาก MBR เป็น GPT ได้ทั้งใน Windows PE (Windows Preinstallation Environment) และโดยตรงจาก Windows 10 ที่กำลังทำงาน คุณสามารถใช้เครื่องมือนี้เพื่อเปลี่ยนตารางพาร์ติชันจาก MBR เป็น GPT ทั้งบนดิสก์ข้อมูล (non-system) และบนดิสก์ระบบ ที่ติดตั้ง Windows 10 (โดยใช้ตัวเลือก /allowFullOS)

เครื่องมือ MBR2GPT ทำงานอย่างไร?

เครื่องมือ mbr2gpt.exe เป็นส่วนหนึ่งของ Windows 10 image เริ่มจากบิลด์ 1703 (Creators Update) คุณสามารถใช้ mbr2gpt เพื่อแปลงดิสก์จาก MBR เป็น GPT ในโหมดออฟไลน์บน Windows 10 บิลด์ก่อนหน้า (1507, 1511 และ 1607) Windows เวอร์ชันก่อนหน้า (Win 7/8.1) ไม่ได้รับการรองรับอย่างเป็นทางการ

Note ก่อนหน้านี้ เครื่องมือบุคคลที่สาม gptgen สามารถใช้แปลงดิสก์ non-system จาก MBR เป็น GPT โดยไม่สูญเสียพาร์ติชันที่มีอยู่ แต่เพื่อแปลงดิสก์ระบบ คุณต้องล้างดิสก์ให้สะอาด สร้างตารางพาร์ติชัน GPT และพาร์ติชันใหม่บนมัน จากนั้นติดตั้ง Windows 10 ใหม่ทั้งหมด

เอกสาร MBR2GPT ระบุว่า เงื่อนไขต่อไปนี้ต้องเป็นจริงเพื่อแปลงตารางพาร์ติชันดิสก์เป็น GPT:

  • ตารางพาร์ติชันดิสก์ปัจจุบันเป็น MBR;
  • มีพื้นที่ว่างบนดิสก์สำหรับวาง primary และ secondary GPT tables ที่จุดเริ่มต้นและจุดสิ้นสุดของดิสก์;
  • ตาราง MBR ควรมีพาร์ติชันไม่เกิน 3 พาร์ติชัน โดยมีหนึ่งพาร์ติชันเป็น active (พาร์ติชันเพิ่มเติมและ logical partitions ควรไม่มี);
  • การกำหนดค่า BCD ต้องมี boot record 指向 Windows partition

ตรรกะของ Mbr2gpt เมื่อแปลงดิสก์ MBR เป็น GPT มีดังนี้:

  1. ตรวจสอบดิสก์;
  2. หากไม่มีพาร์ติชันระบบ EFI (ESP) จะสร้างขึ้นโดยใช้พื้นที่ว่างจากหนึ่งในพาร์ติชัน (หากไม่มีพื้นที่ว่างเพียงพอ จะปรากฏข้อความผิดพลาด "cannot find room for the EFI system partition");
  3. ไฟล์บูท UEFI ถูกคัดลอกไปยังพาร์ติชัน EFI;
  4. GPT metadata และตารางพาร์ติชันถูกนำไปใช้กับดิสก์ (ตารางพาร์ติชัน MBR ถูกแปลงเป็น GPT โดยไม่สูญเสียข้อมูลบนพาร์ติชันที่มีอยู่);
  5. การกำหนดค่า bootloader BCD ถูกอัปเดต

ไวยากรณ์ของเครื่องมือ MBR2GPT คือ:

mbr2gpt /validate|convert [/disk:] [/logs:] [/map:=] [/allowFullOS]

MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10

  • /validate– ตรวจสอบดิสก์ว่าสามารถแปลงตารางพาร์ติชันได้ (รวมถึงการตรวจสอบพื้นที่ว่างสำหรับจัดเก็บ primary และ secondary GPT table: 16 KB + 2 sectors ที่จุดเริ่มต้นของดิสก์ และ 16 KB + 1 sector ที่จุดสิ้นสุด);
  • /convert– เริ่มแปลงดิสก์หากการตรวจสอบสำเร็จ;
  • /disk:— ระบุหมายเลขดิสก์ที่จะแปลงเป็น GPT หากไม่ตั้งค่า หมายเลข ดิสก์ระบบจะถูกแปลง (เหมือนคำสั่ง Diskpart: select disk system)
  • /logs:— ระบุเส้นทางไปยังไดเรกทอรีที่ MBR2GPT ควรเขียนไฟล์ log หากไม่ตั้งค่าเส้นทาง จะใช้โฟลเดอร์ %windir% ไฟล์ log ได้แก่ diagerr.xml, diagwrn.xml, setuperr.log และ setupact.log;
  • /map:— อนุญาตให้ระบุการแมปตารางพาร์ติชันเพิ่มเติมระหว่าง MBR และ GPT ตัวอย่างเช่น /map:42={af9b60a0-1431-4f62-bc68-3311714a69ad} หมายเลขพาร์ติชัน MBR ระบุในทศนิยม และ GPT GUID มีตัวคั่น คุณสามารถระบุการแมปหลายรายการพร้อมกันได้;
  • /allowFullOS– โดยค่าเริ่มต้น MBR2GPT ใช้ได้เฉพาะใน Windows PE คุณสามารถใช้พารามิเตอร์ allowFullOS เพื่อแปลงดิสก์ระบบโดยตรงจาก Windows 10 ที่กำลังทำงาน การใช้คีย์นี้ คุณสามารถรันเครื่องมือในสภาพแวดล้อม Windows เต็มรูปแบบ หากคุณไม่ระบุพารามิเตอร์นี้เมื่อใช้ mbr2gpt จาก Windows จะเกิดข้อผิดพลาด: ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.

แปลงดิสก์จาก MBR เป็น GPT โดยไม่สูญเสียข้อมูลจาก Windows 10

การดำเนินการแปลงดิสก์จาก MBR เป็น GPT ไม่สามารถย้อนกลับได้ ตรวจสอบให้แน่ใจว่าคอมพิวเตอร์ของคุณรองรับ UEFI ก่อนแปลง

ก่อนแปลงตารางพาร์ติชันดิสก์ ให้ตรวจสอบดิสก์ระบบปัจจุบันสำหรับการแปลงจาก MBR เป็น GPT:

mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS

MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10

MBR2GPT: Attempting to validate disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512

บรรทัด MBR2GPT: Validation completed successfully แสดงว่าดิสก์นี้สามารถแปลงได้ บรรทัด MBR2GPT: Disk layout validation failed หมายความว่าดิสก์ไม่สามารถแปลงได้ เนื่องจากไม่ตรงตามเงื่อนไข

ข้อผิดพลาดทั่วไปอีกอย่าง Cannot find OS partition (s) for disk 0 มักเกี่ยวข้องกับการใช้บูทโหลดบุคคลที่สาม หรือเลือกดิสก์ที่จะแปลงผิด คุณสามารถลองย้ายไฟล์บูท Windows ไปยังพาร์ติชันระบบ (bcdboot c:\Windows /f bios /s c:) และตรวจสอบว่ารายการสำหรับสภาพแวดล้อม WinRE ใน BCD (reagentc /disable && reagentc /enable) ถูกต้อง

Tip หากดิสก์ระบบเข้ารหัสด้วย BitLocker ให้ถอดรหัสก่อนการแปลง

ตอนนี้คุณสามารถแปลงตารางพาร์ติชันบนดิสก์ระบบได้:

mbr2gpt.exe /convert /disk:0

MBR2GPT will now attempt to convert disk 0. If conversion is successful the disk can only be booted in GPT mode. These changes cannot be undone! MBR2GPT: Attempting to convert disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512 bytes MBR2GPT: Trying to shrink the system partition MBR2GPT: Trying to shrink the OS partition MBR2GPT: Creating the EFI system partition MBR2GPT: Installing the new boot files MBR2GPT: Performing the layout conversion MBR2GPT: Migrating default boot entry MBR2GPT: Adding recovery boot entry MBR2GPT: Fixing drive letter mapping MBR2GPT: Conversion completed successfully MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!

การแปลงดิสก์จาก MBR เป็น GPT จาก Windows 10 ที่ติดตั้งแล้ว ใช้เวลาเพียงไม่กี่วินาที

เพื่อให้คอมพิวเตอร์บูทจากพาร์ติชัน EFI ใหม่ คุณต้องเปลี่ยนการตั้งค่าให้บูทในโหมด UEFI รีสตาร์ทคอมพิวเตอร์และในการตั้งค่า UEFI เปลี่ยนโหมดบูทจาก Legacy (BIOS) เป็น UEFI (Pure) และบันทึกการเปลี่ยนแปลง

MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10

Windows 10 ควรบูทสำเร็จ ใช้ msinfo32.exe คุณสามารถตรวจสอบได้ว่า Windows 10 บูทใน BIOS Mode = UEFI

MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10

ประโยชน์หลักของการย้ายไปโหมด UEFI แบบเนทีฟและตารางพาร์ติชัน GPT:

  • คุณสามารถสร้างพาร์ติชันขนาดใหญ่กว่า 2 Tb;
  • การปกป้องสภาพแวดล้อมบูทด้วย Secure Boot;
  • เทคโนโลยี ELAM (Early Launch Antimalware);
  • ฟีเจอร์ Device Guard และ Credential Guard ใน Windows 10 Enterprise;
  • Measured Boot

แปลง MBR เป็น GPT ระหว่างการติดตั้ง Windows 10

คุณสามารถใช้เครื่องมือ mbr2gpt ระหว่างการติดตั้ง Windows 10 ตัวอย่างเช่น คุณสร้าง USB บูทได้ UEFI และพยายามติดตั้ง Windows 10 บนดิสก์ที่มีตารางพาร์ติชัน MBR บนคอมพิวเตอร์ที่รองรับ UEFI ในกรณีนี้ จะเกิดข้อผิดพลาด:

Windows cannot be installed to this disk. The selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.

MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10

หากคุณไม่ต้องการสูญเสียพาร์ติชันข้อมูลที่มีอยู่บนดิสก์ MBR (ซึ่งใช้บูทในโหมด Legacy หรือบนคอมพิวเตอร์ที่มี BIOS) เมื่อเปลี่ยนตารางพาร์ติชันดิสก์เป็น GPT คุณสามารถแปลงดิสก์ MBR เป็น GPT โดยตรงจากหน้าต่างการติดตั้ง Windows 10

  1. กดปุ่ม Shift+F10 บนหน้าจอการตั้งค่า Windows 10 เพื่อเปิด command prompt ของสภาพแวดล้อม WinPE;
  2. ตรวจสอบว่าตารางพาร์ติชันดิสก์สามารถแปลงเป็น GPT ได้ รันคำสั่ง: mbr2gpt /validate
  3. หากคำสั่งคืนค่า Validation completed successful คุณสามารถแปลงดิสก์นี้ได้ MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10 หากข้อผิดพลาด Failed to retrieve geometry for disk -1 ปรากฏ น่าจะเป็นเพราะคุณมีดิสก์หลายตัวต่ออยู่กับคอมพิวเตอร์ รันคำสั่ง diskpart -> list disk เพื่อระบุหมายเลขดิสก์ คุณสามารถตรวจสอบดิสก์เฉพาะได้โดยหมายเลขดิสก์ด้วยคำสั่ง: mbr2gpt /validate /disk:0
  4. เพื่อแปลงตารางพาร์ติชันดิสก์ ให้รันคำสั่ง mbr2gpt /convert หรือพร้อมหมายเลขดิสก์ mbr2gpt /convert /disk:0 MBR2GPT: แปลงดิสก์ MBR เป็น GPT ใน Windows 10
  5. เครื่องมือ mbr2gpt จะสร้างพาร์ติชันระบบ EFI ใหม่ คัดลอก Windows bootloader ไปยังมัน และแปลงตารางพาร์ติชันเป็น GPT (พาร์ติชันที่มีอยู่จะถูกเก็บรักษา) คุณเพียงแค่ต้องกลับไปที่หน้าต่าง Windows 10 Setup คลิกปุ่ม Refresh ในหน้าจอเลือกดิสก์ และเริ่มติดตั้ง Windows 10 บนพาร์ติชันที่เลือก

ปัญหาที่ทราบของ MBR2GPT

หลังจากแปลงตารางพาร์ติชันโดยใช้ mbr2gpt บ่อยครั้งมีปัญหากับ BitLocker และ Hyper-V (พร้อมใช้งานใน Windows 10 Pro และ Enterprise)

หากคุณแปลงดิสก์ระบบและพยายามเปิดใช้งาน BitLocker คุณอาจได้รับข้อความข้อผิดพลาด: The system cannot find the file specified นี่น่าจะเป็นปัญหากับ Windows Recovery Environment (WinRE)

ลองเปลี่ยนชื่อไฟล์ %windir%\System32\Recovery\ReAgent.xml และเปิดใช้งาน BitLocker (ไฟล์ ReAgent.xml ใหม่จะถูกสร้างโดยอัตโนมัติ)

อาจมีข้อผิดพลาดเมื่อเริ่มต้น Hyper-V virtual machines:

Virtual machine could not be started because the hypervisor is not running.

เพื่อแก้ไขข้อผิดพลาดนี้ คุณต้องเปิดใช้งาน Hyper-V autostart ในการกำหนดค่า BCD:

BCDEDIT /Set {current} hypervisorlaunchtype auto

หากคุณพยายามแปลงดิสก์กับ Windows เวอร์ชันก่อนหน้า (7/8.1) เครื่องมือจะให้ข้อผิดพลาด mbr2gpt cannot install new boot files ในกรณีนี้ แนะนำให้ทำ in-place upgrade เป็น Windows 10 ก่อน และหลังจากนั้นจึงแปลงตารางพาร์ติชัน