思考実験とD.I.Y.

D.I.Y and Gedankenexperiment

【Ubuntu24.04】Linuxで物理的なHDDをVHD化する

1.物理マシンを分解して衝撃。。

複製用に使おうと思っていたHDDが昇天寸前であることが明らかになってから、時間がたってしまいましたが、作業に戻りたいと思います。

まずは、HDDの取り出そうとして、Windows2000(Win2k)なパソコンを分解したら、HDDがPATAでした。。。。。。😵*1

さてどうするかと、思案したところ、「SATA&IDEUSB2.0のアダプタ」と共に、「PATA⇒SATA変換アダプタ」を保管していたのを思いだしました。

これを使って、テスト用マシンにSATA接続させて、対処したいと思います。

2.手順の見直し

HDDがPATAだったおかげで*2最初に考えたVHD化以外の方法を思いつきました*3

手順的には、

  1. FreeBSD*4なテストマシンに、PATA/HDDを変換アダプタを介して接続。
  2. ddコマンドでイメージファイルに変換。
  3. VirtualBoxの入っているUbuntuにコピー。
  4. Ubuntu上のVBoxManageを使って、VHD化。
  5. 作成したVHDを使って、VMを作成。

3.FreeBSDでディスクイメージに変換*5

(1)デバイスの確認
# dmesg | less VHD化したいHDDのデバイス名を確認する

(2)ディスクイメージの作成。

バックアップ用フォルダに移動後、上記で確認したデバイス”ac10”*6からHDDイメージを作成する。

# cd [バックアップ用のフォルダ名]

バックアップ用

フォルダに移動

# dd if=/dev/ad10 of=./Win2k.img bs=32M HDDイメージ作成

※小生の環境では、250GbyteのHDDをディスクイメージにするのに1日半かかりました😵*7

4.VBoxManageでVHDを作成[*8][*9]

VBoxManageコマンドで、イメージファイルをVHDに変換します。

$ sudo VBoxManage convertfromraw ./Win2k.img ./Win2k.vhd --format=VHD

マシンのスペックにより変換にかかる時間は異なります。

小生の場合、昼に上記ジョブを投入し、夕方に出来上がっていたので、どれぐらいかかったか正確には解らないのですが。。。。

Tips
  • マイクロソフトから提供される「hdd2vhd」を使った、VHD化の場合、作成されるVHDファイルのサイズは、HDDの容量ではなく、使用中の容量のサイズになるようです。
  • 一方、今回のようにUnix上で行うと(ディスクのイメージ化&VBoxManageによるvhdの作成)の場合、出来上がるvhdのファイルサイズはHDDの容量になります。

*1:PATAはすべて処分したと思い込んでおりましたが、このマシンは長いこと分解していなかったもので、すっかり失念しておりました。😅

*2:”災い転じて福となす”と前向きに考えて😅

*3:煮詰まっている時は、以外と良策が浮かばないものかなと思いました。

*4:直接、Ubuntu24.04なマシンに接続すればよいのですが、単にUbuntu24.04なマシンを分解するのが面倒だったので。。。

*5:コマンドは若干異なりますが、Linuxでも基本的な手順は同じです。

*6:今回の場合、ad10が割り当てられていました。

*7:ddコマンド実行したマシンはかなり古いうえに、ディスク容量も少ないので、HDDイメージの作成先を、1GBeで接続したメインファイルサーバーにしたのも原因だと思いますが。。。。

*8:コマンドラインからのVirtualBox制御”、https://www.oracle.com/jp/technical-resources/articles/it-infrastructure/admin-manage-vbox-cli.html、最終閲覧日2024/7/21

*9:Oracle® VM VirtualBox® User Manual”、"Chapter 8. VBoxManage"、https://www.virtualbox.org/manual/ch08.html#vboxmanage-convertfromraw、最終閲覧日2024/7/21