VERR_ACCESS_DENIED khi cố gắng thêm một đĩa thô vào hộp ảo


20

Tôi đã tạo một đĩa thô hộp ảo chỉ đến một chức năng, khởi động ổ USB với một bản phân phối linux nhỏ trên đó.

sudo ./VBoxManage internalcommands createrawvmdk -filename ~/VirtualBox\ VMs/MyTinyLinux/rawdiskonusb.vmdk -rawdisk /dev/disk2 -partitions 2

Khi tôi cố gắng thêm nó vào VM hộp ảo, tôi gặp lỗi này:

Failed to open the disk image file ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk.

Permission problem accessing the file for the medium '~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk' (VERR_ACCESS_DENIED).

Result Code: VBOX_E_FILE_ERROR (0x80BB0004)
Component: MediumWrap
Interface: IMedium {4afe423b-43e0-e9d0-82e8-ceb307940dda}
Callee: IVirtualBox {0169423f-46b4-cde9-91af-1e9d5b6cd945}
Callee RC: VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

Tôi thấy rằng tập tin vmdk đĩa thô được sở hữu bởi root. Tôi đã gửi nó cho người dùng của riêng tôi.

Vẫn nhận được lỗi tương tự. Tôi nghi ngờ nó sẽ hoạt động nếu tôi chạy virtualbox với quyền root, nhưng tôi thực sự không muốn làm điều đó. Có cách nào để làm cho công việc này?


VirtualBox cần quyền truy cập root cho một loạt các thứ và bạn đã sử dụng sudo để bạn cũng có thể thực hiện khởi động root đúng cách để có được các thuộc tính người dùng và môi trường phù hợp.
Julie Pelletier

Điều đó có thể liên quan đến "phương pháp" bạn đã sử dụng để tạo đĩa. Vì vậy, bạn đang cố truy cập đĩa USB, nhưng Lỗi đang tham chiếu vị trí tệp hình ảnh trước đó.
ILMostro_7

Vấn đề tương tự đối với tôi. Khi tôi cố gắng thực thi như sudo, nó không cho phép máy x64, đó là trường hợp của tôi, và sau đó không có giải pháp nào cho tôi ...: '(- usind trên linux
kokbira

Câu trả lời:


13

Người dùng nên ở trong một disknhóm để truy cập các phân vùng thô (như Gilles được đề cập bởi tham chiếu cuối cùng trong câu trả lời của anh ta).

sudo usermod -a -G disk $USER

6
điều này cũng đúng với tôi - lưu ý rằng bạn bắt buộc phải đăng xuất sau khi thêm chính mình vào nhóm, nếu không sự thay đổi này sẽ không được áp dụng. Điều đó đúng với mọi sửa đổi nhóm thực sự
Cybex

Chỉ sử dụng lệnh đó là đủ cho tôi
kokbira

Đây chính xác là những gì tôi cần. Cảm ơn bạn rất nhiều!
Theodore R. Smith

10

Kiểm tra sự cho phép trên tất cả các tập tin có liên quan, bao gồm cả các thư mục: ~/VirtualBox VMs, ~/VirtualBox VMs/MyTinyLinux, ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk, /dev/disk2. Các thư mục cần phải được đọc và duyệt qua bởi người dùng của bạn ( chmod +rx) và tệp hình ảnh và đĩa thô cần phải có thể đọc và ghi được ( chmod +rw).

Bạn sẽ cần cho phép người dùng của bạn truy cập vào đĩa; vì /devđược điền tự động vào mỗi lần khởi động, bạn sẽ cần thêm một udev để làm điều này. Xem Cung cấp quyền người dùng cụ thể cho thiết bị mà không cấp quyền truy cập cho người dùng khác


8

Các poster sử dụng linux trên máy chủ. Nếu bạn đến đây và sử dụng Windows như một máy chủ lưu trữ (như tôi), có một giải pháp dễ dàng cho lỗi này. Windows không cho phép truy cập đĩa thô nếu bạn không khởi động VirtualBox với quyền riêng tư của quản trị viên .


2
Tôi có vấn đề này ngay bây giờ ngay cả khi chạy VB với quyền riêng tư cao.
Euri Pinhollow

Bạn đã khởi động VirtualBox từ tài khoản quản trị viên hay bằng cách chạy với tư cách quản trị viên? Nếu không, bạn có thể thử với các đặc quyền cao nhất và thử với ít hơn một khi bạn làm cho nó hoạt động.
Pascal

Cảm ơn đã trả lời. Tôi đã thử điều đó và nhiều hơn thế, hóa ra nó phức tạp hơn tôi nghĩ. Tôi chỉ muốn chỉ ra rằng không có một nguồn nào của lỗi này.
Euri Pinhollow

@EuriPinhollow Bạn đã giải quyết được vấn đề? Tôi gặp lỗi tương tự om Windows (thậm chí chạy trình quản lý VBox với tư cách quản trị viên)
CF

3

Tùy thuộc vào bản phân phối, bạn có thể phải thêm tên người dùng của mình vào nhóm VirtualBox.

usermod -a -G vboxusers myusername

Ngoài ra, theo một câu hỏi và trả lời tương tự trên Askubunt , bạn có thể có ISO bị hỏng. Trong trường hợp của bạn, tôi đoán nó có nghĩa là một chuyển đổi được khắc phục thành đĩa thô. Hãy thử tìm kiếm cách thực hiện chính xác quy trình đó và lặp lại quy trình đó, trong trường hợp chuyển đổi đã bị lỗi trong quá trình đầu tiên.


Nếu đó vẫn không phải là một giải pháp, thì hãy làm theo lời khuyên trong Hướng dẫn VirtualBox và thêm -relativetùy chọn:

Tạo hình ảnh yêu cầu quyền truy cập đọc / ghi cho thiết bị đã cho. Truy cập đọc / ghi cũng cần thiết sau này khi sử dụng hình ảnh từ máy ảo. Nếu điều này là không khả thi, có một biến thể đặc biệt để truy cập phân vùng thô (hiện chỉ khả dụng trên các máy chủ Linux) mà tránh phải cung cấp cho người dùng hiện tại quyền truy cập vào toàn bộ đĩa. Để thiết lập một hình ảnh như vậy, sử dụng

VBoxManage Internalcommands cTHERawvmdk -filename /path/to/file.vmdk -rawdisk / dev / sda -partitions 1,5 -relative

Khi được sử dụng từ một máy ảo, hình ảnh sau đó sẽ không chỉ toàn bộ đĩa mà chỉ liên quan đến các phân vùng riêng lẻ (trong ví dụ / dev / sda1 và / dev / sda5). Do đó, truy cập đọc / ghi chỉ được yêu cầu cho các phân vùng bị ảnh hưởng, không phải cho toàn bộ đĩa. Tuy nhiên, trong quá trình tạo, chỉ cần truy cập vào toàn bộ đĩa để có được thông tin phân vùng.


2

Vì không có câu trả lời được chấp nhận, tôi sẽ đăng nó dưới dạng câu trả lời vào lúc này. Ngoài việc đảm bảo bạn thuộc nhóm phù hợp, như những người khác đã đăng ở trên:

sudo usermod -a -G disk $USER
sudo usermod -a -G vboxusers $USER

Nếu bạn vẫn nhận được VERR_ACCESS_DENIEDlỗi, bạn cần, theo nhận xét của @Cybex, đăng xuất và đăng nhập lại để các bổ sung nhóm trên có hiệu lực.


"Vboxusers" không cần thiết cho trường hợp của tôi, chỉ "đĩa" (fedora29). Trên mint19, tôi không thể chạy VM đó với rawdisk, ngoại trừ sử dụng sudo.
kokbira

0

Tôi đã gặp một vấn đề tương tự nhưng vấn đề là tôi đang chạy lệnh sudo trong khi tìm thấy tôi đang ở trong khối lượng nhà của mình, tôi đã gửi tới Volume / Users / Chủ sở hữu nơi hồ sơ của tôi được gọi là chủ sở hữu và sau đó nó hoạt động hoàn hảo.


0

Vấn đề (đối với tôi) là Chỉ hiển thị tên tệp mà không có toàn bộ đường dẫn thư mục. ... Chỉ cần tên tệp-

VBoxManage Internalcommands cTHERawvmdk -filename rawdiskonusb.vmdk -rawdisk \. \ PhysDrive #

làm việc độc đáo

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.