Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows 7

Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)

Hôm nay chúng ta sẽ xem cách cài đặt / khởi động Windows hiện đại (Windows 7, 10) trên máy cũ dùng BIOS (không hỗ trợ UEFI) với ổ cứng dùng bảng phân vùng GPT. Vấn đề nảy sinh khi cài Windows Server 2008 R2 trên HP DL380 G8 (HP DL không hỗ trợ EFI) với RAID 5 tổng dung lượng > 4 TB. Trên MBR, Windows chỉ thấy 2 TB, không truy cập được 2 TB còn lại. Cách duy nhất tận dụng hết dung lượng là chuyển sang GPT.

Bài viết hướng dẫn cấu hình Windows boot từ ổ GPT trên BIOS classic (hoặc Legacy BIOS). Windows không thể boot từ GPT trên BIOS cũ. Giải pháp: di chuyển Windows bootloader (BCD) sang USB flash drive nhỏ (hoặc ổ HDD) có bảng phân vùng MBR. USB này chỉ dùng để khởi động bootloader, sau đó chuyển quyền điều khiển cho Windows chính trên ổ GPT. Hướng dẫn áp dụng cho Windows 7, 10 và các bản x86/x64 hỗ trợ.

Ưu điểm GPT so với MBR

  1. Hỗ trợ ổ cứng > 2.2 TB (GPT max 9.4 ZettaBytes = 9.4 x 10²¹ byte);
  2. Hỗ trợ tới 128 phân vùng (MBR chỉ 4);
  3. Độ tin cậy cao nhờ bản sao bảng phân vùng ở nhiều vị trí và kiểm tra CRC;
  4. Không cần phân vùng logic dễ gặp lỗi.

Khởi động Windows từ ổ GPT

Theo tài liệu Microsoft (https://msdn.microsoft.com/en-us/windows/hardware/gg463525.aspx), mọi OS từ Windows Server 2003 SP1 đều hỗ trợ volume GPT làm data disk. Nhưng chỉ Windows 64-bit trên mainboard UEFI mới boot từ volume GPT. Do đó không cài/boot được Windows từ GPT trên BIOS cũ.

Mẹo: Có cách boot Windows 10/7 x64 trên BIOS từ GPT dùng DUET (Developer's UEFI Environment) giả lập EFI. BIOS boot SYSLINUX → load UEFI emulator (DUET) → gọi bootloader Windows chuẩn (bootx64.efi). Hoặc chuyển disk sang hybrid MBR bằng gdisk (Linux). Cả hai phức tạp, cần kiến thức Linux nâng cao.

Lưu ý quan trọng: Chỉ boot Windows x64 từ GPT được trên hệ thống UEFI.

Nếu PC dùng BIOS và cần ổ GPT, cách dễ nhất: thêm ổ MBR thứ 2 (HDD/SSD), cài Windows lên đó và boot từ ổ đó.

Chúng ta sẽ biến thể kỹ thuật này: dùng USB flash drive/SD card nhỏ (≥ 64 MB) định dạng MBR, chứa Windows Boot Manager (bootmgr) nhỏ. USB này cung cấp boot khởi tạo và chuyển điều khiển cho bootloader hệ thống chính trên volume GPT.

Quan trọng! BIOS phải hỗ trợ boot từ USB/SD card.

→ Boot mọi phiên bản Windows (cả x86 và x64!!!) trên hệ thống BIOS (không EFI) được hỗ trợ.

Cài Windows trên ổ GPT trên PC BIOS

Giả sử máy BIOS, ổ cứng GPT. Khi cài Windows lên ổ GPT, Windows Setup báo lỗi:

Windows cannot be installed to this disk the selected disk is of the GPT Partition Style

Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)

Mẹo: Chuyển partition table MBR → GPT (mất dữ liệu) bằng Shift+F10 trên màn hình Setup:
diskpart → select disk 0 → clean → convert gpt

Lúc này chỉ cài Windows 10/8.1/7 lên GPT được ở chế độ UEFI qua DUET emulation. Chỉ cài được 64-bit, thủ tục phức tạp.

Dễ hơn: cài Windows lên ổ MBR bình thường, sau đó chuyển sang GPT bằng gptgen.

Gptgen: Chuyển MBR sang GPT không mất phân vùng

Disk Management chỉ chuyển MBR→GPT nếu ổ unallocated hoặc "clean". Không chuyển được ổ đã cài OS.

Lưu ý: Windows 10 1703+ có mbr2gpt.exe chuyển MBR→GPT không mất dữ liệu (xem bài Convert MBR to GPT without losing data in Windows 10).

Để chuyển online, dùng tool nhỏ Gptgen thay đổi partition table on-the-fly không xóa phân vùng (không mất dữ liệu).

Quan trọng! Trước khi chuyển, khuyên sao lưu dữ liệu quan trọng ra ổ ngoài. Dù chưa thấy gptgen fail gây crash filesystem, nhưng nên phòng ngừa.

  1. Tải gptgen, giải nén (ví dụ: c:\tools\gptgen-1.1).
  2. Mở CMD quyền Admin.
  3. Chạy: diskpart
  4. Xem ổ đĩa: list disk
    Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)
  5. Ví dụ: 1 ổ 40 GB index 0 (Disk 0), MBR (cột GPT trống). Chuyển bằng:
    gptgen.exe -w \\.\physicaldrive0
    (0 cuối = disk 0). Chương trình cảnh báo không đảm bảo boot sau chuyển đổi. Chọn Y.
gptgen.exe: Partition table converter v1.1
 Boot: 1, Type: 0x7, Start: sector 2048, Length: 204860 sectors
 Boot: 0, Type: 0x7, Start: sector 206858, Length: 83685636 sectors
 WARNING: Boot partition(s) found. This tool cannot guarantee that
 such partitions will remain bootable after conversion.
 Do you want to continue? [Y/N] y
 Writing primary GPT and protective MBR to LBA address 0…
 Writing secondary GPT to LBA address 83786657…
 Success!

Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)

→ Chuyển partition table sang GPT thành công!

Di chuyển Windows Bootloader sang USB Flash Drive

Khởi động lại, kiểm tra BIOS không boot từ ổ GPT. OK! Cắm USB/SD card nhỏ. Boot từ media cài Windows (DVD/USB), Shift+F10 mở CMD:

  1. diskpart
  2. list disk → giờ có 2 ổ: Disk 0 (40 GB, OS, cột GPT có *), Disk 1 (1 GB USB).
    Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)
  3. Xác định ổ và letter:
    • select disk 0 → list volume
      Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)
    • Theo size, OS cài trên Volume 2, letter D: (có thể khác letter Windows hiển thị).
  4. Tạo phân vùng trên USB:
    • select disk 1
    • clean
    • create partition primary size=1000 (1 GB)
    • format fs=fat32 (KHÔNG dùng NTFS, BIOS không boot từ NTFS)
    • select partition 1
    • active
    • list volume → volume mới là Volume 3
    • select volume 3
    • assign letter=G
    • Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)
    • list volume kiểm tra letter G:
      Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)
    • exit thoát diskpart
  5. Copy file boot environment từ system volume sang USB:
    bcdboot d:\Windows /l en-us /s g:
  6. Ghi boot code lên USB để bootmgr khởi động:
    bootsect /nt60 G: /mbr /force
  7. Restart.

Vào BIOS đổi boot order: USB/SD card lên đầu. Lưu thay đổi. Nếu đúng, hệ thống boot bình thường. Kiểm tra Windows nằm trên ổ GPT: mở diskmgmt.msc → Properties ổ hệ thống → tab Volumes → Partition style: GUID Partition Table.

Khởi động Windows 7 / 10 từ ổ GPT trên BIOS (non-UEFI)

Cách này cho phép tận dụng hết ưu điểm GPT và toàn bộ dung lượng ổ cứng (> 2.2 TB) trên hệ thống BIOS (không UEFI). Áp dụng cho:

  • Windows 10 / Windows Server 2016
  • Windows 8, 8.1, Server 2012 / 2012 R2
  • Windows 7, Vista, Server 2008 / 2008 R2
  • Windows Server 2003 SP1 / 2003 (x64)
  • Windows XP x64

Lưu ý: Mỗi lần bật/reboot, USB flash drive chứa bootloader MBR phải cắm vào máy, nếu không Windows sẽ không boot.

Một số model BIOS cũ không làm việc với ổ GPT, disk không được nhận diện trong CMOS.