Sanal kutuya ham disk eklemeye çalışırken VERR_ACCESS_DENIED


20

Üzerinde küçük bir linux dağıtım bulunan USB sürücüsünü çalıştıran bir sanal kutu ham diski oluşturdum.

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

Bir sanal kutu VM'ye eklemeye çalıştığımda, bu hatayı alıyorum:

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)

Ham disk vmdk dosyasının root'a ait olduğunu gördüm. Kendi kullanıcıma seçtim.

Yine de aynı hatayı alıyorum. Virtualbox'ı root olarak çalıştırırsam işe yarayacağından şüpheleniyorum, ama gerçekten bunu yapmak istemiyorum. Bu işi yapmak için yine de var mı?


VirtualBox, bir sürü şey için root erişimine ihtiyaç duyar ve zaten sudo kullanıyorsunuz, böylece uygun ortam ve kullanıcı özelliklerini almak için uygun bir root başlangıcı da yapabilirsiniz.
Julie Pelletier

Bu muhtemelen diski oluşturmak için kullandığınız "yöntem" ile ilgilidir. Bu nedenle, USB diske erişmeye çalışıyorsunuz, ancak Hata önceki görüntü dosyası konumuna başvuruyor.
ILMostro_7

Benim için de aynı sorun var. Sudo olarak çalıştırmaya çalıştığımda, x64 makinelerine izin vermiyor, bu benim durumumdu ve sonra benim için bir çözüm yok ...: '(- linux üzerinde
usind

Yanıtlar:


13

Kullanıcı diskham bölümlere erişmek için bir grupta olmalıdır (Gilles'in cevabındaki son referansta belirtildiği gibi).

sudo usermod -a -G disk $USER

6
Bu da benim için çalışıyor - nota gruplandırmak kendini ekledikten sonra çıkış yapmak için gerekli olan veya bu değişiklik uygulanır olmayacak. Bu aslında herhangi bir grup değişikliği için geçerli
Cybex

Sadece bu komutu kullanmak benim için yeterliydi
kokbira

Tam da ihtiyacım olan buydu. Çok teşekkür ederim!
Theodore R. Smith

10

İzni edin tüm dizinleri dahil olmak üzere ilgili dosyalar: ~/VirtualBox VMs, ~/VirtualBox VMs/MyTinyLinux, ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk, /dev/disk2. Dizinlerin kullanıcı tarafından okunabilir ve gezinebilir olması gerekir ( chmod +rx) ve görüntü dosyasının ve ham diskin okunabilir ve yazılabilir olması gerekir ( chmod +rw).

Kullanıcının diske erişmesine izin vermeniz gerekir; çünkü /devher açılışta otomatik olarak doldurulur, bunu yapmak için bir udev'i eklemeniz gerekir. Bkz . Diğer kullanıcılara erişim izni vermeden bir aygıta belirli bir kullanıcı izni verme


8

Poster, ana makinede linux kullandı. Buraya geldiyseniz ve Windows'u bir ana bilgisayar olarak (benim gibi) kullanıyorsanız, bu hataya kolay bir çözüm var. VirtualBox'ı yönetici ayrıcalıklarıyla başlatmazsanız Windows ham disk erişimine izin vermez .


2
Şu anda VB'yi yükseltilmiş ayrıcalıklarla çalıştırırken bile bu sorun var.
Euri Pinhollow

VirtualBox'ı bir yönetici hesabından mı yoksa yönetici olarak mı çalıştırdınız? Değilse, en yüksek ayrıcalıklarla deneyebilir ve çalıştıktan sonra daha azıyla deneyebilirsiniz.
Pascal

Cevap için teşekkürler. Bunu denedim ve bundan çok daha fazlası, düşündüğümden daha karmaşık olduğu ortaya çıktı. Sadece bu hatanın tek bir kaynağı olmadığını belirtmek istedim.
Euri Pinhollow

@EuriPinhollow Sorunu çözdünüz mü? Windows aynı hatayı alıyorum (hatta VBox yöneticisini yönetici olarak çalıştırıyorum)
CF

3

Dağıtıma bağlı olarak, VirtualBox grubuna kullanıcı adınızı eklemeniz gerekebilir.

usermod -a -G vboxusers myusername

Ayrıca, askubunt'taki benzer bir Soru ve Cevaplara göre , bozuk bir ISO'ya sahip olabilirsiniz. Senin durumunda, ham disk için botched dönüşüm anlamına gelir tahmin ediyorum. İlk prosedür sırasında dönüşümün bir şekilde azalması durumunda, bu prosedürün nasıl doğru bir şekilde yapılacağını araştırın ve tekrarlayın.


Bu hala bir çözüm değilse, VirtualBox Kılavuzundaki önerileri izleyin ve -relativeseçeneği ekleyin :

Görüntüyü oluşturmak için verilen aygıt için okuma / yazma erişimi gerekir. Görüntüyü sanal makineden kullanırken okuma / yazma erişimi de gereklidir. Bu mümkün değilse, geçerli kullanıcıya tüm diske erişim izni vermekten kaçınan ham bölüm erişimi için (şu anda yalnızca Linux ana bilgisayarlarında kullanılabilir) özel bir varyant vardır. Böyle bir görüntü ayarlamak için

VBoxManage dahili komutları createrawvmdk -dosya adı /yol/to/file.vmdk -rawdisk / dev / sda -partitions 1,5 -leratif

Sanal bir makineden kullanıldığında, görüntü daha sonra tüm diske değil, yalnızca ayrı bölümlere (örnek / dev / sda1 ve / dev / sda5'te) atıfta bulunur. Sonuç olarak, okuma / yazma erişimi tüm etkilenen bölümler için değil, yalnızca etkilenen bölümler için gereklidir. Ancak oluşturma sırasında, bölümleme bilgilerini elde etmek için tüm diske salt okunur erişim gerekir.


2

Kabul edilmiş bir cevap olmadığından bunu şimdilik cevap olarak göndereceğim. Diğerlerinin yukarıda yayınladığı gibi, doğru gruplarda olduğunuzdan emin olmanın yanı sıra:

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

Hala VERR_ACCESS_DENIEDhatayı alıyorsanız, @Cybex'in yorumuna göre , yukarıdaki grup eklemelerinin geçerli olması için oturumu kapatıp tekrar giriş yapmanız gerekir .


Benim durumum için "vboxusers" gerekli değildi, sadece "disk" (fedora29). Nane19'da sudo kullanmak dışında bu VM'yi rawdisk ile çalıştıramadım.
kokbira

0

Ben benzer bir sorun vardı ama sorun benim ev birimindeyken bulucu içinde sudo komutunu çalıştırmak oldu, ben hacim / Kullanıcılar / Sahibi benim profil sahibi denir nerede cd'd ve sonra mükemmel çalıştı.


0

Sorun (benim için) yalnızca dizin yolunun tamamı olmadan dosya adını göstermekti. ... sadece dosya adı gerekli-

VBoxManage iç komutları createrawvmdk -dosya adı rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

güzel çalıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.