web-dev-qa-db-ja.com

VirtualBox VMおよび起動可能なパーティションとして物理ハードドライブパリションを使用する

物理ハードドライブパーティションを使用してVirtualBoxを使用してUbuntu OSをインストールし、ブート可能にすることは可能ですか?

私が欲しいのは、VirtualBoxにインストールしたUbuntu OSにアクセスし、物理マシンとVirtualBox VMの両方から起動できることです(もちろん同時にではありません)。そのため、仮想マシンとして起動できる場合もあれば、実マシンとして起動できる場合もあります(Linux MintであるメインOSと並行したデュアルブートとして)。

これに関するいくつかの記事を読んだ後、ここにリンクがあります:

  1. 仮想マシン(VM)から物理システムへの移行
  2. ゲストのrawホストハードディスクを使用
  3. VirtualBox VMで物理ハードドライブを使用
  4. VirtualBox:仮想ドライブとして物理パーティションを使用

私はそれができると思いますが、私の問題の結果についてはわかりません。プロセスに問題がある場合、深刻なデータ破損につながると言われています。

(パーティションだけでなく)ハードドライブのデータ全体が破損するということですか?

編集

言及するのを忘れましたが、私がインストールした仮想Ubuntu OSは3つのパーティションに分割されています。そして、使用する物理パーティションドライブは1つの論理パーティションです。これは、結果がわからない問題です。

10
Mas Bagol

私は自分の問題の解決策を見つけます。それほど単純ではありません。経験の浅いUbuntuユーザーとしての私にとって、それは混乱しています。最終的に、私はこれをしないことにしました。しかし、誰かが私よりももっと良い方法を持っているかもしれません。

新しいUbuntu OSをインストールする

メインOSの横にUbuntu OSをインストールします。私の場合、それはLinuxミントです。しかし、ミントはUbuntuに基づいているため、ミントとUbuntuのプロセスに違いはありません。

新しいOSを読み取るための仮想ボックス用の中規模ファイルの作成

インストールが完了したら。新しくインストールされたUbuntu OSを含むパーティションを読み取るには、VirtualBoxのメディアを作成する必要があります。方法は次のとおりです。

VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y

Xはハードドライブ、Yはパーティション番号です。メインOSブートを含むパーティションを含めないでください。メインOSブートを含まない新しいOSには別のブートメディアが必要だからです。ルートとして実行する必要がある場合があります。

Virtual OS用のメディアを作成して新しいOSから起動する

ブートメディアを作成するために、新しいOSブートファイルからISOイメージを作成します。まず、メインOSでこれを行う必要があります。コンピューターを再起動し、メインOSから起動します。私の場合、Linux Mintを再起動します。

Isoブートファイルを作成するための一時フォルダーを作成する必要があります。だから、ミントが仕事をする準備ができたら。フォルダーを作成します。デスクトップでこれを行うと仮定します。次のようにします。

  • デスクトップに移動します。

  • 新しいフォルダーを作成し、「iso」という名前を付けます。

  • そのisoフォルダーを開き、「boot」という名前の新しいフォルダーを再度作成します。

  • そのブートフォルダーを開き、もう一度「grub」という名前の新しいフォルダーを作成します。

    ターミナル経由でこれを行う場合は、この行を入力してEnterキーを押すだけです。

    mkdir -p ~/Desktop/iso/boot/grub
    

    端末は、何をしているのかわかっていれば素晴らしいツールです!;)

  • フォルダーが作成されたら、新しいUbuntu OSブートファイルをそのフォルダーにコピーする必要があります。そのため、Ubuntu OSをインストールするパーティションを開き、/usr/lib/grub/i386-pc/から~/Desktop/iso/boot/grubにすべてのファイルをコピーします。すべてのファイルを/boot/grub/grub.cfgから~/Desktopiso/boot/grubにコピーします。

    繰り返しますが、このステップが端末経由で行われる場合、次のようにします。

    cp /usr/lib/grub/i386-pc/* ~/Desktop/iso/boot/grub
    
    cp /boot/grub/grub.cfg ~/Desktop/iso/boot/grub
    
  • テキストエディターで~/Desktop/iso/boot/grub/grub.cfgのgrub.cfgを開きます。 警告間違えないでください、ここで編集するのは/boot/grub/grub.cfgの編集ではありません。最後に述べたものを編集すると、メインOSのブートは失敗します。

  • Grup.cfgが開いたら。インストールした新しいUbuntu OSに関係のないmenuentryを削除します。通常は次のようになります。

    ### Begin /etc/grub.d/your_main_os ###
    menuentry 'The text displayed in boot menu' {
        ----
        some code we don't need understand for this
        ----
    }
    ### End /etc/grub.d/your_main_os  ###
    

    インストールした新しいUbuntu OSに関連しないすべてのメニューエントリを削除します。 VirtualBoxに存在する必要はありませんか?

  • 次に、これを含むすべてのファイルを含むフォルダーをisoに変換します。

    grub-mkrescue -o boot.iso ~/Desktop/iso
    

    注:これを実行中にエラーが発生した場合、最初にxorrisoをインストールする必要があります。これとともに:

    Sudo apt-get install xorriso
    
  • 起動用のISOファイルが作成されます。そのisoファイルを、作成した中間ファイルと同じフォルダーに入れるとよいでしょう。

インストールした正確なUbuntu OSを起動できるように仮想マシンを設定します

新しくインストールされたOSを読み取るためのメディアを作成し、VirtualBoxのブートローダーを個別に作成しました。最後に、Virtual Boxがこれを行う方法を構成します。

  • medium.vmdkを配置した場所に移動します。そこでターミナルを開き、これを行います:

    chmod -v 666 medium.vmdk
    
  • ルートとしてmedium.vmdkおよびboot.isoファイルのアクセス許可を変更します。これらのファイルの所有者になる必要があります。

  • VirtualBoxを開きます。新しいマシンを作成します。 [ハードドライブ]オプションにオプションが表示されたら、use an existing virtual hard driveを選択し、medium.vmdk

  • 終了しますが、まだ実行しないでください。新しいマシンを選択した状態で、設定を開きます。

  • [ストレージ]セクションで、CDストレージがない場合は新しいストレージを作成します。次に、そのCDストレージに作成したマウントboot.isoを作成します。

  • [設定]を閉じる前に、[システム]セクションに移動して確認してください。 boot.isoを含むCDストレージは、ハードディスクの前に最初に読み取られます。これにより、Virtual BoxはCDから起動し、新しくインストールされたOSを読み取ります。

  • 終わり。また、仮想マシンと実マシンの両方から新しいインストール済みOSを実行できます。

重要な注意事項

たとえ2つの方法から起動できても。いくつかの問題が見つかりました。

  1. 実マシンからブートしてから仮想マシンからブートしようとすると、エラーになります。 medium.vmdkを認識せずに物理ドライブの状態が変更されるため。そのため、仮想メディアから起動できるように、新しいメディアを作成し、そのアクセス許可を再度変更する必要があります。ただし、新しいboot.isoを作成する必要はありません。

  2. 両方のマシンのMACアドレスが異なるためです。ネットワーク設定を構成しようとすると、OSが混乱します。私の場合、Ubuntu Serverを新しいOSとしてインストールし、別のマシンから起動するたびに、「ネットワーク構成を待機しています...」などのメッセージが約2分間表示されてから起動します。

それでおしまい。私自身の問題に対する私の解決策。

9
Mas Bagol