Buộc Windows Server 2008 sử dụng bộ tải khởi động BIOS kế thừa thay vì EFI


12

Chúng tôi có máy chủ UEFI và đã gặp phải tình huống bắt buộc Windows Server 2008 phải khởi động thông qua phương pháp BIOS kế thừa thay vì thông qua UEFI.

Có cách nào để bảo Windows Server 2008 (trong khi cài đặt hoặc sau khi cài đặt) bỏ qua thực tế là nó đang cài đặt vào máy EFI và thay vào đó cài đặt và sử dụng bộ tải khởi động BIOS kế thừa?


Tôi đã thử một vài gợi ý không giúp được:

  • Định dạng đĩa dưới dạng phân vùng MBR trước khi cài đặt Windows

    Không, Windows từ chối cài đặt:Trên các hệ thống EFI, Windows chỉ có thể được cài đặt vào các đĩa GPT

  • Cài đặt Windows, di chuyển phân vùng sang đĩa MBR, sửa chữa hệ thống

    Không, bảng điều khiển sửa chữa hệ thống từ chối tải. Nó phàn nàn rằng nó không nhận ra phiên bản Windows tôi đang cố sửa chữa.

  • Vô hiệu hóa UEFI

    Nếu tôi có thể vô hiệu hóa UEFI và làm cho hệ thống chỉ có di sản, tôi sẽ có. Tuy nhiên, các hệ thống cụ thể mà tôi đang sử dụng (IBM HS22, x3690X5) chỉ có UEFI với sự hỗ trợ cũ. Bạn không thể vô hiệu hóa UEFI trên chúng. Điều đó sẽ yêu cầu thực hiện BIOS hoàn chỉnh.


Giải pháp!

Như JdeBP chỉ ra, phương pháp duy nhất Windows sử dụng để xác định xem nên sử dụng bộ tải khởi động EFI / GPT hay BIOS / MBR là phương pháp được sử dụng để khởi động CD cài đặt.

Kết hợp điều này với đề xuất của Weaver để tạo ra một hình ảnh .iso mà không cần nhập danh mục khởi động 0xEF (dễ dàng thực hiện hơn bằng cách chỉnh sửa hex thay vì làm lại hình ảnh, nhân tiện) dẫn chúng ta đến một câu trả lời ngắn gọn, súc tích:

Buộc phương tiện cài đặt khởi động qua BIOS, không phải qua UEFI vì đây là trình phân biệt duy nhất mà Windows Installer sử dụng để xác định nên sử dụng sơ đồ khởi động nào.


Đây sẽ là phần cứng cụ thể. Nó có thể giúp nếu bạn đề cập đến các thiết bị và mô hình. Một số nhà cung cấp cung cấp tùy chọn cho chế độ tương thích BIOS trong màn hình thiết lập hoặc dưới dạng tùy chọn khởi động.
Tom Willwerth

Lý do tôi không đề cập đến phần cứng trong câu hỏi là một lựa chọn có chủ ý. Tôi muốn thực hiện thay đổi này ở phía Windows bằng cách bảo nó sử dụng bộ tải khởi động khác. IBM x3690X5 của tôi đã được bật khả năng tương thích BIOS, vì vậy mọi trình tải BIOS sẽ hoạt động. Vấn đề là bảo W2K8 không sử dụng bộ tải khởi động UEFI của nó.
MikeyB

2
@MikeyB: Tại sao không sử dụng GPT?
tegbains

@tegbains: $ BIGCUSTOMER có môi trường hình ảnh sử dụng một sản phẩm không hỗ trợ đúng cách GPT.
MikeyB

1
Nếu không mất hai tuần để loại bỏ thông tin rất quan trọng này ra khỏi bạn, chúng tôi có thể đã cứu Weaver rất nhiều đau buồn. Tôi khuyên bạn nên chỉnh sửa câu hỏi của mình để phản ánh mục tiêu thực tế, bởi vì những gì trong tiêu đề là bước X mà bạn không thể làm việc và câu hỏi của bạn rất sai lệch.
JdeBP

Câu trả lời:


6

Microsoft sẽ không cho phép bạn đạt được bước đi của mình; Vì vậy, giải quyết mục tiêu của bạn thay vào đó.

Microsoft nhầm lẫn có một đĩa cứng được phân vùng EFI với phần sụn EFI . Điều này, tất nhiên, rõ ràng sai. Điều này hoàn toàn có thể - và thực sự ngày càng trở nên đáng mong đợi hơn - để có một đĩa được phân vùng EFI trên một máy có phần sụn không phải EFI cũ. Bạn thực sự - mặc dù phải mất một hai tuần để mọi người ở đây vắt kiệt mục tiêu ra khỏi bạn hơn là bước - muốn trò chuyện. Bạn muốn có một đĩa được phân vùng MBR kiểu PC / AT cũ trên một máy có phần sụn EFI. .

Một trong những hậu quả của lỗi Microsoft là trình cài đặt Windows NT 6.1 phải được gọi từ một phương tiện cài đặt đã được khởi động từ phần sụn PC98 cũ, để nó chấp nhận ý tưởng cài đặt Windows NT 6.1 vào đĩa phân vùng với sơ đồ phân vùng PC / AT MBR cũ. Thật không may, nếu đĩa cài đặt Windows NT bị bootstraged theo cách EFI mới, trình cài đặt sẽ nghĩ rằng có phần mềm EFI và do đó tuyên bố rằng nó không thể được cài đặt vào các đĩa cứng không phân vùng EFI.

Như Weaver đã chỉ ra, và như tài liệu của Microsoft giải thích , CD-ROM cài đặt trên thực tế là khởi động kép. Như Rod Smith giải thích thêm , do đó, người ta có thể tự tạo một đĩa cài đặt Windows NT 6.1 bootstraps theo cách PC98 cũ. Trình cài đặt Windows NT 6.1 sau đó sẽ cho phép cài đặt vào đĩa cứng được phân vùng PC / AT MBR cũ.

Tuy nhiên, trên các hệ thống thiếu mô-đun hỗ trợ tương thích , như bạn nói hệ thống của bạn làm, điều này sẽ không giúp ích gì cho một hệ thống . Hệ thống của bạn sẽ yêu cầu phiên bản EFI của Trình quản lý khởi động của Microsoft, được cài đặt trên Phân vùng hệ thống EFI, vì đó là cách phần sụn của bạn sẽ cố gắng khởi động hệ điều hành. Nhưng khi trình cài đặt Windows NT 6.1 được khởi động trên phần sụn không phải EFI, nó sẽ cài đặt phiên bản không phải EFI của Trình quản lý khởi động của Microsoft và sẽ không tạo Phân vùng hệ thống EFI. Cài đặt như vậy sẽ không thực sự bootstrap trên máy của bạn và thậm chí bạn sẽ không thể hoàn tất quy trình cài đặt. Thật vậy, vì bạn thiếu CSM, bạn thậm chí sẽ không thể bắt đầuquy trình cài đặt, vì bạn thậm chí sẽ không thể khởi động đĩa cài đặt theo cách PC98 cũ. Microsoft sẽ không cho phép bạn đạt được bước của mình, hơn hai lần.

Vì vậy, tập trung vào mục tiêu của bạn, thay vào đó. Mục tiêu của bạn là cho phép khách hàng của bạn triển khai Windows Server 2008 lên các máy có phần sụn EFI từ hình ảnh hệ thống. Do đó, câu hỏi chính xác mà bạn nên hỏi - của nhà cung cấp phần mềm - là làm thế nào để sửa phần mềm hình ảnh đĩa cũ / hỏng đó để nó không gặp rắc rối với bảng phân vùng EFI.


Ồ, hệ thống của tôi không thiếu chế độ tương thích, đó không phải là vấn đề. Vì vậy, bạn đang nói rằng cách duy nhất trình cài đặt Windows phát hiện xem hệ thống có phải là EFI thông qua phương thức được sử dụng để bootstrap không? Đó là thông tin mới và quan trọng - Tôi sẽ thử.
MikeyB

Ah ah! Nó hoạt động! Đó là thông tin quan trọng mà tôi cần: "Buộc phương tiện cài đặt khởi động qua BIOS, không phải qua UEFI vì đây là phương pháp mà Windows Installer sử dụng để xác định nên sử dụng sơ đồ khởi động nào."
MikeyB

@JdeBP +1 cho bạn một câu trả lời tuyệt vời.
Thợ dệt

7

Tóm lại, có và không vì một vài lý do khác nhau. Nếu Windows đang khởi động từ đĩa GPT, thì nó phải từ UEFI. Trình quản lý và trình tải khởi động Windows không thể khởi động vào đĩa MBR từ UEFI gốc . Tuy nhiên, nếu UEFI được cấu hình cho chế độ khởi động BIOS kế thừa thì có thể sử dụng đĩa MBR để khởi động. Điều này xuất phát từ chế độ khởi động Windows (BIOS với MBR hoặc UEFI với GPT) phụ thuộc vào môi trường mà nó được ghen tị.

Đọc cho một chút công nghệ -

Phần cứng vật lý (hoặc phần cứng ảo, nhưng dù sao phần cứng) (BIOS / UEFI) cung cấp môi trường hoạt động ban đầu (các cấu trúc và quy ước dữ liệu liên quan đến khởi động) và các dịch vụ phần sụn có sẵn cho các giai đoạn tiếp theo của quy trình khởi động hệ điều hành.

BIOS / MBR

Trong trường hợp BIOS / MBR khởi động, khu vực đầu tiên của đĩa khởi động đầu tiên - bản ghi khởi động chính (LBA 0) chứa một tập hợp x86 (16 bit 8088), sau đó là bảng phân vùng, sau đó là chữ ký). BIOS tải khu vực này vào bộ nhớ và bắt đầu thực thi - BIOS từ bỏ quyền kiểm soát mã chương trình của chính nó ngay khi MBR tham gia.

http://mbr.adamsatoms.com/

http://www.ata-atapi.com/hiwmbr.html

Lắp ráp x86 (Intel 8088 trong hầu hết MBR) trong MBR phân tích bảng phân vùng, tìm kiếm phân vùng hoạt động và nhảy đến khu vực đầu tiên trong phân vùng đó - được gọi là bản ghi khởi động âm lượng. Bản ghi khởi động âm lượng chứa jmp lắp ráp x86, khối tham số BIOS (hoàn toàn không được sử dụng bởi BIOS hệ thống, vì vậy tên khó hiểu) và một cụm x86 khác tải cuối cùng tải bộ tải khởi động của hệ điều hành (NTLDR hoặc BOOTMGR trong môi trường Windows ) từ chính khối lượng khởi động / phân vùng.

NTLDR hoặc BOOTMGR lật CPU sang chế độ được bảo vệ, tham khảo cấu hình thời gian khởi động của chúng (boot.ini hoặc BCD tương ứng, cả trên ổ đĩa / phân vùng khởi động) và tải NTOSKRNL trong đó phần còn lại là lịch sử.

http://technet.microsoft.com/en-us/l Library / cc781134% 28WS.10% 29.aspx

http://en.wikipedia.org/wiki/Windows_NT_startup_ process

http://homepage.ntlworld.com./jonathan.deboynepollard/FGA/bios-parameter-block.html

UEFI / GPT

Trước tiên, hãy để tôi nói rằng tôi không có nhiều kinh nghiệm tích cực với UEFI / GPT. Tuy nhiên, như tôi đã sử dụng và hiểu nó để vận hành - sự khác biệt lớn (vì nó liên quan đến cuộc trò chuyện của chúng tôi) là điều khiển thực thi không được chuyển sang MBR.

Thay vào đó, phần sụn UEFI chứa trình quản lý khởi động riêng. Trình quản lý khởi động này quét các đĩa và phương tiện, - phủ lên MBR bảo vệ của các đĩa được định dạng GPT, đến tiêu đề GPT và sau đó đi sâu vào Phân vùng hệ thống EFI (ESP) nơi nó tìm các chương trình thực thi EFI - được cho là Là bộ tải khởi động hệ điều hành khởi động trực tiếp HĐH, tuy nhiên như chúng ta đã thấy với các tệp thực thi MS và Apple EFI mới nhất, trên thực tế, chúng là các trình quản lý khởi động thêm một lớp khác vào quy trình và độ phức tạp.

http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/efi-boot- Process.html

http://msdn.microsoft.com/en-us/windows/hardware/gg463525#X-201104111922443

Kết luận / TL; DR

Điểm cần tránh khỏi điều này là có một môi trường dự kiến ​​trong đó trình quản lý khởi động và bộ tải khởi động của hệ điều hành dự kiến ​​sẽ chạy. Từ các dịch vụ cấp phần sụn có sẵn (ngắt BIOS / UEFI), cấu trúc dữ liệu (biến, quy ước ngăn xếp, v.v.) và thậm chí cả quy ước định dạng đĩa. Không thể thay đổi trong thời gian chạy - ít nhất không phải là cách tôi hiểu nó.

Lựa chọn của bạn?

Cài đặt sẵn, bạn có thể kiểm soát cài đặt bằng cách sử dụng BIOS / MBR hoặc UEFI khi khởi động BIOS kế thừa với MBR hoặc UEFI với GPT.

Sau khi cài đặt - có thể có một số khả năng thú vị khi thay đổi định dạng đĩa (MBR thành GPT và GPT thành MBR) ngoại tuyến, sau đó khởi động vào bảng điều khiển khôi phục (ở chế độ UEFI hoặc BIOS thích hợp) và làm việc với bcdboot và bcdedit để có Windows quản lý khởi động đặt thẳng.

Cập nhật 2011/09/09

@MikeyB

Các tùy chọn liệt kê như tôi hiểu chúng là, không thực sự đưa ra bất kỳ đề xuất chính thức nào.

Tuy nhiên, sau khi nghiên cứu thêm một chút về UEFI (nhớ lại rằng tôi không có nhiều kinh nghiệm tích cực với nó) Tôi đã phát hiện ra một vài thông tin thú vị về trình quản lý khởi động UEFI và hỗ trợ khởi động CD / DVD.

Đặc điểm kỹ thuật khởi động El Torito, từ '95 vẫn còn khoảng ngày nay và được sử dụng với các đĩa CD / DVD có thể khởi động. Một đĩa CD / DVD có thể phải khởi động trên một số kiến ​​trúc - và trong khi ISO 9660 khá độc lập với nền tảng, mã thực thi thì không. Như vậy, Đặc tả khởi động El Torito cho phép nhiều mục / hình ảnh khởi động.

Các mục / hình ảnh này chứa ID nền tảng , nhằm mục đích cho biết liệu một mục nhập dành cho PC, PowerPC và các kiến ​​trúc khác để BIOS (hoặc phần sụn) của kiến ​​trúc có thể chọn mục nhập khởi động phù hợp.

PC x86 tiêu chuẩn có BIOS có ID nền tảng El Torito là 0x00. ID nền tảng có khả năng của UEFI là 0xEF - khá sáng tạo.

BIOS PC x86 tiêu chuẩn bỏ qua tất cả các mục khác ngoại trừ 0x00. Phần sụn của UEFI có hỗ trợ BIOS kế thừa (được gọi là Mô đun Hỗ trợ Tương thích (CSM)) - trong khi có thể khởi động 0x00, sẽ thích mục nhập khởi động gốc 0xEF từ danh mục.

Phương tiện DVD Windows 2008, 2008 R2 và 7 chứa một danh mục El Torito nhiều hình ảnh với cả 0x00 và 0xEF. 0x00 là mặc định, nhưng UEFI sẽ che phủ nó nếu 0xEF tồn tại và chọn mục nhập 0xEF - vì nó là bản địa.

Điều có thể - là tạo phương tiện thủ công chỉ chứa ID nền tảng ưa thích trong danh mục khởi động El Torito. Thay vì một danh mục nhiều mục, hãy tạo một danh mục đơn với ID nền tảng 0x00. Điều này sẽ buộc phần sụn UEFI, trong thực tế, nó hỗ trợ khởi động BIOS kế thừa, chọn ID nền tảng 0x00 và khởi động mục khởi động BIOS kế thừa trên phương tiện Windows.

Làm thế nào để làm nó?

Sử dụng Oscdimg là có thể. Dưới đây là một số ví dụ về những người tạo phương tiện chỉ UEFI để khắc phục những hạn chế trong việc triển khai UEFI của Apple. Lưu ý rằng điều này ngược lại với những gì chúng tôi đang cố gắng thực hiện - chúng tôi chỉ muốn tạo một BIOS, loại bỏ mục khởi động UEFI khỏi danh mục.

Chỉ UEFI (Đối diện) 1

Chỉ UEFI (Đối diện) 2

Quá trình tạo phương tiện chỉ BIOS tương tự với các thay đổi đối với -b-pđối số sau đây

-bC:\path\to\Etfsboot.com -p0x00

Một nguồn tài nguyên tuyệt vời làm sáng tỏ sự điên rồ được lựa chọn của Microsoft trên phương tiện cài đặt Windows là Hỗ trợ và Yêu cầu của UEFI đối với tài liệu Hệ điều hành Windows .


1
"Cài đặt sẵn, bạn có thể kiểm soát cài đặt bằng cách sử dụng BIOS / MBR hoặc UEFI trong khởi động BIOS kế thừa với MBR hoặc UEFI với GPT." OK, vậy làm thế nào để bạn nói với Windows: "Cài đặt vào bảng phân vùng kiểu MSDOS."?
MikeyB

@MikeyB Khởi động phương tiện cài đặt Windows trong hệ thống máy tính với BIOS truyền thống. Hoặc - khởi động phương tiện cài đặt Windows trong hệ thống máy tính với UEFI được đặt ở chế độ khởi động BIOS kế thừa. Lưu ý rằng UEFI của bạn phải hỗ trợ chế độ khởi động BIOS kế thừa.
Thợ dệt

Bạn đang đề nghị tôi cài đặt Windows lên một máy tính hoàn toàn khác sau đó di chuyển các đĩa? Không phải là một ý tưởng tốt ở tất cả. Ngoài ra, khi bạn đặt máy tính UEFI thành mode chế độ BIOS kế thừa ', nó chỉ cho phép các móc BIOS kế thừa để khởi động các đĩa MBR cũ. Nó không tắt UEFI , vì vậy Windows vẫn nói "Đây có phải là hệ thống UEFI không? Yup."
MikeyB

@MikeyB Đã thêm cập nhật cho câu trả lời ban đầu.
Thợ dệt

1
Tôi đã thấy một cái gì đó tương tự với máy chủ 2008, trong quá trình tìm hiểu về giới hạn kích thước đĩa BIOS và MBR. Tôi đã xây dựng một máy chủ với 2008 R2 và kích hoạt chế độ BIOS kế thừa do thực tế là nó sẽ không cài đặt với phương tiện USB (lỗi MS) tuy nhiên tôi thấy nó đã sử dụng MBR thay vì GPT vì BIOS không có khả năng tải GPT (trừ khi bạn có một bộ tải khởi động của một số loại). Nói tóm lại, chuyển sang chế độ cũ chắc chắn sẽ cài đặt ở chế độ cũ, bằng chứng sẽ nằm trong trình quản lý đĩa nơi bạn sẽ thấy MBR chứ không phải đĩa GPT.
Alex Berry

3

Một phương pháp đơn giản là thực hiện cài đặt cơ bản Windows trên máy không hỗ trợ EFI, chụp bằng phần mềm hình ảnh của bạn và khôi phục phần cứng thực.

Một lựa chọn tốt có thể là xây dựng cài đặt cơ sở của bạn trong VM. Trong các phiên bản trước (ver <6) của Windows không thích ứng tốt để được chuyển từ loại phần cứng này sang loại phần cứng khác. Với các phiên bản gần đây, Windows miễn là bộ điều khiển lưu trữ được hỗ trợ trên hình ảnh, Windows sẽ làm rất tốt việc thích nghi với phần cứng mới.

Đĩa cài đặt Windows (ver> = 6) về cơ bản thường bao gồm một tệp wim mà về cơ bản chỉ là một hình ảnh của hệ điều hành.


Đó chính xác là những gì tôi sẽ đề nghị. Chạy thiết lập Windows trên một hệ thống khác (BIOS / MBR), sau đó di chuyển đĩa hoặc hình ảnh của nó đến máy chủ đích. Nếu nó khởi động, thì PnP sẽ xảy ra và nó sẽ vui vẻ chạy trên các phần cứng khác nhau.
Massimo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.