溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

linux下如何掛載VHD等虛擬磁盤文件

發(fā)布時(shí)間:2021-07-15 09:36:05 來源:億速云 閱讀:553 作者:小新 欄目:系統(tǒng)運(yùn)維

小編給大家分享一下linux下如何掛載VHD等虛擬磁盤文件,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

1、RAW格式虛擬磁盤

linux下可以直接掛載raw格式的虛擬磁盤鏡像文件。

例如,這里先用dd命令創(chuàng)建一個(gè)文件,然后將其格式化為ext4格式(只有一個(gè)分區(qū)),然后掛載到/mnt目錄。

下面的raw.img磁盤鏡像文件就一個(gè)分區(qū),所以沒有使用offset=來指定偏移。如果有多個(gè)分區(qū),則可以通過指定偏移來掛載。具體的可以查閱mount命令的相關(guān)參數(shù)信息。

> dd if=/dev/zero of=raw.img bs=1M count=512

記錄了512+0 的讀入

記錄了512+0 的寫出

536870912 bytes (537 MB, 512 MiB) copied, 0.207045 s, 2.6 GB/s

/home/o [o@o-pc] [10:29]

> mkfs.ext4 -q raw.img 

/home/o [o@o-pc] [10:30]

> sudo mount -o loop raw.img /mnt

/home/o [o@o-pc] [10:30]

> df -h

linux下如何掛載VHD等虛擬磁盤文件

 2、VHD/VHDX磁盤文件掛載

linux不能直接支持掛載VHD磁盤鏡像文件??梢酝ㄟ^vmware的vmware-mount等工具來掛載。vmware沒有直接提供這個(gè)工具,但在vmware player和vmware workstation中都有提供。但這里不打算使用這種方式。

這里使用qemu-nbd來掛載磁盤鏡像文件。

a)安裝qemu

首先要安裝一下qemu-kvm,我這里使用的是Fedora 25,安裝命令如下

sudo dnf install qemu-kvm 

如果你是用的debian/ubuntu等,可以使用sudo apt-get install qemu-kvm進(jìn)行安裝。

archlinux可以使用sudo pacman -S qemu進(jìn)行安裝。

b)加載nbd驅(qū)動(dòng)

NBD(Network Block Device)是網(wǎng)絡(luò)塊設(shè)備的縮寫。這個(gè)模塊可以將一個(gè)遠(yuǎn)程主機(jī)的磁盤空間(與掛載nfs有區(qū)別),當(dāng)作一個(gè)本地塊設(shè)備來使用。

NBD是一個(gè)內(nèi)核模塊,大部分Linux發(fā)行版都已經(jīng)包含它,這里不需要再安裝了。

使用modprobe來加載nbd驅(qū)動(dòng)

/media/o/data [o@o-pc] [11:04]

> sudo modprobe nbd max_part=8

加載完成后,可以使用modinfo命令來查看模塊信息

/media/o/data [o@o-pc] [11:05]

> modinfo nbd

filename:       /lib/modules/4.9.6-200.fc25.x86_64/kernel/drivers/block/nbd.ko.xz

license:        GPL

description:    Network Block Device

depends:        

intree:         Y

vermagic:       4.9.6-200.fc25.x86_64 SMP mod_unload 

signat:         PKCS#7

signer:         

sig_key:        

sig_hashalgo:   md4

parm:           nbds_max:number of network block devices to initialize (default: 16) (int)

parm:           max_part:number of partitions per device (default: 0) (int)

上面的信息說,初始化網(wǎng)絡(luò)塊設(shè)備的數(shù)目為16,說明其在/dev/下創(chuàng)建16個(gè)nbd設(shè)備。

/media/o/data [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設(shè)備

這里使用qemu-nbd來進(jìn)行連接(使用-c參數(shù)為連接,使用-d參數(shù)斷開連接)

/media/o/data [o@o-pc] [11:05]

> sudo qemu-nbd -c /dev/nbd0 VS2017RC-offline.vhdx 

連接上之后使用fdisk查看一下設(shè)備信息。

/media/o/data [o@o-pc] [11:05]

> sudo fdisk -l /dev/nbd0

Disk /dev/nbd0:100 GiB,107374182400 字節(jié),209715200 個(gè)扇區(qū)

單元:扇區(qū) / 1 * 512 = 512 字節(jié)

扇區(qū)大小(邏輯/物理):512 字節(jié) / 512 字節(jié)

I/O 大小(最小/最佳):512 字節(jié) / 512 字節(jié)

磁盤標(biāo)簽類型:dos

磁盤標(biāo)識(shí)符:0xa373e501

linux下如何掛載VHD等虛擬磁盤文件

實(shí)際上磁盤只有一個(gè)分區(qū),分區(qū)格式為exFAT,磁盤大小為動(dòng)態(tài)增長(zhǎng)。

d)掛載分區(qū)

直接使用mount命令掛載nbd0p1即可

/media/o/data [o@o-pc] [11:36]

> sudo mount -t exfat -o rw  /dev/nbd0p1 /mnt

[sudo] o 的密碼:

FUSE exfat 1.0.1

/media/o/data [o@o-pc] [12:05]

> ls /mnt/

'$RECYCLE.BIN'  'System Volume Information'  vs2017rc  安裝說明.txt

安裝exFAT支持

因?yàn)榉謪^(qū)是exFAT格式的,不能直接掛載。

先安裝一下fuse-exfat和exfat-utils。

具體的安裝過程簡(jiǎn)要的說一下

先下載兩個(gè)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 fuse-devel rpmbuild

sudo dnf install scons    # 構(gòu)建exfat-utils需要

rpm -ivh exfat-utils-1.0.1-2.el6.src.rpm exfat-utils-1.0.1-2.el6.src.rpm

解壓完成之后可以在當(dāng)前用戶的home目錄下看到rpmbuild目錄,進(jìn)入該目錄下的SPECS目錄。

然后使用rpmbuild構(gòu)建rpm包。

rpmbuild -ba exfat-utils.spec

rpmbuild -ba fuse-exfat.spec

構(gòu)建完成之后進(jìn)入rpmbuild/RPMS/x86_64目錄(這里x86_64與你的系統(tǒng)構(gòu)架有關(guān)),安裝生成的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 fuse-exfat-1.0.1-1.fc25.x86_64.rpm 

準(zhǔn)備中...                          ################################# [100%]

正在升級(jí)/安裝...

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掛載是一樣的,前提是要是支持的磁盤映像格式才行。

以上是“l(fā)inux下如何掛載VHD等虛擬磁盤文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI