Đang cố gắng chạy Hyper-v 2016 từ USB


10

Đã thử kiểm tra Hyper-v 2016 sau đó nhưng tôi không thể khởi động R630 từ USB mà tôi đã định cấu hình bằng cách sử dụng các hướng dẫn sau https://technet.microsoft.com/l Library / ee731893 (ws.10) .aspx

Tôi đã sử dụng cùng một hướng dẫn chính xác trên Hyper-v 2012 R2 mà không gặp vấn đề gì.

Bất cứ ai cũng có may mắn với điều này?


1
Windows Server 2016 không phải là Windows Server 2008 R2, Windows Server 2012 hoặc Windows Server 2012 R2. Điều gì làm cho bạn nghĩ rằng điều này nên / sẽ làm việc? Tôi không thể tìm thấy bất kỳ tài liệu MS nào để đề xuất rằng nó có thể.
joeqwerty

3
bởi vì microsoft có sự chậm trễ trong việc cập nhật tài liệu suy nghĩ về tất cả các vấn đề với chính hệ thống, thật khó để giữ cho tất cả các tài liệu trực tuyến được cập nhật, nó sẽ mất thời gian ....... không có lý do gì nó không hoạt động như thế đó ......
Michal

Câu trả lời:


8

Tôi đã tìm thấy thông tin về việc triển khai Windows Server 2016 TP3 lên thẻ SD.

https://www.danielstechblog.info/how-to-deploy-windows-server-2016-tp3-onto-an-sd-card/

Chủ đề này mô tả việc triển khai Windows Server trên thẻ SD, nhưng đó là TP3. Tôi đoán bạn có thể thực hiện các hành động tương tự với phiên bản phát hành.

Ngoài ra, bạn có thể xem xét SATA DOM.

https://www.supermicro.com/products/nfo/SATADOM.cfm

Đó là giá rẻ và tùy chọn kích thước nhỏ cho bạn. Bạn có thể triển khai bất kỳ HĐH nào trên đó. Vì vậy, nó là một lựa chọn quá.


3

Tôi đã gặp vấn đề này gần đây và sau vài ngày gỡ lỗi, tôi đã phát hiện ra sự cố và khắc phục nó.

Trống cuộn xin vui lòng:

Sau khi cài đặt Hyper-V Server 2016, hãy sử dụng một công cụ ngoại tuyến (như Windows PE) để gắn tổ ong HỆ THỐNG của bản cài đặt mới và thay đổi DWORD ControlSet001 \ Control \ BootDriverFlags từ 0x04 thành 0x1c. (Có lẽ bạn cũng nên thay đổi phiên bản ControlSet002 để có biện pháp tốt và bạn có thể nướng các thay đổi vào install.wim của mình để tránh phải thực hiện việc này sau mỗi lần cài đặt.)

(Bởi vì tất nhiên phải mất một tuần và trình gỡ lỗi kernel để tìm ra rằng nó chỉ yêu cầu thay đổi hai bit trong một bitfield tối nghĩa và hoàn toàn không có giấy tờ.)

Đây là lý do tại sao.

Trình tải khởi động Windows sử dụng các thường trình UEFI tích hợp để tìm cài đặt Windows và tải kernel và trình điều khiển khởi động vào RAM trước khi gọi ExitBootService. Một khi nó đã thực hiện điều đó và chuyển điều khiển cho kernel, kernel không thể truy cập vào khối lượng khởi động trừ khi các trình điều khiển thích hợp đã có trong RAM.

Mặc dù đây là kicker: winload.efi không đủ phức tạp để liệt kê phần cứng và xác định trình điều khiển nào thực sự cần thiết. Trong các phiên bản cũ hơn, nó sẽ chỉ tải những thứ được đặt thành Khởi động. Tuy nhiên, tải trình điều khiển bên ngoài phải chịu một hình phạt hiệu suất và khi Windows bắt đầu hỗ trợ nhiều lớp thiết bị khởi động hơn, cần có một hệ thống tốt hơn.

Nhập giá trị BootFlags trên các trình điều khiển riêng lẻ và giá trị BootDriverFlags trên toàn hệ thống. Nếu (BootFlags & BootDriverFlags)! = 0, trình điều khiển sẽ được tải ngay cả khi nó không được đặt thành Khởi động khởi động. Mỗi bit trong giá trị được cho là tương ứng với một loại phần cứng khác nhau, do đó, giá trị BootDriverFlags đặt loại phần cứng nào có thể được khởi động từ đó.

Khi cơ chế này được giới thiệu, Bit 3 được chỉ định cho các thiết bị khởi động USB, nhưng việc khởi động từ các thiết bị USB không được hỗ trợ trong Windows tiêu chuẩn. Phiên bản Hyper-V Server 2008 R2 đã thêm hỗ trợ cụ thể để khởi động từ USB bằng cách đặt giá trị này thành 0x04 và giá trị này đã được đặt trong mọi phiên bản của Hyper-V Server được phát hành kể từ đó.

Những cải tiến chung được thực hiện kể từ đó để hỗ trợ tính năng Windows To Go có nghĩa là bạn không phải sử dụng thủ thuật boot-to-VHD được khuyến nghị cho các phiên bản trước của Hyper-V Server được cài đặt trên thiết bị USB. Tuy nhiên, chúng cũng thay đổi ý nghĩa của giá trị BootDriverFlags. Các thiết bị USB 3 đã được cung cấp một bit riêng biệt và đặc biệt thẻ SD đã được cung cấp thêm một bit nữa.

Trong phiên bản 2016, điều này có nghĩa là giá trị 0x04 hiện chỉ cho phép khởi động từ các đĩa USB2 không phải là thẻ SD. Tất cả các phiên bản của Server 2016 ngoại trừ Hyper-V Server đều có giá trị mặc định là 0x1c, cho phép khởi động thẻ USB2, USB3 và SD; tuy nhiên, giá trị 0x04 vẫn được đặt trong Máy chủ Hyper-V, vì nó đã được thêm dưới dạng ghi đè trong quy trình xây dựng hình ảnh cho phiên bản 2008R2. Tuy nhiên, thay vì thêm một tính năng, giá trị này sẽ loại bỏ nó.

Điều này giải thích tại sao một số giải pháp trước đây cho vấn đề này khuyến nghị vô hiệu hóa USB3 và khởi động từ thẻ nhớ USB thay vì thẻ SD: điều này sẽ buộc danh mục thiết bị khởi động phải là một định nghĩa được giới hạn bởi "USB" "Bit trong BootDriverFlags.


Danh sách các giá trị cờ và ý nghĩa của chúng có thể được tìm thấy ở đây: docs.microsoft.com/en-us/windows-hardware/drivers/install/ trộm
RJ Cuthbertson

@RJCuthbertson Rất đẹp!
Reid Rankin

1

Tôi đã làm theo chỉ dẫn của chữ cái (với ngoại lệ duy nhất là ký tự ổ đĩa) cho Hyper-V Server 2016 và nó hoạt động hoàn hảo cho Máy chủ Dell PowerEdge T710 cũ. Nó đang chạy trên cổng USB nội bộ bây giờ. Tuy nhiên, đơn vị Dell có thể nói với hệ thống rằng USB bên trong sẽ xuất hiện dưới dạng đĩa cứng. Đó có thể là sự khác biệt. Nhưng tôi có thể nói có, bạn có thể ngoại suy các hướng dẫn cho 2008 R2 và áp dụng nó cho HyperV Server 2016 tốt.

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.