第9章高度なトピック で説明されているようにvmdkファイルを作成し、ゲストvmに追加しました。その後、LinuxゲストVMにrawディスク全体をマウントできました。これで、ext4ファイルシステムを読み取ることはできますが、書き込むことはできません。ファイルシステムをNTFSに変更せずに書き込みアクセスを取得するにはどうすればよいですか? Win7では、ファイルシステムが不明なrawハードディスクであるため、そのハードディスクにアクセス許可を設定できません。
さて、私は自分で解決策を見つけました。それでは、それを機能させるために私が行った手順について詳しく説明したいと思います。
VirtualBox 4.2.0 r80737
ホスト:Windows 7(64ビット)
ゲスト:Ubuntu 12.04 LTS(64ビット)
DISKPART
(コマンドラインユーティリティ)を実行します。LIST DISK
と入力して、使用可能なすべてのディスクとそれに関連するIDのリストを取得します。 (ディスク全体の一部のみを使用する場合はLIST PARTITIONS
)SELECT DISK
を使用してハードドライブを慎重に選択します。OFFLINE DISK
を使用してディスクをオフラインにします。すべてのディスクボリュームがWindowsエクスプローラから消えます。ATTRIBUTES DISK CLEAR READONLY
(important!)と入力して、ディスクが書き込み可能であることを確認します。ATTRIBUTES DISK
で確認します。cmd
(コマンドラインユーティリティ)を実行します。cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage internalcommands createrawvmdk -filename /path/RawDisk.vmdk -rawdisk \\.\PhysicalDrive1
(出典: VirtualBoxマニュアル:高度なストレージ構成 )
Ubuntuを使用している場合は、ファイルエクスプローラーのナビゲーションペインにドライブが表示されているはずです。今すぐクリックすると、ドライブを読み取り専用で/media/drivename
にマウントするだけです。これを防ぐには、ターミナルを開いて次のものを入れます。
cd /media
Sudo mkdir DRIVENAME
Sudo chown USERNAME DRIVENAME
Sudo chgrp USERNAME DRIVENAME
(DRIVENAMEとUSERNAMEを適切な値に置き換えます)
ファイルエクスプローラーを再度開き、ナビゲーションペインで名前をクリックしてドライブをマウントします。これで、rawハードディスクにファイルとフォルダを作成できるようになります。
もちろん、/etc/fstab
を介してディスクを永続的にマウントすることは可能ですが、デバイスをSudo mount
する必要があり、ナビゲーションペインを介したグラフィカルマウントは機能しなくなります。
VMDKファイルを作成した後、そこに次の行があることに気付きました。
ddb.adapterType="ide"
このオプションはデフォルトで設定されています。それでも問題が発生し、rawディスクがIDEディスクではなくSATAである場合は、次の行を変更してください。
ddb.adapterType="sata"
もちろん、VMDKファイルをSATAコントローラーとしてVMコントローラーの代わりにIDE)に追加する必要があります。
ディスクはゲストに/ dev/sda1(仮想ボックスのドキュメントを参照)として表示されます。そのドライブを読み取り/書き込みでマウントする必要があります。これを永続的に構成する最も簡単な方法は、次のような行を/ etc/fstabに追加することです。
/dev/sda1 /mnt/raw/disk-file/ ext4 defaults 0 2
ドライブをその場で読み取り/書き込みで再マウントする場合は、次のコマンドを発行できます。
mount -o remount,rw /dev/sda1
繰り返しますが、これはドライブのデバイスがsda1であると想定しています。そのようなものがない場合は、dmesgスキャンの出力を調べて、「ATA」または「SCSI」の行を探します。これにより、ドライブのデバイスノードに移動します。通常、/ dev /フォルダーで見つけるのは本当に簡単です。 hd [abcd ..] [1234]またはsd [abcd ..] [1234 ...]を探してください。