VirtualBox의 USB 드라이브로 부팅하는 방법은 무엇입니까?


72

문제는 간단하고 간단합니다.

VirtualBox의 USB 드라이브로 부팅하는 방법은 무엇입니까?

편집 :

usb스크린 샷과 같이 VirtualBox에 연결 했습니다.

https://i.stack.imgur.com/UPZZo.png

그러나 연결된 경우에도 USB 드라이브에서 부팅 할 수 없습니다 (참조) .

USB 드라이브에서 부팅 할 다른 가능성이 있는지 알고 싶습니다.


USB를 열고 모든 것을 ISO 파일로 압축 한 다음 정상적으로 부팅하면됩니다.
dat tutbrus

@Ravan-자주 잊어 버리지 않으려면 사용자가 "부트"속성을 USB 스틱에 붙이지 마십시오. 이것은 gparted의 '파티션'메뉴에 있으며 플래그 resp를 편집 할 수 있습니다. USB 스틱의 레이블을 지정하고 "boot"매개 변수를 활성화하십시오.
dschinn1001

1
@dattutbrus USB에서 파일을 변경하려는 경우 작동하지 않습니다
Paul

답변:


89

VirtualBox 자체는 USB 장치에서의 부팅을 지원하지 않습니다. USB 장치에서 부팅하려면 다른 부트 로더가 필요합니다. 아래 단계는이를 수행 할 수있는 한 가지 방법을 제공합니다.

  1. Plop Boot Manager (현재 v5.0.15) 다운로드
  2. plpbt.isoZIP 아카이브에서 파일 을 추출하여 어딘가에 저장하십시오.
  3. 가상 머신의 설정을 열고 ISO 파일을 첨부하십시오.

    여기에 이미지 설명을 입력하십시오

  4. USB 장치에 대한 필터를 추가하십시오.

    여기에 이미지 설명을 입력하십시오

  5. VM을 부팅하고 메뉴에서 "USB"옵션을 선택하십시오.

    여기에 이미지 설명을 입력하십시오

모두 제대로 작동하면 이제 USB 장치에서 시스템을 부팅해야합니다.


1
이것은 내 것보다 확실히 쉬운 대답입니다. 나는 그것을 좋아한다! 나는 더 많은 투표를 할 수 있으면 좋겠다. =)
Terrance

3
이 답변에는 vboxusers 그룹에 속해 있어야합니다 .
musiKk

6
그것은 나를 위해 작동하지 않습니다. 내가 usb를 선택하면 그의 화면을 영원히 기다립니다. 어떤 생각? postimg.org/image/dv8w83pi3
John

6
Plop Boot Manager가 공식적으로 EHCI 만 지원한다고 덧붙이고 싶습니다. 나처럼 Plop Boot Manager와 함께 USB 3.0 드라이브를 사용하려고하면 작동하지 않습니다. 다른 게시물에서 언급 한 방법을 사용할 수도 있지만 VirtualBox는 USB 3.0 장치의 원시 vmdks를 사용하는 것을 좋아하지 않습니다. 컴퓨터에 USB 3 포트만있는 경우 USB 2.0 허브를 주문하고이를 통해 드라이브를 연결할 수 있습니다. 기본적으로 USB 2.0 드라이브처럼 작동합니다.
fakedad

3
이 솔루션을 VMDK 솔루션과 결합하면 기본 USB 성능을 얻을 수 있습니다. 그렇지 않으면 USB 1.1에서만 작동합니다.
윌 Bickford

50

편집 : 2018 년 3 월 7 일

여기서 주목할 점이 있습니다. 재부팅 할 때 컴퓨터에 USB 드라이브를 그대로두면 /dev/sd드라이브 문자 지정이 변경 되어 원시 usb.vmdk파일이 잘못된 드라이브를 가리 키도록하여 VirtualBox에서 부팅되지 않습니다. 테스트로 시스템에 하나를 남겨 두었습니다. /dev/sdi재부팅하기 전 이었고 재부팅 후였습니다 /dev/sdc. 변경 사항을 위해 컴퓨터를 재부팅 할 때는 재부팅하기 전에 USB 드라이브를 제거하십시오. 드라이브의 UUID에서 원시 디스크를 만들 수 있는지 확인하는 대신 변경되지 않습니다.


VirtualBox는 USB 드라이브로 부팅되지 않기 때문에 부팅을 위해 USB 드라이브 .vmdk를 가리키는 파일을 만들 수 있습니다 .

참고 :vboxusers VirtualBox가 USB를 보려면 그룹에 사용자 계정을 추가해야합니다 . 또한 계정을 disk그룹에 추가해야합니다. 그렇지 않으면 .vmdk파일을 가상 머신에 추가 할 수 없습니다 . EDIT에 아래 지침을 추가했습니다 . 또한 USB 드라이브를 하드 드라이브에 복사하지 않고 USB를 직접 사용합니다. 유지하려는 USB에 지속성이있는 경우 유용합니다. 모든 상황이 같은 것은 아니므로 모든 경우에 해당되는 것은 아닙니다.

먼저 시스템에 USB를 생성하고 실제 드라이브가 무엇인지 확인해야합니다. 드라이브가로 마운트되었다고 가정합니다 /dev/sdb1. 따라서 실제 드라이브는입니다 /dev/sdb.

그런 다음, 터미널 창에서 다음을 입력 .vmdk하여 USB 드라이브를 가리키는 파일 을 작성하십시오 .

sudo vboxmanage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

또는

sudo VBoxManage internalcommands createrawvmdk -filename  ~/usb.vmdk -rawdisk /dev/sdb

그러면 다음과 비슷한 것이 보일 것입니다.

RAW host disk access VMDK file /home/ravan/usb.vmdk created successfully.

참고 : 일부 사람들은 새로 만든 파일의 소유권 문제가있었습니다. 새 파일의 소유권을 가져 오십시오.

sudo chown $USER:$USER ~/usb.vmdk

그런 다음 .vmdkVirtualBox Virtual Machine에 파일 을 추가하고 부팅 할 수 있는지 확인하면됩니다.

여기에 이미지 설명을 입력하십시오

편집하다:

사용자를 vboxusers그룹에 추가하려면 다음 명령을 실행하십시오.

sudo usermod -a -G vboxusers username

사용자를 disk그룹에 추가하려면 다음 명령을 실행하십시오.

참고 : 디스크 그룹에 사용자를 추가하면 위험하고 보안 위험이 있습니다. 원시 디스크에 쓰기 위해 sudo 액세스 권한을 갖는 것만 큼 위험합니다.

sudo usermod -a -G disk username

그런 다음 변경 사항을 적용하려면 시스템을 다시 부팅 해야 합니다.

재부팅하기 전에 :

여기에 이미지 설명을 입력하십시오

재부팅 후 :

여기에 이미지 설명을 입력하십시오

도움이 되었기를 바랍니다!


1
이 오류가 발생했습니다. VBoxManage : 오류 : VMDK : 원시 디스크 파일 '/ dev / sdc'를 열 수 없습니다. VBoxManage : 오류 : /build/virtualbox-VDAABr/virtualbox-4.3.36-dfsg/src/VBox/에서 오류 코드 VERR_WRITE_PROTECT int vmdkCreateRawImage (PVMDKIMAGE, PVBOXHDDRAW, uint64_t) 함수의 Storage / VMDK.cpp (3390) VBoxManage : 오류 : 원시 디스크 VMDK를 만들 수 없습니다 : VERR_WRITE_PROTECT VBoxManage : 오류 : 원시 디스크 vmdk 파일이 생성되지 않았습니다
John

@John disk그룹에 계정을 추가 한 다음 그룹을 추가 한 후 로그 아웃했다가 다시 로그인 하거나 재부팅 했습니까?
Terrance

그렇습니다. 루트 결과가 동일 할 때 재부팅하면 이벤트가 발생합니다.
John

2
나를 위해 잘 작동합니다. 비고 : 로그 아웃 / 로그인하기 위해 재부팅 할 필요가 없습니다. 디스크 그룹에 들어가면 sudo를 사용할 필요가 없습니다.
Karl Forner

1
지시 사항을 따랐지만 virtualbox의 usb 드라이브에서 Windows 10을 부팅하려고하면 "FATAL : 부트 매체에서 읽을 수 없습니다! 시스템이 중지되었습니다."라고 표시됩니다. 어떤 제안? 도와 주셔서 감사합니다!
아치 리눅스 턱시도

15

며칠 전에이 게시물에 왔습니다. USB 스틱이 이미 부팅 가능하기 때문에 Plop Boot Manager를 사용하고 싶지 않습니다.

그래서 나는 USB 스틱을 (Trance 답변에서와 같이) VMDK 디스크를 가리 키도록 만들려고했습니다. vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

불행하게도,이 ... 일을 나는 거부 chmod하고 디스크를, 그래서 나는 VM에 첨부 할 수 있었다 그러나 그것은 단순히 작동하지 않았다.chownusb.vmdk

마지막으로 다른 솔루션을 시도 했는데이 솔루션이 완벽하게 작동했습니다. 여기 있습니다 ( 연구 를 위해 Gean Santos 에게 감사드립니다 ).

  1. USB 스틱을 삽입하고 식별하십시오 ( /dev/sdbSabayon Linux를 실행중인 광산 ).
  2. 원시 장치 (예 : USB 스틱)를 VirtualBox 디스크.vmdk변환하여 디스크 만들기

    sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. 이제 usb.vmdk부팅 가능한 USB 스틱 으로 디스크를 만들었습니다. 나는 또한 dd이미지 파일에 USB 스틱을 시도 하고 이미지 파일에서 .vmdk디스크를 만듭니다 . .vdi이전 방식으로 (또는 이미지 파일에서) 생성 된 디스크 뿐만 아니라 작동 합니다

  4. 이제 VirtualBox가 파일에 액세스 할 수 있도록 생성 된 디스크에 권한을 부여하십시오. 그냥 의미 vboxusers 그룹에 사용자에게 파일의 소유자를 변경 . VirtualBox 설치가 제대로 실행되고 있다면이 소유자보다 다음과 같은 경우 일 것입니다.

    sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. 이제 usb.vmdk디스크를 가상 머신 에 연결하기 만하면 됩니다. 그러나 IDE 컨트롤러에 연결해야합니다 . 나는 SATA성공하지 못했습니다.

부팅 가능한 <code> usb.vmdk </ code>가 IDE 컨트롤러에 연결된 VM 예제

이제 괜찮습니다.

새 VM을 부팅하고을 누르고 F12부팅 가능한 드라이브를 선택하십시오.

즐겨!


이것은 USB 3.0에서 작동합니까 (여기서 askubuntu.com/questions/693719/… 참조 )?
natty에 대해 nutty

방금 확인했는데 기본적으로 USB 스틱 드라이브를 복사했지만이 방법으로 원래 USB 스틱을 사용하지 않았습니다.
Fedcomp

11

가장 쉬운 해결책은 USB 키의 내용을 iso 파일로 복사하는 것입니다. (다음에 올바른 머신에 iso를 다운로드하면 처음에는 USB 키가 필요하지 않습니다.)

dd if=/dev/sdc of=myusbkey.iso

그런 다음 VirtualBox 설정의 Storage, Controller : IDE (또는 SATA)에서이 .iso를 광 ​​드라이브로 추가합니다.

.vmdk 파일을 만들 필요가 없으며 VirtualBox는 .iso 파일을 지원합니다.


이 답변은 맨 위에 있어야합니다.
McMutton

나는 동의한다 :-) 그러나 그것은 여전히 ​​더 많은지지를 요구한다;)
David Faure

부팅 가능한 이미지가 약 40GB 인 파티션이있는 경우 해당 크기의 파일을 생성합니다.
Sposmen

그렇습니다. 그러나 다른 모든 솔루션도 그렇지 않습니다.
David Faure

1
@DavidFaure "VBoxManage 내부 명령 createrawvmdk ..."사용에 대한 원래의 대답은 위 명령을 실행할 때 시스템에 연결 한 USB 드라이브 바로 가기와 동등한 것으로 생각할 수있는 것입니다. 따라서 user33845에 의해 언급 된 잠재적으로 거대한 USB 스틱 이미지로 끝나지 않습니다.
ConceptRat

5

다음 단계를 제안합니다.

  1. 디스크를 엽니 다.
  2. USB를 찾으십시오.
  3. 여기를 클릭하면 오른쪽 상단에 3 개의 평행선이있는 설정 아이콘이 표시됩니다.
  4. 여기를 클릭하고 Create Disk Image (디스크 이미지 생성)를 선택 하십시오.
  5. 위치를 선택하고 작성을 클릭 하십시오 . VirtualBox에서 사용할 수있는 .img 파일을 만듭니다.

2

Virtualbox를 루트로 실행하고 싶지 않았습니다. 사용자가 모든 디스크에 대한 모든 권한을 갖는 디스크 그룹이되는 것을 원하지 않았습니다.

그래서 여기 내가 일해야합니다 :

메모리 스틱이 무엇인지 확인하십시오. 다음 지침에서는 sdc입니다.

  • 메모리 스틱 마운트 해제

    su -
    chmod 666 /dev/sdc1
    chmod 666 /dev/sdc
    exit # Run the following command as regular user:
    VBoxManage internalcommands createrawvmdk -filename usb.vmdk -rawdisk /dev/sdc
    su - # Back as root again:
    chmod 777 usb.vmdk
    chmod 666 /dev/sdc
    
  • usb.vmdk virtualbox 시스템 연결

    chmod 666 /dev/sdc
    
  • 가상 머신 시작
  • 완료되면 보안을 위해 sdc1 권한을 재설정하십시오.

    chmod 660 /dev/sdc1
    

위에서 메모리 매번마다 루트로 다시 설정되기 때문에 메모리 스틱에 대한 권한을 몇 번 재설정해야한다는 것을 알 수 있습니다.

Mandriva Linux를 사용하고 있지만 우분투에서도 동일해야합니다.


여기에서 허용되는 권한은 매우 나쁜 조언입니다. 우선, 루트 권한으로 수행하므로 해당 명령이 작동하도록 권한을 변경할 필요가 없습니다. 둘째, 필요한 사용자를 디스크 그룹에 추가하는 것이 좋습니다.
에반 테란

@ Evan Teran 당신도 시도해 보셨습니까? 그렇습니다. 사용자는 디스크 그룹의 일부입니다. 이것이 내 리눅스 운영 체제에서 오늘날에도 여전히 사용하는 방법입니다. Wayne Sallee Wayne@WayneSallee.com
Wayne Sallee

나는 그것이 효과가 없다고 말하지 않았고 좋은 조언이 아니라고 말했다. 사용자 그룹에 관계없이 루트로 명령을 실행하는 경우 어쨌든 루트 액세스 권한이 있으므로 권한으로 뭉칠 필요가 없습니다. 또한 777과 666으로 파일과 폴더를 만드는 것은 나쁜 습관이므로, 필요한 경우가 아니면 세상을 읽거나 쓸 수있게 만들지 마십시오.
에반 테란

@ Evan Teran 루트로 프로그램을 실행하는 것은 좋지 않습니다. 루트 일 필요는 없습니다. 메모리 스틱은 잠시 동안 만 있고 서버에는 없습니다. 위험을 감수하고 싶은 곳의 문제입니다. 시스템이 아닌 메모리 스틱에 위험을 두도록 선택합니다. Wayne@WayneSallee.com
Wayne Sallee

수정 : 사용자를 디스크 그룹에 넣지 않았습니다. Wayne@WayneSallee.com
Wayne Sallee

1

USB 드라이브가 EFI 부팅 가능 드라이브 인 경우 EFI 부팅을 지원하지 않으므로 Plop Boot Manager가 작동하지 않습니다. 이 경우 나를 위해 일한 것은 rEFInd 부팅 관리자 ( http://www.rodsbooks.com/refind/ )를 사용하는 것입니다.

  1. http://sourceforge.net/projects/refind/files/0.11.4/refind-cd-0.11.4.zip/download 에서 rEFInd 부팅 가능 iso를 다운로드 하여 압축을 푸 십시오.

  2. VirtualBox에서 가상 머신 설정을 열고 rEFInd CD ISO 파일을 첨부하십시오.

  3. "시스템"탭의 가상 머신 설정에서 "EFI 사용 (특별 OS 만)"옵션이 활성화되어 있는지 확인하십시오.

  4. 가상 머신을 부팅하면 rEFInd 부팅 메뉴가 나타납니다.

검색 메뉴

  1. VirtualBox에 USB 드라이브를 연결하십시오.

  2. 백 스페이스 키를 눌러 메뉴를 새로 고치거나 몇 초만 기다리면 메뉴에 드라이브가 나타납니다.

  3. USB 드라이브를 선택하고 Enter 키를 누르면 USB 드라이브가 부팅을 시작합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.