VERR_ACCESS_DENIED podczas próby dodania surowego dysku do wirtualnego pudełka

20

Stworzyłem surowy dysk virtualbox wskazujący na działający, uruchamiający napęd USB z małą dystrybucją Linuksa.

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

Gdy próbuję dodać go do maszyny wirtualnej Virtualbox, pojawia się ten błąd:

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)

Widziałem, że plik vmdk dysku twardego był własnością root. Udostępniłem to własnemu użytkownikowi.

Nadal pojawia się ten sam błąd. Podejrzewam, że zadziałałoby, gdybym uruchomił virtualbox jako root, ale tak naprawdę nie chcę tego robić. Czy jest jakiś sposób, aby to zadziałało?

adapt-dev
źródło
VirtualBox potrzebuje dostępu do roota dla wielu rzeczy, a już korzystasz z sudo, więc równie dobrze możesz zrobić prawidłowe uruchomienie roota, aby uzyskać odpowiednie środowisko i właściwości użytkownika.
Julie Pelletier
Jest to prawdopodobnie związane z „metodą” użytą do utworzenia dysku. Próbujesz uzyskać dostęp do dysku USB, ale błąd odnosi się do poprzedniej lokalizacji pliku obrazu.
ILMostro_7
Ten sam problem dla mnie. Kiedy próbuję wykonać jako sudo, nie zezwala na maszyny x64, tak było w moim przypadku, a potem nie ma dla mnie rozwiązania ...: '(- usind on linux
kokbira

Odpowiedzi:

13

Użytkownik powinien być w diskgrupie, aby uzyskać dostęp do surowych partycji (jak Gilles wspomniał w ostatnim odwołaniu w swojej odpowiedzi).

sudo usermod -a -G disk $USER
Często
źródło
6
to też działa dla mnie - pamiętaj, że musisz się wylogować po dodaniu się do grupy, w przeciwnym razie ta zmiana nie zostanie zastosowana. Dotyczy to w rzeczywistości wszelkich modyfikacji grup
Cybex
Używanie tylko tego polecenia było dla mnie wystarczające
kokbira
Właśnie tego potrzebowałem. Dziękuję bardzo!
Theodore R. Smith
10

Sprawdź uprawnienia na wszystkich plikach, w tym związanych z katalogów: ~/VirtualBox VMs, ~/VirtualBox VMs/MyTinyLinux, ~/VirtualBox VMs/MyTinyLinux/rawdiskonusb.vmdk, /dev/disk2. Katalogi muszą być czytelne i możliwe do przejścia przez użytkownika ( chmod +rx), a plik obrazu i surowy dysk muszą być czytelne i do zapisu ( chmod +rw).

Musisz zezwolić użytkownikowi na dostęp do dysku; ponieważ /devjest wypełniany automatycznie przy każdym rozruchu, musisz dodać udev, aby to zrobić. Zobacz Przyznaj określone uprawnienia użytkownika urządzeniu, nie dając dostępu innym użytkownikom

Gilles „SO- przestań być zły”
źródło
8

Plakat używał linuxa na hoście. Jeśli przyszedłeś tutaj i używasz systemu Windows jako hosta (takiego jak ja), istnieje łatwe rozwiązanie tego błędu. Windows nie zezwala na dostęp do surowego dysku, jeśli nie uruchomisz VirtualBox z uprawnieniami administratora .

Pascal
źródło
2
Mam ten problem w tej chwili, nawet gdy uruchamiam VB z podwyższonymi uprawnieniami.
Euri Pinhollow
Czy uruchomiłeś VirtualBox z konta administratora lub działając jako administrator? Jeśli nie, możesz spróbować z najwyższymi uprawnieniami i spróbować z mniejszymi, gdy zaczniesz działać.
Pascal
Dzięki za odpowiedź. Próbowałem tego i wiele więcej, okazało się to bardziej skomplikowane niż myślałem. Chciałem tylko zaznaczyć, że nie ma jednego źródła tego błędu.
Euri Pinhollow
@EuriPinhollow Rozwiązałeś problem? Otrzymuję ten sam błąd w systemie Windows (nawet z menedżerem VBox jako administrator)
CF
3

W zależności od dystrybucji może być konieczne dodanie nazwy użytkownika do grupy VirtualBox.

usermod -a -G vboxusers myusername

Ponadto, zgodnie z podobnymi pytaniami i pytaniami na askubunt , możesz mieć uszkodzoną ISO. W twoim przypadku sądzę, że oznacza to nieudaną konwersję na dysk surowy. Spróbuj wyszukać, jak poprawnie wykonać tę procedurę i powtórz ją, na wypadek, gdyby konwersja została w jakiś sposób zakłócona podczas pierwszej procedury.


Jeśli nadal nie jest to rozwiązaniem, postępuj zgodnie ze wskazówkami w Podręczniku VirtualBox i dodaj -relativeopcję:

Utworzenie obrazu wymaga dostępu do odczytu / zapisu dla danego urządzenia. Dostęp do odczytu / zapisu jest również później potrzebny przy korzystaniu z obrazu z maszyny wirtualnej. Jeśli nie jest to możliwe, istnieje specjalny wariant dostępu do partycji typu raw (obecnie dostępny tylko na hostach systemu Linux), który pozwala uniknąć konieczności udzielania bieżącego dostępu do całego dysku. Aby skonfigurować taki obraz, użyj

VBoxManage komendy wewnętrzne createrawvmdk -nazwa_pliku /path/to/file.vmdk -rawdisk / dev / sda -partitions 1,5 -relative

W przypadku użycia z maszyny wirtualnej obraz nie będzie odnosił się do całego dysku, ale tylko do poszczególnych partycji (w przykładzie / dev / sda1 i / dev / sda5). W rezultacie dostęp do odczytu / zapisu jest wymagany tylko dla partycji, których dotyczy problem, a nie dla całego dysku. Jednak podczas tworzenia wymagany jest dostęp tylko do odczytu do całego dysku, aby uzyskać informacje o partycjonowaniu.

ILMostro_7
źródło
2

Ponieważ nie ma żadnej akceptowanej odpowiedzi, opublikuję ją jako odpowiedź. Oprócz upewnienia się, że jesteś w odpowiednich grupach, jak pisali inni powyżej:

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

Jeśli nadal VERR_ACCESS_DENIEDpojawia się błąd, musisz, zgodnie z komentarzem @Cybex, wylogować się i zalogować ponownie, aby powyższe dodatki grupy zaczęły obowiązywać.

odszedł
źródło
„vboxusers” nie był potrzebny w moim przypadku, tylko „dysk” (fedora29). Na mint19 nie mogłem uruchomić tej maszyny wirtualnej z rawdisk, z wyjątkiem sudo.
kokbira
0

Miałem podobny problem, ale problem polegał na tym, że uruchamiałem komendę sudo, podczas gdy w Finderze byłem w moim domowym woluminie, zapisałem cd na stronie Tom / Użytkownicy / Właściciel, gdzie mój profil nazywa się Właściciel, a potem działało idealnie.

Jesus Jones
źródło
0

Problem (dla mnie) polegał na tym, aby wyświetlać tylko nazwę pliku bez całej ścieżki katalogu. ... Potrzebna jest tylko nazwa pliku

VBoxManage komendy wewnętrzne createrawvmdk -nazwa pliku rawdiskonusb.vmdk -rawdisk \. \ PhysicalDrive #

działało ładnie.

Hariyanto Hariyanto
źródło