그래서 Mac OS X에서 ext4 / linux 디스크를 게스트 OS로 사용하기 위해 VirtualBox를 사용하여 원시 장치 액세스를 설정하려고했지만 아직 성공하지 못했습니다.
VirtualBox 문서에 따라 9.9.1.1 장, https://www.virtualbox.org/manual/ch09.html#rawdisk Mac OS X에서 VM에 대한 원시 디스크 액세스를 허용합니까? 이것을 어떻게 설정합니까?
지금까지 수행 한 작업 : (집에서 시도하지 마십시오)
원시 vmdk 파일을 생성했습니다 :
$ sudo VBoxManage internalcommands createrawvmdk -filename /Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk -rawdisk /dev/disk0
RAW host disk access VMDK file /Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk created successfully.
저를 주인으로 만드십시오 :
$ sudo chown me /Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk
VirtualBox가 Xub_raw_disk.vmdk 파일에서 무엇이든 볼 수 있는지 확인하십시오.
$ VBoxManage internalcommands listpartitions -rawdisk /Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
섹터 나 파티션에 대해서는 아무것도 표시되지 않으므로 문제의 증상이어야합니다.
문제는 GUI에서 또는 아래 명령으로 .vmdk 파일을 추가하려고 할 때 오류가 발생한다는 것입니다.
$ VBoxManage storageattach "Xub_raw_testing" --storagectl "SATA" --port 0 --type hdd --medium /Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk
VBoxManage: error: Could not find file for the medium '/Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk' (VERR_FILE_NOT_FOUND)
VBoxManage: error: Details: code VBOX_E_FILE_ERROR (0x80bb0004), component Medium, interface IMedium, callee nsISupports
VBoxManage: error: Context: "OpenMedium(Bstr(pszFilenameOrUuid).raw(), enmDevType, enmAccessMode, fForceNewUuidOnOpen, pMedium.asOutParam())" at line 178 of file VBoxManageDisk.cpp
VBoxManage: error: Invalid UUID or filename "/Users/me/VirtualBoxVMs/Xub_raw_disk.vmdk"
업데이트 : 여기에서 disk0은 전용 Linux 드라이브입니다. disk1 (사용되지 않음)은 Mac OS X 용입니다. 자신을 / dev / disk0 및 / dev / disk0s2의 소유자로
$ chown $USER /dev/disk0
$ chown $USER /dev/disk0s2
Froggard 의 사용법 에 따라 이미지를 VM에 추가 할 수 있습니다. 또한 /dev/disk0
이제 VBoxManage에서 읽을 수 있습니다.
$ VBoxManage internalcommands listpartitions -rawdisk /dev/disk0
Number Type StartCHS EndCHS Size (MiB) Start (Sect)
1 0x00 0 /0 /0 0 /0 /0 976 2048
2 0x00 0 /0 /0 0 /0 /0 227959 2000896
이제 Linux 게스트 OS를 시작하면 FATAL: No bootable medium found! System halted.
메시지가 나타납니다. 어떤 생각이 잘못 되었나요?