Tôi có quyền truy cập vào máy mà tôi có thể ssh. Làm cách nào để xác định xem hệ điều hành của tôi có đang chạy hoàn toàn ảo hóa không (nơi VMM thực hiện dịch nhị phân), môi trường ảo hóa hoặc không ảo hóa? Tôi có một số ý tưởng về cách để đi về nó (một số hoạt động như truy cập vào một trang bộ nhớ/đĩa sẽ mất thời gian lâu hơn trong một môi trường ảo hóa) nhưng không biết làm thế nào để tiến hành.Làm thế nào để tìm thấy nếu hệ điều hành của tôi đang chạy trên một môi trường ảo hóa hoặc không ảo hóa?
Trả lời
Điều đó phụ thuộc vào VMM bạn đang chạy trên đầu trang. Nếu đó là một máy ảo Xen hoặc Microsoft, tôi tin rằng CPUID
với giá trị EAX
của 0x40000000 sẽ cung cấp cho bạn giá trị khác 0 trong số EAX
. Không chắc chắn nếu điều đó hoạt động trên VMWare, VirtualBox hoặc KVM. Tôi hy vọng rằng nó cũng sẽ hoạt động ở đó ...
Thời gian truy cập đo không thể LUÔN hiển thị cho bạn sự thật, vì trong hệ thống không phải VM có thể thay đổi khá nhiều, và không có lý do REAL bạn sẽ thấy sự khác biệt lớn trong việc triển khai hiệu quả. Và tất nhiên, bạn không biết máy ảo của bạn có đang chạy với bộ điều khiển đĩa cứng REAL qua cổng PCI hay không hoặc nếu đĩa NFS của bạn được kết nối thông qua thẻ mạng REAL được truyền qua máy ảo hoặc nếu chúng được truy cập thông qua một card mạng ảo.
VMM tốt sẽ không hiển thị cho bạn nhiều sự khác biệt miễn là ứng dụng hoạt động chính nó.
Làm thế nào bạn có thể biết liệu chúng ta đang sống trong một vũ trụ thực sự hay một mô phỏng máy tính ưa thích? Nếu nó hoạt động tốt, điều đó có quan trọng không? :-) –
Một môi trường ảo hóa hoàn hảo (hoặc đủ tốt) không nên được xử lý theo cách này .... –
tại sao bạn chỉ có thể yêu cầu nhà cung cấp công ty lưu trữ. thử m miễn phí, đôi khi bạn sẽ thấy toàn bộ ram hệ thống có. tôi vui vẻ với hộp vm của tôi. nó cho thấy toàn bộ bộ nhớ của phần cứng 148GB – user2134226