Điểm:0

Không thể chạy Ubuntu 20.04 trên WSL trong VirtualBox

lá cờ tf

Tôi đang sử dụng Windows 11 trên VirtualBox 6.1.30, bên trong Windows 11 trên CPU Core m3-6Y30 @ 0,90GHz.

Tôi đã tải xuống Ubuntu 20.04 từ Microsoft Store. Khi tôi khởi động nó, một thông báo xuất hiện rằng tùy chọn có tên Hệ thống con Windows cho Linux sẽ được bật trong Bảng điều khiển trong Tính năng của Windows.

Tôi đã bật tính năng đó, khởi động lại máy tính và cố gắng khởi động lại WSL Ubuntu. Lần này có thông báo cập nhật lên WSL2.

Vì vậy, trong PowerShell với quyền quản trị viên, tôi đã nhập lệnh:

lệnh dism.exe /online/enable-feature/featurename: VirtualMachinePlatform /all /norestart

... sau đó khởi động lại máy tính và tải xuống gói cập nhật kernel đã đề cập đây.

Cuối cùng, trong PowerShell với quyền quản trị, tôi đã chạy lệnh được đề xuất:

wsl --set-default-phiên bản 2

Sau đó, tôi khởi động lại máy tính của mình và khởi động Ubuntu trên WSL và nhận được "Lỗi 0x80370102" được đề cập trong câu hỏi này.

Nó chỉ hoạt động sau khi tôi chạy wsl --set-default-phiên bản 1 .

Nó có thể là gì? Đã xảy ra sự cố với ảo hóa phần cứng?

Mọi thứ khác hoạt động trên VirtualBox.

Tôi bắt đầu với lệnh wsl --set-default-phiên bản 1, sau đó tôi đã kiểm tra bcdedit/đặt tự động hypervisorlaunchtype, nhưng nó không hoạt động.

Chỉ sau đó đã làm wsl --set-default-phiên bản 1 công việc.

Nmath avatar
lá cờ ng
Tôi nghĩ rằng bạn đã thực hiện một số hành động không phù hợp và một số không theo thứ tự. Vui lòng chỉnh sửa câu hỏi của bạn để trả lời các câu hỏi sau: Bạn đang chạy phiên bản Windows 10 nào? Bạn đã làm theo những hướng dẫn nào cho những hành động mà bạn đã thực hiện? Bạn đã thực sự cập nhật lên WSL2 như đã chỉ ra chưa? Bạn đã thử gỡ bỏ/gỡ cài đặt Ubuntu để có thể cài đặt lại sau khi đảm bảo rằng WSL2 đã được cài đặt trên hệ thống của bạn chưa?
P.Bak avatar
lá cờ tf
Tôi đang sử dụng windows 11 trên hộp ảo. Khi giải quyết vấn đề này, tôi chỉ sử dụng hướng dẫn này, được đề cập ở đây https://askubuntu.com/questions/1264102/wsl-2-wont-run-ubuntu-error-0x80370102. Khi nói đến wsl, làm cách nào để kiểm tra phiên bản tôi đang sử dụng? Tôi chưa thử gỡ bỏ hoặc gỡ cài đặt Ubuntu. Làm cách nào để kiểm tra các phiên bản wsl?
P.Bak avatar
lá cờ tf
Mình đã chạy lệnh ''wslfetch`` trên virtualbox nhưng không biết nó có bị làm sao không? [1]: https://i.stack.imgur.com/ifyTA.png
NotTheDr01ds avatar
lá cờ vn
Tôi đã thực hiện một số chỉnh sửa mở rộng cho câu hỏi của bạn để cố gắng làm cho câu hỏi dễ đọc hơn. Xin vui lòng cho tôi biết tôi có bất cứ điều gì sai ở đó. Tôi đã không thay đổi một thứ có thể cần phải sửa. Bạn nói rằng bạn đã chạy lệnh `dism.exe /online/enable-feature/featurename command: VirtualMachinePlatform /all /norestart`, nhưng đó rõ ràng là một lệnh tồi (có nhiều lỗi chính tả hoặc bạn đã gõ lại sai). Nó phải là `dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart`. Bạn cũng có thể xác nhận rằng bạn đã chạy đúng lệnh không?
NotTheDr01ds avatar
lá cờ vn
Cũng xin lưu ý rằng trên Windows 11, cách cài đặt/kích hoạt WSL2 tiêu chuẩn chỉ đơn giản là `wsl --install`. Điều này sẽ kích hoạt cả WSL2 và WSL1. Nó cũng sẽ cài đặt và cấu hình phiên bản Ubuntu 20.04 -- Tất cả chỉ với một lệnh. Không cần thực hiện tất cả các bước "thủ công" cũ kỹ khác trừ khi có lỗi xảy ra với `wsl --install`.
P.Bak avatar
lá cờ tf
Vì vậy, những gì bạn đề nghị làm gì? Gỡ cài đặt wsl và cài đặt bằng powershella với đặc quyền quản trị viên wsl bằng ```wsl --install```?
Điểm:2
lá cờ vn

Với những gì chúng ta đã thảo luận trong các nhận xét, đề xuất cá nhân của tôi sẽ là gắn bó với WSL1. Nó bao gồm phần lớn về các trường hợp sử dụng của WSL2 bằng cách tạo một "lớp dịch thuật" giữa các lệnh gọi API nhân Linux và lệnh gọi nhân Windows. WSL2 tiến xa hơn (ít nhất) một bước với ảo hóa, nhưng điều đó chỉ hoạt động tốt trên phần cứng được hỗ trợ.

Đối với WSL2, có thể bạn gặp nhiều vấn đề, nhưng ít nhất một khả năng là bạn cần bật "Nested Virtualization" trong VirtualBox.

WSL2 sử dụng các tính năng của trình ảo hóa Windows Hyper-V để tạo một máy ảo. Vì bạn đã chạy Windows 11 trong VirtualBox VM, điều đó có nghĩa là bạn đang "chạy VM bên trong VM" - Đó là "ảo hóa lồng nhau".

Tôi tin rằng hỗ trợ cho tính năng này đã được thêm vào bắt đầu từ VirtualBox 6.1.4, nhưng bạn phải kích hoạt nó. Nhìn thấy trang tài liệu này để biết chi tiết đầy đủ, nhưng để tóm tắt:

  • Nếu bạn đang sử dụng VirtualBox Manager GUI, hãy truy cập bộ vi xử lý tab và bật Bật Nested VT-x/AMD-V. Lưu ý, như chúng tôi đã biết trong các nhận xét, tùy chọn đó có màu xám trên máy ảo của bạn do CPU của bạn (Core m3-6Y30) không hỗ trợ ảo hóa dựa trên phần cứng.

  • Thay vào đó, bạn có thể đặt tùy chọn từ dòng lệnh bằng cách sử dụng VBoxManage sửa đổi vm vm-name --nested-hw-virt trên. Điều này sẽ báo cáo ảo hóa "buộc" ngay cả trên phần cứng không được hỗ trợ (nhưng tôi không thể xác nhận). Lưu ý rằng, từ một nhận xét về câu trả lời này, "hiệu suất dự kiến ​​​​sẽ rất tệ" nếu CPU của bạn không hỗ trợ các tính năng cần thiết.

P.Bak avatar
lá cờ tf
Tôi muốn bật nội dung bạn đang nói nhưng tính năng này đã bị tắt (tôi không thể chọn tùy chọn này)[1]: https://i.stack.imgur.com/9auEm.png. Làm thế nào tôi có thể bật nó lên?
NotTheDr01ds avatar
lá cờ vn
@ P.Bak Chà, đối với người mới bắt đầu, bây giờ chúng tôi biết rằng nó đã tắt, vì vậy đó là (ít nhất một lý do) khiến bạn không thể bật WSL2. Bạn đang sử dụng phiên bản VirtualBox nào? [Bài đăng SO này](https://stackoverflow.com/q/54251855/11810933) đề cập rằng nó *đã* (hoặc có thể *là*) chỉ khả dụng cho AMD, nhưng tôi nghĩ đó là thông tin lỗi thời. Theo trang mới nhất mà tôi đã liên kết, nó cũng có thể sử dụng được cho Intel, nhưng điều đó có thể yêu cầu phiên bản mới hơn. Ngoài ra, hãy xem câu trả lời được bình chọn hàng đầu ở đó có đề cập đến cách bật nó từ dòng lệnh ngay cả khi được chuyển sang màu xám trong GUI, mặc dù lưu ý các vấn đề về hiệu suất.
P.Bak avatar
lá cờ tf
phiên bản hiện tại tôi đang sử dụng là hộp ảo 6.1.30
NotTheDr01ds avatar
lá cờ vn
@ P.Bak Vì vậy, nó sẽ ở đó, giả sử rằng phần cứng của bạn hỗ trợ nó. Chúng tôi chưa đề cập đến một trong những điều cơ bản, chẳng hạn như hệ điều hành mà bạn đang chạy VirtualBox. Hướng dẫn kiểm tra xem bạn có hỗ trợ ảo hóa dựa trên phần cứng hay không sẽ phụ thuộc vào hệ điều hành cấp cao nhất. Bạn đã thử `VBoxManage modifyvm vm-name --nested-hw-virt on` chưa? Một lần nữa, điều đó được báo cáo là hoạt động (nhưng chậm hơn) ngay cả khi hệ thống chính không hỗ trợ ảo hóa.
P.Bak avatar
lá cờ tf
Hệ điều hành của tôi là windows 11. Hệ điều hành này chạy trên phần cứng không được hỗ trợ. Tôi có bộ xử lý Intel® Core ⢠m3-6Y30 CPU @ 0,90GHz. Giải pháp bạn đề cập ```VBoxManage modifyvm vm-name --nested-hw-virt on``` Tôi chưa kiểm tra.
P.Bak avatar
lá cờ tf
Vì vậy, có sự rõ ràng của tình hình. Bạn có khuyên dùng lệnh ```VBoxManage modifyvm vm-name --nested-hw-virt on``` này không?
NotTheDr01ds avatar
lá cờ vn
@P.Bak Chà, bạn đang cố chạy một máy ảo Linux (WSL2) *bên trong* một máy ảo Windows 11 (trên VirtualBox) *nội bộ* Windows 11, trên một CPU không hỗ trợ ảo hóa dựa trên phần cứng ngay từ đầu . Nếu bạn *thực sự* cần chạy WSL2 ở đó (và vẫn không đảm bảo rằng nó sẽ hoạt động) thì có, tôi khuyên bạn nên cố gắng "bắt buộc" ảo hóa lồng nhau thông qua lệnh đó. Là một VM, không có hại gì trong đó, phải không? Tôi chỉ có thể tưởng tượng rằng, nếu nó hoạt động, nó sẽ chậm không thể chịu nổi, nhưng tôi không thể nói từ kinh nghiệm. Chúc may mắn, mặc dù!
P.Bak avatar
lá cờ tf
Ý tôi là, là người mới bắt đầu, tôi không cần wsl2, nhưng khi tôi tải xuống Ubuntu từ cửa hàng microsoft, nó báo lỗi rằng tôi không có wsl2
P.Bak avatar
lá cờ tf
nhưng hiệu suất tổng thể sẽ giảm trong máy vật lý hoặc máy ảo?
NotTheDr01ds avatar
lá cờ vn
@P.Bak Chà, bạn *không thể* chạy WSL2 trên máy vật lý *của bạn*, vì CPU của bạn không hỗ trợ ảo hóa phần cứng. **Nếu** bạn có thể "buộc" quá trình ảo hóa trong VirtualBox, chúng tôi cho rằng hiệu suất sẽ rất tệ, bởi vì *mọi* hoạt động ảo hóa sẽ được thực hiện trong phần mềm thay vì phần cứng.
P.Bak avatar
lá cờ tf
Vâng tôi hiểu. và liệu những thay đổi mà tôi đã mô tả trong bài đăng này để chạy wsl trên hộp ảo có thể thực hiện được hay không. Chà, bởi vì nếu thứ gì đó phù hợp với tôi, tôi sẽ không muốn chạm vào nó. Nó tuân thủ nguyên tắc "nếu thứ gì đó hoạt động, đừng di chuyển" và bài đăng này là dành cho nó vì tôi chủ yếu muốn lấy lý do để giải quyết vấn đề này.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.