ホームページ > 記事 > システムチュートリアル > Linux で VHD およびその他の仮想ディスク ファイルをマウントする方法
1. RAW 形式の仮想ディスク
Linux では、raw 形式の仮想ディスク イメージ ファイルを直接マウントできます。
たとえば、ここではまず dd コマンドを使用してファイルを作成し、次にそれを ext4 形式 (1 つのパーティションのみ) にフォーマットしてから、/mnt ディレクトリにマウントします。
以下の raw.img ディスク イメージ ファイルは 1 つのパーティションのみであるため、オフセットの指定に offset= は使用されません。複数のパーティションがある場合は、オフセットを指定してマウントできます。具体的な情報については、mount コマンドの関連パラメータ情報を参照してください。
> dd if=/dev/zero of=raw.img bs=1M count=512
512 0
の読み取りを記録しました512 0
の書き込みを記録しました536870912 バイト (537 MB、512 MiB) がコピーされました、0.207045 秒、2.6 GB/秒
/home/o [o@o-pc] [10:29]
> mkfs.ext4 -q raw.img
/home/o [o@o-pc] [10:30]
> sudo mount -o ループ raw.img /mnt
/home/o [o@o-pc] [10:30]
> df -h
2. VHD/VHDX ディスク ファイルのマウント
Linux は、VHD ディスク イメージ ファイルのマウントを直接サポートできません。 vmware の vmware-mount などのツールを介してマウントできます。 VMware はこのツールを直接提供していませんが、vmware player および vmware workstation で利用できます。しかし、それはここに行くべき道ではありません。
Qemu-nbd は、ディスク イメージ ファイルをマウントするためにここで使用されます。
a) qemu をインストールします
まず、qemu-kvm をインストールする必要があります。ここでは Fedora 25 を使用しています。インストールコマンドは次のとおりです。
sudo dnf インストール qemu-kvm
debian/ubuntu などを使用している場合は、sudo apt-get install qemu-kvm を使用してインストールできます。
archlinux は、sudo pacman -S qemu を使用してインストールできます。
b) nbd ドライバーをロードします
NBD (Network Block Device) は、Network Block Device の略です。このモジュールは、リモート ホストのディスク領域 (nfs のマウントとは異なります) をローカル ブロック デバイスとして使用できます。
NBD はカーネル モジュールです。ほとんどの Linux ディストリビューションにはすでに含まれています。ここでインストールする必要はありません。
modprobe を使用して nbd ドライバーをロードする
/メディア/o/データ [o@o-pc] [11:04]
> sudo modprobe nbd max_part=8
ロードが完了したら、modinfo コマンドを使用してモジュール情報を表示できます
/メディア/o/データ [o@o-pc] [11:05]
>modinfo nbd
ファイル名: /lib/modules/4.9.6-200.fc25.x86_64/kernel/drivers/block/nbd.ko.xz
ライセンス: GPL
説明:ネットワークブロックデバイス
依存:
インツリー: Y
vermagic: 4.9.6-200.fc25.x86_64 SMP mod_unload
署名: PKCS#7
###歌手: ###sig_key:
sig_hashalgo: md4
parm: nbds_max: 初期化するネットワーク ブロック デバイスの数 (デフォルト: 16) (int)
parm: max_part:デバイスあたりのパーティション数 (デフォルト: 0) (int)
上記の情報は、初期化されたネットワーク ブロック デバイスの数が 16 であることを示しており、/dev/ の下に 16 個の nbd デバイスが作成されることを示しています。
/メディア/o/データ [o@o-pc] [11:05]
> ls /dev/nbd*
/dev/nbd0 /dev/nbd0p1 /dev/nbd1 /dev/nbd10 /dev/nbd11 /dev/nbd12 /dev/nbd13 /dev/nbd14 /dev/nbd15 /dev/nbd2 /dev/nbd3 /dev/ nbd4 /dev/nbd5 /dev/nbd6 /dev/nbd7 /dev/nbd8 /dev/nbd9
c) vhdx ファイルを nbd デバイスに接続します
ここで qemu-nbd を使用して接続します (接続するには -c パラメーターを使用し、切断するには -d パラメーターを使用します)
/メディア/o/データ [o@o-pc] [11:05]
> sudo qemu-nbd -c /dev/nbd0 VS2017RC-offline.vhdx
接続後、fdisk を使用してデバイス情報を確認します。
/メディア/o/データ [o@o-pc] [11:05]
> sudo fdisk -l /dev/nbd0
ディスク /dev/nbd0: 100 GiB、107374182400 バイト、209715200 セクター
単位: セクター / 1 * 512 = 512 バイト
セクター サイズ (論理/物理): 512 バイト / 512 バイト
I/O サイズ (最小/最適): 512 バイト / 512 バイト
ディスクラベルタイプ: dos
ディスク識別子: 0xa373e501
実際には、ディスクにはパーティションが 1 つだけあり、パーティション形式は exFAT であり、ディスク サイズは動的に増加します。
d) パーティションのマウント
mount コマンドを使用して nbd0p1 をマウントするだけです
/メディア/o/データ [o@o-pc] [11:36]
> sudo mount -t exfat -o rw /dev/nbd0p1 /mnt
[sudo] o のパスワード:
FUSE exfat 1.0.1
/メディア/o/データ [o@o-pc] [12:05]
>ls /mnt/
'$RECYCLE.BIN' 'システム ボリューム情報' vs2017rc インストール手順.txt
exFAT サポートをインストールする
パーティションは exFAT 形式であるため、直接マウントできません。
まず、fuse-exfat と exfat-utils をインストールします。
具体的なインストールプロセスについて簡単に説明しましょう
最初に 2 つの rpm ソース パッケージをダウンロードします。
wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.src.rpm
wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.src.rpm
次に、fuse-devel と rpmbuild をインストールし、src.rpm パッケージを解凍します。
sudo dnf install furuse-devel rpmbuild
sudo dnf install scons #exfat-utils のビルドに必要
rpm -ivh exfat-utils-1.0.1-2.el6.src.rpm exfat-utils-1.0.1-2.el6.src.rpm
解凍が完了すると、現在のユーザーのホーム ディレクトリに rpmbuild ディレクトリが表示され、このディレクトリの下にある SPECS ディレクトリに入ることができます。
次に、rpmbuild を使用して rpm パッケージをビルドします。
rpmbuild -ba exfat-utils.spec
rpmbuild -ba furuse-exfat.spec
ビルドが完了したら、rpmbuild/RPMS/x86_64 ディレクトリ (ここでの x86_64 はシステム アーキテクチャに関連します) に移動し、生成された rpm パッケージをインストールします。
/home/o/rpmbuild/RPMS/x86_64 [o@o-pc] [12:04]
> sudo rpm -ivh exfat-utils-1.0.1-2.fc25.x86_64.rpm furuse-exfat-1.0.1-1.fc25.x86_64.rpm
準備...
[100%]アップグレード/インストール中...
1:fuse-exfat-1.0.1-1.fc25 ################################ [ 50 %]### ###2:exfat-utils-1.0.1-2.fc25 ################################ [ 100 %]### ###ubuntu では、apt を使用して直接インストールできます。 sudo apt install exfat-utils exfat-fuse### ###3. 他の仮想ディスク ファイルのマウント### ###これ以上は何も言いませんが、サポートされているディスク イメージ形式であれば、上記の VHD のマウントと同じです。 ###
以上がLinux で VHD およびその他の仮想ディスク ファイルをマウントする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。