2011-02-08 60 views
14

Tôi đang học về phát triển trình điều khiển chế độ lõi hạt nhân. Tôi đã viết một trình điều khiển thử nghiệm nhỏ mà tôi có thể đăng ký thành công, hủy đăng ký, tải và dỡ bỏ trong phiên bản Windows 7 32bit Ultima chạy dưới một máy ảo trong VirtualBox.Tùy chọn khởi động Windows7 để cho phép các trình điều khiển chưa được bỏ qua bị bỏ qua

Máy chủ lưu trữ của tôi là phiên bản Windows 7 64bit Home Premium.

Trình điều khiển, được biên dịch cho 64 bit, sẽ không tải dưới phiên bản Windows 7 Home. Tôi tiếp tục nhận được một từ chối nhận thấy rằng phiên bản này của cửa sổ không cho phép trình điều khiển unsigned.

Tôi đã thử hai điều:

  1. Tôi đã sử dụng các tùy chọn khởi động F8 để cho phép trình điều khiển unsigned (không làm việc)

  2. tôi chạy một CMD as administrator và thực hiện sau hai lệnh

    bcdedit.exe loadoptions -Thiết DDISABLE_INTEGRITY_CHECKS

    bcdedit.exe -Thiết TESTSIGNING ON

và khởi động lại. Máy tính để bàn của tôi hiển thị cho tôi trong "TestMode" nhưng tôi vẫn nhận được thông báo từ chối giống nhau.

Có ai có thể giúp tôi ở đây hoặc giải thích nếu có một bước bổ sung cho ấn bản Home không?

---- {update} ---- Sau khi rót qua tấn công cụ MSDN, nó sẽ xuất hiện giải pháp của tôi nằm trong tự ký trình điều khiển mà tôi đã tạo. DDK tôi đã tải xuống dường như không có chuỗi công cụ để tự ký. Tôi đã tải xuống WinDDK-7600.16385.1. Nhưng điều kỳ lạ là Windows Ultima Edition của tôi vui vẻ tải trình điều khiển của tôi nếu tôi chỉ đơn giản là thời gian khởi động F8 @ và yêu cầu nó cho phép các trình điều khiển chưa được ký.

+0

OT:

+1

tin tưởng tôi, Nathan, trong văn phòng nơi tôi làm việc, được gọi là Linux bigot (vì lý do chính đáng), bài đăng này và sự thất vọng của tôi với các sản phẩm của Microsoft chỉ giúp ích cho trường hợp của tôi. Vì vậy, tôi hiện đang học về phát triển trình điều khiển chế độ lõi hạt nhân cho một dự án cần hỗ trợ Windows OS dưới dạng trình điều khiển Kernel. Chúng tôi có một thiết bị phần cứng tùy chỉnh mà chúng tôi liên lạc với qua USB mà chúng tôi cần gửi dữ liệu quá liên tục trong khoảng thời gian chính xác. Việc sử dụng các bộ đếm thời gian của cửa sổ và hẹn giờ không đủ tốt cho nhu cầu của chúng tôi. Bất kỳ ý nghĩ bên nào về điều này đều được hoan nghênh! – Eric

+0

http://stackoverflow.com/questions/84847/how-do-i-create-a-self-signed-certificate-for-code-signing-on-windows –

Trả lời

6

Bạn có thể thử Driver Signature Enforcement Overrider. Nó được hỗ trợ trên các phiên bản Windows 7 64 bit và các báo cáo mà tôi đã thấy xác nhận rằng nó thực sự hoạt động trên phiên bản "Home Premium".

          Driver Signature Enforcement Overrider screenshot

  1. Tải ứng dụng từ liên kết dưới đây. Nhấp chuột phải vào nó và chọn "Chạy với tư cách là quản trị viên". Bên trong menu chính, nhấn vào nút “Bật Chế độ thử nghiệm” và làm theo các hướng dẫn trên màn hình. Điều này sẽ bật chế độ TESTSIGNING, cho phép tải tệp hệ thống chưa được xác minh.

  2. Bây giờ tất cả những gì bạn phải làm là thêm chữ ký chưa được xác minh vào các tệp hệ thống bắt buộc . Để làm như vậy, hãy nhấn trên nút “Đăng tệp hệ thống” từ menu chính và nhập tên tệp cụ thể bao gồm đường dẫn đầy đủ. Ví dụ: : nếu ATITool64.sys từ C: \ Windows \ System32 \ drivers từ chối tải do chữ ký trình điều khiển thực thi, bạn nên nhập: “C: \ Windows \ System32 \ drivers \ ATITool64.sys”, và nếu bạn muốn ký nhiều hơn so với một tệp duy nhất, chỉ cần lặp lại quy trình này cho đến khi bạn hoàn tất và cuối cùng khởi động lại.

Sau khi bạn kích hoạt chế độ kiểm tra và bổ sung chữ ký với hệ thống yêu cầu tác phẩm, họ nên bỏ qua chữ ký thi hành lái xe của Windows và tải mà không cần bất kỳ vấn đề. Tuy nhiên, nếu vì một số lý do bạn quan tâm để hoàn nguyên, bạn có thể khởi chạy lại ứng dụng , chọn “Tắt Kiểm tra Chế độ” từ menu chính và khởi động lại. Nếu bạn gặp sự cố hoặc có câu hỏi, vui lòng đăng câu hỏi trên diễn đàn của chúng tôi.

Lưu ý: DSEO yêu cầu quyền quản trị (Chạy với tư cách quản trị viên).

Thậm chí nó còn cho phép bạn xóa hình mờ khỏi màn hình nền của mình!

+1

bạn biết đấy, tôi đã chạy qua tiện ích đó nhưng tôi đã không Tôi không tin tưởng nó vì trang web tôi thấy trên đó, có dấu hiệu tai nạn của một trang web được tải bằng vi-rút và những gì không .... Tôi có thể sử dụng nó như một phương sách cuối cùng. Tôi không thể tìm thấy gì trên MSDN. Tôi cũng lặp lại các bước trong bài đăng của mình bằng TESTSIGNING OFF và vẫn không hoạt động .. Tôi muốn tìm cách "đúng" để thực hiện việc này trước cũng như hiểu tại sao Home Edition bị chặn. – Eric

+0

@Eric: Vâng, bạn sẽ không tìm thấy nó trên MSDN. Đây chính thức ** không được hỗ trợ ** trong các phiên bản "Home". Trang web này không quá sơ sài đối với tôi và tiện ích được hỗ trợ tốt/được xem xét trên web. Tôi không chắc chắn tôi có thể cung cấp cho bạn một câu trả lời * tại sao * các phiên bản "Home" bị chặn, nhưng tôi cho rằng đó là vì chúng có thể. Người dùng gia đình điển hình không làm phát triển trình điều khiển và do đó không có nhu cầu về tính năng này. Cho phép nó là một lỗ hổng bảo mật có thể, và mọi người đã kêu gọi trong nhiều năm mà Windows bảo mật. Không ai hạnh phúc cả. –

+0

khi bạn nói "chính thức không được hỗ trợ", bạn có thể cung cấp liên kết trên trang web của Microsoft với hiệu ứng này không? Tôi có xu hướng tin rằng bạn & chấp nhận điều này như là câu trả lời nhưng tìm kiếm thêm một chút "chính thức" từ. Theo quan điểm của bạn về phiên bản Home được sử dụng để phát triển, máy tính xách tay đã được cài đặt phiên bản Windows này với giá đóng cửa, vì vậy việc nâng cấp lên PRO đòi hỏi phải có M $ $$ nhiều hơn, có vẻ hơi vô lý đối với mọi thứ khác mà tôi sử dụng máy tính này (mà không cần PRO). Tôi có cần PRO để làm phát triển trình điều khiển nên là câu hỏi, phải không? – Eric

4

Bạn không cần sử dụng công cụ đó. Chỉ cần kiểm tra ký trình điều khiển với chứng chỉ cá nhân của riêng bạn với signtool trong DDK.

+2

** makecert ** + ** signtool ** + xuất chứng chỉ sang định dạng .PFX và thêm chứng chỉ vào Windows. – gavenkoa

+0

Bài viết kỹ thuật về [ký gói trình điều khiển] (http://technet.microsoft.com/en-us/library/dd919238 (v = ws.10) .aspx). Bạn sẽ cần cả DDK và SDK để có được tất cả các công cụ. –

Các vấn đề liên quan