首 页最新软件下载排行文章资讯投稿发布下载专题h5游戏
维维下载站
您的位置:首页软件教程操作系统 → linux怎么挂载VHD等虚拟磁盘文件教程

linux怎么挂载VHD等虚拟磁盘文件教程

来源:维维整理 更新时间:2017-4-18 15:02:51 人气:

linux下如何挂载VHD等虚拟磁盘文件?很多朋友可能对此还不是很了解,下面给各位朋友分享的是linux下挂载VHD等虚拟磁盘文件的具体方法,有兴趣的朋友赶紧来了解一下吧。

1、RAW格式虚拟磁盘

Linux可以直接以VRAW格式安装虚拟磁盘镜像文件。例如,在这里,首先使用DD命令创建文件,然后将其格式化为Ext4格式(仅一个分区),然后将其安装到/MNT目录。

下面的RAW.IMG磁盘映像文件是一个分区,因此不使用偏移量来指定偏移量。如果有多个分区,可以通过指定偏移量来安装它们。有关挂载命令的特定参考信息。

> 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安装。VMware不直接提供这个工具,但它是在VMware播放器和VMware工作站中提供的。但这种方式并不打算在这里使用。

这里使用qemu-nbd来挂载磁盘镜像文件。

a)安装qemu

首先要安装一下qemu-kvm,本人这里使用的是Fedora 25,安装命令如下

sudo dnf install qemu-kvm 

如果你是用的debian/ubuntu等,能够使用sudo apt-get install qemu-kvm进行安装。

archlinux能够使用sudo pacman -S qemu进行安装。

b)加载nbd驱动

NBD(Network Block Device)是网络块设备的缩写。此模块可以使用远程主机(与安装的nfs不同)的磁盘空间作为本地块设备。

NBD是一个内核模块,包含在大多数Linux发行版中。没有必要在这里安装它。

使用modprobe来加载nbd驱动

/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)

上面的信息说,初始化网络块设备的数目为16,说明其在/dev/下创建16个nbd设备。

/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设备

这里使用qemu-nbd来进行连接(使用-c参数为连接,使用-d参数断开连接)

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

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

连接上之后使用fdisk查看一下设备信息。

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

> sudo fdisk -l /dev/nbd0

Disk /dev/nbd0:100 GiB,107374182400 字节,209715200 个扇区

单元:扇区 / 1 * 512 = 512 字节

扇区大小(逻辑/物理):512 字节 / 512 字节

I/O 大小(最小/最佳):512 字节 / 512 字节

磁盘标签类型:dos

磁盘标识符:0xa373e501

实际上磁盘只有一个分区,分区格式为exFAT,磁盘大小为动态增长。

d)挂载分区

直接使用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支持

因为分区是exFAT格式的,不能直接挂载。

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

具体的安装过程简要的说一下

先下载两个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    # 构建exfat-utils需要

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

解压完成以后能够在当前用户的home目录下看到rpmbuild目录,进入该目录下的SPECS目录。

接着使用rpmbuild构建rpm包。

rpmbuild -ba exfat-utils.spec

rpmbuild -ba fuse-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 fuse-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挂载是一样的,前提是要是支持的磁盘映像格式才行。

相关下载
栏目导航
本类热门阅览
热门标签