linux下掛載VHD等虛擬磁盤文件的方法
1、RAW格式虛擬磁盤
linux下可以直接掛載raw格式的虛擬磁盤鏡像文件。
例如,這里先用dd命令創(chuàng)建一個(gè)文件,然后將其格式化為ext4
格式(只有一個(gè)分區(qū)),然后掛載到/mnt
目錄。
下面的raw.img
磁盤鏡像文件就一個(gè)分區(qū),所以沒(méi)有使用offset=
來(lái)指定偏移。如果有多個(gè)分區(qū),則可以通過(guò)指定偏移來(lái)掛載。具體的可以查閱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 文件系統(tǒng) 容量 已用 可用 已用% 掛載點(diǎn) tmpfs 3.9G 79M 3.8G 2% /dev/shm /dev/sda4 30G 6.6G 24G 22% / tmpfs 3.9G 136K 3.9G 1% /tmp /dev/sda2 69G 26G 41G 39% /home tmpfs 794M 36K 794M 1% /run/user/1000 /dev/loop0 488M 780K 452M 1% /mnt
2、VHD/VHDX磁盤文件掛載
linux不能直接支持掛載VHD磁盤鏡像文件。可以通過(guò)vmware的vmware-mount
等工具來(lái)掛載。vmware
沒(méi)有直接提供這個(gè)工具,但在vmware player
和vmware workstation
中都有提供。但這里不打算使用這種方式。
這里使用qemu-nbd來(lái)掛載磁盤鏡像文件。
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è)備來(lái)使用。
NBD是一個(gè)內(nèi)核模塊,大部分Linux發(fā)行版都已經(jīng)包含它,這里不需要再安裝了。
使用modprobe來(lái)加載nbd驅(qū)動(dòng)
/media/o/data [o@o-pc] [11:04] > sudo modprobe nbd max_part=8
加載完成后,可以使用modinfo命令來(lái)查看模塊信息
/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)
上面的信息說(shuō),初始化網(wǎng)絡(luò)塊設(shè)備的數(shù)目為16,說(shuō)明其在/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
來(lái)進(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 設(shè)備 啟動(dòng) 起點(diǎn) 末尾 扇區(qū) 大小 Id 類型 /dev/nbd0p1 2048 209711103 209709056 100G 7 HPFS/NTFS/exFAT
實(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 安裝說(shuō)明.txt
安裝exFAT支持
因?yàn)榉謪^(qū)是exFAT
格式的,不能直接掛載。
先安裝一下fuse-exfat
和exfat-utils
。
具體的安裝過(guò)程簡(jiǎn)要的說(shuō)一下
先下載兩個(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來(lái)安裝sudo apt install exfat-utils exfat-fuse
3、其它虛擬磁盤文件的掛載
其它的就不再說(shuō)了,與上面的VHD掛載是一樣的,前提是要是支持的磁盤映像格式才行。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面)
這篇文章主要介紹了詳解如何在Ubuntu 20.04上安裝Xrdp服務(wù)器(遠(yuǎn)程桌面),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07Linux下如何實(shí)時(shí)查看GPU狀態(tài)
這篇文章主要介紹了Linux下如何實(shí)時(shí)查看GPU狀態(tài)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05關(guān)于linux下core dump【總結(jié)】
下面小編就為大家?guī)?lái)一篇關(guān)于linux下core dump【總結(jié)】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01虛擬機(jī)安裝Linux rhel7.3操作系統(tǒng)(具體步驟)
這篇文章主要介紹了虛擬機(jī)安裝Linux rhel7.3操作系統(tǒng)(具體步驟),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10linux確認(rèn)已經(jīng)卸載數(shù)據(jù)盤并可以新建自定義鏡像
在本文中我們給大家整理了關(guān)于linux中如何確認(rèn)已經(jīng)卸載數(shù)據(jù)盤并可以新建自定義鏡像的相關(guān)內(nèi)容和知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。2018-09-09在linux中設(shè)置tomcat開機(jī)自啟動(dòng)的方法
由于各種各樣的原因,服務(wù)器有重啟的可能,這樣tomcat就需要配置成開機(jī)自動(dòng)啟動(dòng),否則每次重啟后就需要連遠(yuǎn)程手動(dòng)啟動(dòng)tomcat,如果服務(wù)器被迫重啟,而技術(shù)人員又不能及時(shí)運(yùn)行tomcat,那么后果很嚴(yán)重,所以本文給大家介紹了在linux中設(shè)置tomcat開機(jī)自啟動(dòng)的方法2024-02-02