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


72

質問は単純明快です。

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

編集

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

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

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

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


USBを開いて、すべてをISOファイルに圧縮し、正常に起動することができます。
dat tutbrus

@Ravan-ユーザーがusbスティックにプロパティ「boot」をgpartedでアタッチしないことを忘れないでください。これはgpartedのメニュー「パーティション」にあり、そこでフラグrespを編集できます。usbスティックのラベルとパラメーター「boot」を有効にします。
dschinn1001

1
@dattutbrus USB上のファイルを変更したい場合は機能しません
Paul

回答:


89

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

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

    ここに画像の説明を入力してください

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

    ここに画像の説明を入力してください

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

    ここに画像の説明を入力してください

すべてがうまくいけば、マシンはUSBデバイスから起動するはずです。


1
これは間違いなく私よりも簡単な答えです。私はそれが好きです!もっと賛成できたらいいなと思います。=)
テランス

3
この答えには、vboxusersグループの一員である必要があることを含める必要があります。
musiKk

6
私にはうまくいきません。usbを選択すると、彼の画面で永遠に待機します。何か案が?postimg.org/image/dv8w83pi3
ジョン

6
Plop Boot Managerは公式にEHCIのみをサポートしていることを付け加えたかった。あなたが私のような人で、Plop Boot ManagerでUSB 3.0ドライブを使用しようとしている場合、動作しません。他の投稿で言及されている方法を使用することもできますが、VirtualBoxはUSB 3.0デバイスのraw vmdksを使用することもあまり好きではないようです。コンピューターにUSB 3ポートしかない場合は、USB 2.0ハブを注文し、そのハブを介してドライブを接続できます。基本的にUSB 2.0ドライブのように動作します。
フェイクダッド

3
このソリューションとVMDKを組み合わせれば、ネイティブUSBパフォーマンスを得ることができます。それ以外の場合、これはUSB 1.1でのみ機能します。
ウィルビックフォード

50

編集:2018年3月7日

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


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

注:vboxusers USBを表示するには、VirtualBox のグループにユーザーアカウントを追加する必要があります。また、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

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

ここに画像の説明を入力してください

編集:

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

sudo usermod -a -G vboxusers username

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

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

sudo usermod -a -G disk username

その後、再起動しなければなりません変更を有効にするために、あなたのシステムを。

再起動する前に:

ここに画像の説明を入力してください

再起動後:

ここに画像の説明を入力してください

お役に立てれば!


1
このエラーが発生しました:VBoxManage:エラー:VMDK:rawディスクファイル '/ dev / sdc'を開けませんでしたVBoxManage:エラー:エラーコードVERR_WRITE_PROTECT at /build/virtualbox-VDAABr/virtualbox-4.3.36-dfsg/src/VBox/エラー:関数int vmdkCreateRawImage(PVMDKIMAGE、PVBOXHDDRAW、uint64_tを)VBoxManageにおけるストレージ/ VMDK.cpp(3390)VERR_WRITE_PROTECT VBoxManage:エラー:rawディスクVMDKファイルが作成されていない生のディスクVMDKを作成することはできません
ジョン

@Johnアカウントをdiskグループに追加してからログアウトし、グループを追加した後に再起動または再起動しましたか?
テランス

はい、それを再起動し、ルート結果として実行した場合のイベントは同じです
ジョン

2
私にとってはうまくいきます。備考:ログアウト/ログインするためだけに、再起動する必要はありません。ディスクグループに入ったら、sudoを使用する必要はありません。
カールフォーナー

1
指示に従いましたが、virtualboxのUSBドライブからWindows 10を起動しようとすると、「致命的:起動メディアから読み取れませんでした!システムが停止しました。」と表示されます。助言がありますか?ご協力ありがとうございました!
Arch Linux Tux

15

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

だから私はUSBスティックをVMDKディスクに向けようとしました(Terranceの答えのように) vboxmanage internalcommands createrawvmdk -filename ~/usb.vmdk -rawdisk /dev/sdb

残念ながら、これはI ...仕事することを拒否chmodし、ディスク、およびので、私は、VMにアタッチすることができましたが、それは単に動作しませんでした。chownusb.vmdk

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

  1. USBスティックを挿入して識別します(私の場合は/dev/sdbSabayon Linuxを実行しています)。
  2. rawデバイス(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ていない成功を収めて。

IDEコントローラに接続された起動可能な<code> usb.vmdk </ code>を使用したVMの例

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

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

楽しい!


これはUSB 3.0で機能しますか(ここにコメントaskubuntu.com/questions/693719/…を参照)?
ナッツについてのナッツ

確認したところ、基本的にUSBスティックドライブをコピーし、元のUSBスティックをこのように使用していません。
Fedcomp

11

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

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

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

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


この答えは一番上にあるはずです。
マクマトン

私は同意します:-)しかし、それはまだより多くの賛成票を必要とします;)
デビッド・フォール

あなたはそれが😅そのサイズのファイルを生成します40ギガバイト程度のブート可能なイメージを持つパーティションがあれば、ここの事はある
Sposmen

正しいですが、他のすべてのソリューションも同様です。
デビッドフォーレ

1
@DavidFaure「VBoxManage internalcommands createrawvmdk ...」の使用に関する元の答えは、上記のコマンドを実行したときにシステムに接続したUSBドライブへのショートカットに相当すると考えることができるものを作成するだけです。そのため、user33845
ConceptRat

5

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

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

2

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でもほぼ同じはずです


ここでいじる許可は非常に悪いアドバイスです。まず、rootとして実行しているため、これらのコマンドを機能させるために権限を実際に変更する必要はありません。第二に、適切なユーザーをディスクグループに追加することをお勧めします。そうすれば、必要さえありません。
エヴァンテラン

@エヴァン・テラン そして、はい、ユーザーはディスクグループの一部です。これは、私自身のLinuxオペレーティングシステムで現在も使用している方法です。ウェイン・サリーWayne@WayneSallee.com
ウェイン・サリー

私はそれがうまくいかないとは言わなかった、私はそれは良いアドバイスではないと言った。ユーザーのグループに関係なく、コマンドをrootとして実行している場合、rootにアクセスするため、アクセス許可をいじる必要さえありません。また、777と666を使用してファイルとフォルダーを作成することは悪い習慣です。必要な場合を除き、すべてのファイルを読み書き可能にしないでください。
エヴァンテラン

@ Evan Teranは、rootである必要のないプログラムをrootとして実行することは良いアドバイスではありません。メモリスティックは少しの間だけ挿入され、サーバー上にはありません。それはあなたがリスクを置きたい場所の問題です。システムではなくメモリスティックにリスクをかけることにしました。Wayne@WayneSallee.com
ウェインサリー

修正:ユーザーをディスクグループに入れていません。Wayne@WayneSallee.com
ウェインサリー

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ブートメニューが表示されます。

rEFIndメニュー

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.