物理ハードドライブパーティションを使用してVirtualBoxを使用してUbuntu OSをインストールし、ブート可能にすることは可能ですか?
私が欲しいのは、VirtualBoxにインストールしたUbuntu OSにアクセスし、物理マシンとVirtualBox VMの両方から起動できることです(もちろん同時にではありません)。そのため、仮想マシンとして起動できる場合もあれば、実マシンとして起動できる場合もあります(Linux MintであるメインOSと並行したデュアルブートとして)。
これに関するいくつかの記事を読んだ後、ここにリンクがあります:
私はそれができると思いますが、私の問題の結果についてはわかりません。プロセスに問題がある場合、深刻なデータ破損につながると言われています。
(パーティションだけでなく)ハードドライブのデータ全体が破損するということですか?
編集
言及するのを忘れましたが、私がインストールした仮想Ubuntu OSは3つのパーティションに分割されています。そして、使用する物理パーティションドライブは1つの論理パーティションです。これは、結果がわからない問題です。
私は自分の問題の解決策を見つけます。それほど単純ではありません。経験の浅いUbuntuユーザーとしての私にとって、それは混乱しています。最終的に、私はこれをしないことにしました。しかし、誰かが私よりももっと良い方法を持っているかもしれません。
メインOSの横にUbuntu OSをインストールします。私の場合、それはLinuxミントです。しかし、ミントはUbuntuに基づいているため、ミントとUbuntuのプロセスに違いはありません。
インストールが完了したら。新しくインストールされたUbuntu OSを含むパーティションを読み取るには、VirtualBoxのメディアを作成する必要があります。方法は次のとおりです。
VBoxManage internalcommands createrawvmdk -filename /path/to/file.vmdk -rawdisk /dev/sdX -partitions Y,Y
X
はハードドライブ、Y
はパーティション番号です。メインOSブートを含むパーティションを含めないでください。メイン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ファイルを、作成した中間ファイルと同じフォルダーに入れるとよいでしょう。
新しくインストールされた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つの方法から起動できても。いくつかの問題が見つかりました。
実マシンからブートしてから仮想マシンからブートしようとすると、エラーになります。 medium.vmdk
を認識せずに物理ドライブの状態が変更されるため。そのため、仮想メディアから起動できるように、新しいメディアを作成し、そのアクセス許可を再度変更する必要があります。ただし、新しいboot.iso
を作成する必要はありません。
両方のマシンのMACアドレスが異なるためです。ネットワーク設定を構成しようとすると、OSが混乱します。私の場合、Ubuntu Serverを新しいOSとしてインストールし、別のマシンから起動するたびに、「ネットワーク構成を待機しています...」などのメッセージが約2分間表示されてから起動します。
それでおしまい。私自身の問題に対する私の解決策。