我的编程空间,编程开发者的网络收藏夹
学习永远不晚

linux下如何挂载VHD等虚拟磁盘文件

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

linux下如何挂载VHD等虚拟磁盘文件

小编给大家分享一下linux下如何挂载VHD等虚拟磁盘文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

1、RAW格式虚拟磁盘

linux下可以直接挂载raw格式的虚拟磁盘镜像文件。

例如,这里先用dd命令创建一个文件,然后将其格式化为ext4格式(只有一个分区),然后挂载到/mnt目录。

下面的raw.img磁盘镜像文件就一个分区,所以没有使用offset=来指定偏移。如果有多个分区,则可以通过指定偏移来挂载。具体的可以查阅mount命令的相关参数信息。

> 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没有直接提供这个工具,但在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进行安装。

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

linux下如何挂载VHD等虚拟磁盘文件

实际上磁盘只有一个分区,分区格式为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.class="lazy" data-src.rpm

wget http://download1.rpmfusion.org/free/el/updates/6/SRPMS/exfat-utils-1.0.1-2.el6.class="lazy" data-src.rpm

然后安装fuse-devel和rpmbuild,并解压class="lazy" data-src.rpm包。

sudo dnf install fuse-devel rpmbuild

sudo dnf install scons    # 构建exfat-utils需要

rpm -ivh exfat-utils-1.0.1-2.el6.class="lazy" data-src.rpm exfat-utils-1.0.1-2.el6.class="lazy" data-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%]

正在升级/安装...

fuse-exfat-1.0.1-1.fc25          ################################# [ 50%]

exfat-utils-1.0.1-2.fc25         ################################# [100%]

ubuntu上可以直接使用apt来安装sudo apt install exfat-utils exfat-fuse

其它虚拟磁盘文件的挂载

其它的就不再说了,与上面的VHD挂载是一样的,前提是要是支持的磁盘映像格式才行。

以上是“linux下如何挂载VHD等虚拟磁盘文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网行业资讯频道!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

linux下如何挂载VHD等虚拟磁盘文件

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

linux下如何挂载VHD等虚拟磁盘文件

小编给大家分享一下linux下如何挂载VHD等虚拟磁盘文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1、RAW格式虚拟磁盘linux下可以直接挂载raw格式的
2023-06-12

Linux下如何挂载磁盘的方法示例

使用虚拟机时发现磁盘空间不够了,需要挂载一个磁盘以供继续使用,但是磁盘不是添加就可以使用的,还需要进行挂载。 一、添加磁盘 添加加新硬盘重启服务器 添加完之后就可以重启机器了,如果你机器是开启的,进入系统并不能看见你刚添加的那块磁盘,只有等
2022-06-04

Linux下如何挂载U盘并访问文件

这篇文章主要为大家展示了“Linux下如何挂载U盘并访问文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何挂载U盘并访问文件”这篇文章吧。挂载 U 盘和挂载光盘的方式是一样的,只
2023-06-27

Linux下如何查看磁盘文件系统格式

这篇文章主要为大家展示了“Linux下如何查看磁盘文件系统格式”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Linux下如何查看磁盘文件系统格式”这篇文章吧。文件系统的种类有很多,每一种文件系统
2023-06-27

Linux下如何管理虚拟文件系统

在Linux下,虚拟文件系统(VFS)是一个核心组件,它提供了一个统一的接口来管理和操作各种不同的文件系统。以下是关于Linux下如何管理虚拟文件系统的一些关键步骤和概念:虚拟文件系统(VFS)的基本概念概念:VFS是一个内核软件层,它在
Linux下如何管理虚拟文件系统
2024-09-24

Linux下如何使用SSHFS挂载远程文件系统

这篇文章主要介绍了Linux下如何使用SSHFS挂载远程文件系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。SSHFS是一个通过SSH连接到服务器的网络文件系统客户端。SS
2023-06-27

Linux中如何下载百度网盘大文件

这篇文章将为大家详细讲解有关Linux中如何下载百度网盘大文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Linux 下没有百度网盘客户端,用浏览器下载速度慢得急死人鼠标移到链接处, 右键, 然后复制链
2023-06-09

linux命令行如何操作云盘上传下载文件

这篇文章将为大家详细讲解有关linux命令行如何操作云盘上传下载文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 安装pip3 install -i https://pypi.tuna.tsingh
2023-06-21

linux如何运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用

在某些情况下,更新/etc/mtab文件以解除挂载操作不可行。本文介绍了以下方法,可在/etc/mtab文件为只读或磁盘写满时解除挂载:使用mount命令的-l选项使用umount命令的-n选项这些方法的优点是简单易用,但存在潜在风险,可能导致/etc/mtab文件与实际挂载状态不一致。本文还提出了使用busybox工具或脚本/程序的替代方案。使用这些方法时,应谨慎操作并了解潜在风险,建议在使用后重新启动系统以确保/etc/mtab文件与系统状态一致。
linux如何运行卸载操作而不写入 /etc/mtab 文件- 当文件为只读或当磁盘写满时非常有用
2024-04-02

编程热搜

目录