ホームページ  >  記事  >  システムチュートリアル  >  Linux で VHD およびその他の仮想ディスク ファイルをマウントする方法

Linux で VHD およびその他の仮想ディスク ファイルをマウントする方法

王林
王林転載
2024-01-09 10:17:381581ブラウズ

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

Linux で VHD およびその他の仮想ディスク ファイルをマウントする方法

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

Linux で VHD およびその他の仮想ディスク ファイルをマウントする方法実際には、ディスクにはパーティションが 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 サイトの他の関連記事を参照してください。

声明:
この記事はjb51.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。