web-dev-qa-db-ja.com

VirtualBoxでUSBドライブから起動する方法は?

質問は単純明快です。

VirtualBoxでUSBドライブから起動する方法は?

編集

スクリーンショットに示すように、VirtualBoxにusbを添付しました。

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

ただし、 (reference) が接続されていても、USBドライブから起動することはできません。

だから、USBドライブから起動する他の可能性があるかどうか知りたいですか?

72
Ravan

VirtualBox自体は、USBデバイスからの起動をサポートしていません。 USBデバイスから起動するには、別のブートローダーが必要です。以下の手順は、これを実現する1つの可能な方法を提供します。

  1. ダウンロード Plop Boot Manager (現在v5.0.15)
  2. Zipアーカイブからファイルplpbt.isoを抽出し、どこかに保存します。
  3. 仮想マシンの設定を開き、ISOファイルを添付します。

    enter image description here

  4. USBデバイス用のフィルターを追加します。

    enter image description here

  5. VMを起動し、メニューで[USB]オプションを選択します。

    enter image description here

すべてうまくいった場合、マシンはUSBデバイスから起動するはずです。

88
Nathan Osman

編集:2018年3月7日

ここで注意すべきこと。再起動時にUSBドライブをコンピューターに残しておくと、/dev/sdドライブ文字の指定が変更され、未加工のusb.vmdkファイルが誤ったドライブを指すようになり、VirtualBoxで起動しなくなります。テストとして、システムに1つを残しました。再起動前は/dev/sdiでしたが、再起動後は/dev/sdcでした。変更のためにコンピューターを再起動する場合は、再起動する前にUSBドライブを取り外してください。代わりに、ドライブのUUIDからrawディスクを作成できるかどうかを調べていますが、変更はありません。


VirtualBoxはUSBドライブから起動しないため、起動するUSB​​ドライブを指す.vmdkファイルを作成できます。

注:USBを表示するには、VirtualBoxのvboxusersグループにユーザーアカウントを追加する必要があります。アカウントをdiskグループにも追加する必要があります。そうしないと、.vmdkファイルを仮想マシンに追加できません。 EDITに以下の手順を追加しました。これは、USBドライブをハードドライブにコピーせず、USBを直接使用します。これは、保持したいUSBに永続性がある場合に役立ちます。 すべての状況が同じというわけではないため、これはすべてのケースで機能するとは限りません。

まず、システムで作成したUSBを用意し、物理ドライブが何であるかを判断する必要があります。ドライブが/dev/sdb1としてマウントされていると仮定します。したがって、物理ドライブは/dev/sdbになります。

次に、ターミナルウィンドウから次のように入力して、USBドライブを指す.vmdkファイルを作成します。

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

次に、.vmdkファイルをVirtualBox仮想マシンに追加して、起動できることを確認するだけです。

enter image description here

編集:

ユーザーをvboxusersグループに追加するには、次のコマンドを実行します。

Sudo usermod -a -G vboxusers username

ユーザーをdiskグループに追加するには、次のコマンドを実行します。

注:ユーザーをディスクグループに追加することは危険であり、セキュリティリスクになる可能性があります。 rawディスクに書き込むためにSudoにアクセスするのと同じくらい危険です。

Sudo usermod -a -G disk username

次に、変更を有効にするために、システムをMUST REBOOTする必要があります。

再起動前:

enter image description here

再起動後:

enter image description here

お役に立てれば!

50
Terrance

私はほんの数日前にこの投稿に来ました。 USBスティックはすでに起動可能なので、Plop Boot Managerを使用したくありません。

そこで、vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdbを作成して、USBスティックをVMDKディスクに向けようとしました(Terranceの回答のように)。

残念ながら、これは機能しません...私はchmodおよびchownusb.vmdkディスクを使用したため、VMにアタッチできましたが、機能しませんでした。

最後に、私は別の解決策を試みましたが、これは完璧に機能しました。ここにあります(研究のためにGean Santosに感謝):

  1. USBスティックを挿入して識別します(私のものは/dev/sdb、Sabayon Linuxを実行しています)。
  2. Rawデバイス(つまりUSBスティック)をVirtualBoxディスクに変換することにより、.vmdkディスクを作成します

    Sudo VBoxManage convertfromraw /dev/sdb ./usb.vmdk --format vmdk
    
  3. これで、起動可能なUSBスティックからusb.vmdkディスクが作成されました。また、イメージファイルにdd USBスティックを試して、イメージファイルから.vmdkディスクを作成しました。前の方法で(またはイメージファイルから)作成された.vdiディスクと同様に動作します

  4. ここで、VirtualBoxがファイルにアクセスできるように、作成されたディスクにアクセス許可を与えます。 vboxusersグループのユーザーにファイルの所有者を変更するを意味します。 VirtualBoxのインストールが正常に実行されている場合、この所有者はおそらく次のようになります。

    Sudo chown `whoami`:`whoami` ./usb.vmdk
    
  5. ここで、usb.vmdkディスクを仮想マシンに接続するだけです。ただし、IDE controllerにアタッチする必要があります。 SATAを試しましたが成功しませんでした。

A VM example with a bootable <code>usb.vmdk</code> attached to an IDE controller

この時点で、大丈夫です。

新しいVMを起動し、F12を押して起動可能なドライブを選択します。

楽しい!

15

最も簡単な解決策は、USBキーの内容をisoファイルにコピーすることです(まあ、次回は適切なマシンにisoをダウンロードするだけで、そもそもUSBキーは必要ありません)

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

次に、この.isoをVirtualBoxの設定の[ストレージ]、[コントローラー]の下の光学ドライブとして追加します:IDE(またはSATA、私は推測します)。

.vmdkファイルを作成する必要はありません。VirtualBoxは.isoファイルをサポートします。

11
David Faure

次の手順をお勧めします。

  1. ディスクを開きます。
  2. USBを探します。
  3. そこをクリックすると、右上隅に3本の平行線がある設定アイコンが表示されます。
  4. そこをクリックして、ディスクイメージの作成...を選択します
  5. 場所を選択して、作成をクリックします。 VirtualBoxで使用できる.imgファイルが作成されます。
5

Virtualboxをルートとして実行したくありませんでした。すべてのディスクに対する完全なアクセス許可を持つユーザーをディスクグループにしたくありませんでした。

だからここに私が働くようになったものがあります:

メモリスティックのSDを確認します。次の手順では、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
    
  • Virtualboxマシンを起動します
  • 完了したら、セキュリティのためにsdc1権限をリセットします。

    chmod 660 /dev/sdc1
    

上記の例では、メモリスティックのアクセス許可を数回リセットする必要があることがわかります。これは、毎回ルートに戻るためです。

私はMandriva Linuxを使用していますが、Ubuntuでもほぼ同じはずです

2
Wayne Sallee

USBドライブがEFIブート可能ドライブの場合、Plop Boot ManagerはEFIブートをサポートしていないため機能しません。そのような場合に私にとってうまくいったのは、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ブートメニューが表示されます。

rEFInd menu

  1. VirtualBoxでUSBドライブを接続します。

  2. バックスペースを押してメニューを更新するか、数秒待つとメニューにドライブが表示されます。

  3. USBドライブを選択してEnterキーを押すと、USBドライブの起動が開始されます。

1
Leszek Szary