红枫银杏 發表於 2023-10-22 00:00:00

linux下挂载VHD等虚拟磁盘文件的方法

<p>
        <strong>1、RAW格式虚拟磁盘</strong></p>
<p>
        linux下可以直接挂载raw格式的虚拟磁盘镜像文件。</p>
<p>
        例如,这里先用dd命令创建一个文件,然后将其格式化为<code>ext4</code>格式(只有一个分区),然后挂载到<code>/mnt</code>目录。</p>
<p>
        下面的<code>raw.img</code>磁盘镜像文件就一个分区,所以没有使用<code>offset=</code>来指定偏移。如果有多个分区,则可以通过指定偏移来挂载。具体的可以查阅<code>mount</code>命令的相关参数信息。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_801850">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                        <div class="line number15 index14 alt2">
                                                                15</div>
                                                        <div class="line number16 index15 alt1">
                                                                16</div>
                                                        <div class="line number17 index16 alt2">
                                                                17</div>
                                                        <div class="line number18 index17 alt1">
                                                                18</div>
                                                        <div class="line number19 index18 alt2">
                                                                19</div>
                                                        <div class="line number20 index19 alt1">
                                                                20</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">dd</code> <code class="bash keyword">if</code><code class="bash plain">=</code><code class="bash plain">/dev/zero</code> <code class="bash plain">of=raw.img bs=1M count=512</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">记录了512+0 的读入</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">记录了512+0 的写出</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">536870912 bytes (537 MB, 512 MiB) copied, 0.207045 s, 2.6 GB</code><code class="bash plain">/s</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                         </div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">/home/o</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">&gt; mkfs.ext4 -q raw.img </code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                         </div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">/home/o</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">sudo</code> <code class="bash functions">mount</code> <code class="bash plain">-o loop raw.img </code><code class="bash plain">/mnt</code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                         </div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">/home/o</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">df</code> <code class="bash plain">-h</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">文件系统    容量 已用 可用 已用% 挂载点</code>
</div>
                                                                <div class="line number15 index14 alt2">
                                                                        <code class="bash plain">tmpfs      3.9G  79M 3.8G  2% </code><code class="bash plain">/dev/shm</code>
</div>
                                                                <div class="line number16 index15 alt1">
                                                                        <code class="bash plain">/dev/sda4</code>    <code class="bash plain">30G 6.6G  24G  22% /</code>
</div>
                                                                <div class="line number17 index16 alt2">
                                                                        <code class="bash plain">tmpfs      3.9G 136K 3.9G  1% </code><code class="bash plain">/tmp</code>
</div>
                                                                <div class="line number18 index17 alt1">
                                                                        <code class="bash plain">/dev/sda2</code>    <code class="bash plain">69G  26G  41G  39% </code><code class="bash plain">/home</code>
</div>
                                                                <div class="line number19 index18 alt2">
                                                                        <code class="bash plain">tmpfs      794M  36K 794M  1% </code><code class="bash plain">/run/user/1000</code>
</div>
                                                                <div class="line number20 index19 alt1">
                                                                        <code class="bash plain">/dev/loop0</code>   <code class="bash plain">488M 780K 452M  1% </code><code class="bash plain">/mnt</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>2、VHD/VHDX磁盘文件挂载</strong></p>
<p>
        linux不能直接支持挂载VHD磁盘镜像文件。可以通过vmware的<code>vmware-mount</code>等工具来挂载。<code>vmware</code>没有直接提供这个工具,但在<code>vmware player</code>和<code>vmware workstation</code>中都有提供。但这里不打算使用这种方式。</p>
<p>
        这里使用qemu-nbd来挂载磁盘镜像文件。</p>
<p>
        <strong>a)安装qemu</strong></p>
<p>
        首先要安装一下<code>qemu-kvm</code>,我这里使用的是<code>Fedora 25</code>,安装命令如下</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_570338">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">dnf </code><code class="bash functions">install</code> <code class="bash plain">qemu-kvm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        如果你是用的debian/ubuntu等,可以使用<code>sudo apt-get install qemu-kvm</code>进行安装。</p>
<p>
        archlinux可以使用<code>sudo pacman -S qemu</code>进行安装。</p>
<p>
        <strong>b)加载nbd驱动</strong></p>
<p>
        NBD(Network Block Device)是<code>网络块设备</code>的缩写。这个模块可以将一个远程主机的磁盘空间(与挂载nfs有区别),当作一个本地块设备来使用。</p>
<p>
        NBD是一个内核模块,大部分Linux发行版都已经包含它,这里不需要再安装了。</p>
<p>
        <strong>使用modprobe来加载nbd驱动</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_540959">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">sudo</code> <code class="bash plain">modprobe nbd max_part=8</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>加载完成后,可以使用modinfo命令来查看模块信息</strong></p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_612794">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                        <div class="line number11 index10 alt2">
                                                                11</div>
                                                        <div class="line number12 index11 alt1">
                                                                12</div>
                                                        <div class="line number13 index12 alt2">
                                                                13</div>
                                                        <div class="line number14 index13 alt1">
                                                                14</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; modinfo nbd</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">filename:    </code><code class="bash plain">/lib/modules/4</code><code class="bash plain">.9.6-200.fc25.x86_64</code><code class="bash plain">/kernel/drivers/block/nbd</code><code class="bash plain">.ko.xz</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">license:    GPL</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">description:  Network Block Device</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">depends:    </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">intree:     Y</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">vermagic:    4.9.6-200.fc25.x86_64 SMP mod_unload </code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">signat:     PKCS</code><code class="bash comments">#7</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">signer:     </code>
</div>
                                                                <div class="line number11 index10 alt2">
                                                                        <code class="bash plain">sig_key:    </code>
</div>
                                                                <div class="line number12 index11 alt1">
                                                                        <code class="bash plain">sig_hashalgo:  md4</code>
</div>
                                                                <div class="line number13 index12 alt2">
                                                                        <code class="bash plain">parm:      nbds_max:number of network block devices to initialize (default: 16) (int)</code>
</div>
                                                                <div class="line number14 index13 alt1">
                                                                        <code class="bash plain">parm:      max_part:number of partitions per device (default: 0) (int)</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        上面的信息说,初始化网络块设备的数目为16,说明其在<code>/dev/</code>下创建16个nbd设备。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_827526">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">ls</code> <code class="bash plain">/dev/nbd</code><code class="bash plain">*</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">/dev/nbd0</code> <code class="bash plain">/dev/nbd0p1</code> <code class="bash plain">/dev/nbd1</code> <code class="bash plain">/dev/nbd10</code> <code class="bash plain">/dev/nbd11</code> <code class="bash plain">/dev/nbd12</code> <code class="bash plain">/dev/nbd13</code> <code class="bash plain">/dev/nbd14</code> <code class="bash plain">/dev/nbd15</code> <code class="bash plain">/dev/nbd2</code> <code class="bash plain">/dev/nbd3</code> <code class="bash plain">/dev/nbd4</code> <code class="bash plain">/dev/nbd5</code> <code class="bash plain">/dev/nbd6</code> <code class="bash plain">/dev/nbd7</code> <code class="bash plain">/dev/nbd8</code> <code class="bash plain">/dev/nbd9</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>c)将vhdx文件连接到nbd设备</strong></p>
<p>
        这里使用<code>qemu-nbd</code>来进行连接(使用-c参数为连接,使用-d参数断开连接)</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_512757">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">sudo</code> <code class="bash plain">qemu-nbd -c </code><code class="bash plain">/dev/nbd0</code> <code class="bash plain">VS2017RC-offline.vhdx</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        连接上之后使用<code>fdisk</code>查看一下设备信息。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_303554">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                        <div class="line number9 index8 alt2">
                                                                9</div>
                                                        <div class="line number10 index9 alt1">
                                                                10</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">sudo</code> <code class="bash functions">fdisk</code> <code class="bash plain">-l </code><code class="bash plain">/dev/nbd0</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">Disk </code><code class="bash plain">/dev/nbd0</code><code class="bash plain">:100 GiB,107374182400 字节,209715200 个扇区</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">单元:扇区 / 1 * 512 = 512 字节</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash plain">扇区大小(逻辑/物理):512 字节 / 512 字节</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">I</code><code class="bash plain">/O</code> <code class="bash plain">大小(最小/最佳):512 字节 / 512 字节</code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">磁盘标签类型:dos</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash plain">磁盘标识符:0xa373e501</code>
</div>
                                                                <div class="line number9 index8 alt2">
                                                                        <code class="bash plain">设备    启动 起点    末尾   扇区  大小 Id 类型</code>
</div>
                                                                <div class="line number10 index9 alt1">
                                                                        <code class="bash plain">/dev/nbd0p1</code>   <code class="bash plain">2048 209711103 209709056 100G 7 HPFS</code><code class="bash plain">/NTFS/exFAT</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        实际上磁盘只有一个分区,分区格式为<code>exFAT</code>,磁盘大小为动态增长。</p>
<p>
        <strong>d)挂载分区</strong></p>
<p>
        直接使用<code>mount</code>命令挂载<code>nbd0p1</code>即可</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_298615">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                        <div class="line number7 index6 alt2">
                                                                7</div>
                                                        <div class="line number8 index7 alt1">
                                                                8</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">sudo</code> <code class="bash functions">mount</code> <code class="bash plain">-t exfat -o rw </code><code class="bash plain">/dev/nbd0p1</code> <code class="bash plain">/mnt</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">[</code><code class="bash functions">sudo</code><code class="bash plain">] o 的密码:</code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">FUSE exfat 1.0.1</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                         </div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash plain">/media/o/data</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number7 index6 alt2">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">ls</code> <code class="bash plain">/mnt/</code>
</div>
                                                                <div class="line number8 index7 alt1">
                                                                        <code class="bash string">'$RECYCLE.BIN'</code> <code class="bash string">'System Volume Information'</code> <code class="bash plain">vs2017rc 安装说明.txt</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        <strong>安装exFAT支持</strong></p>
<p>
        因为分区是<code>exFAT</code>格式的,不能直接挂载。</p>
<p>
        先安装一下<code>fuse-exfat</code>和<code>exfat-utils</code>。</p>
<p>
        具体的安装过程简要的说一下</p>
<p>
        先下载两个rpm源码包。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_827915">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">wget http:</code><code class="bash plain">//download1</code><code class="bash plain">.rpmfusion.org</code><code class="bash plain">/free/el/updates/6/SRPMS/exfat-utils-1</code><code class="bash plain">.0.1-2.el6.src.rpm</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">wget http:</code><code class="bash plain">//download1</code><code class="bash plain">.rpmfusion.org</code><code class="bash plain">/free/el/updates/6/SRPMS/exfat-utils-1</code><code class="bash plain">.0.1-2.el6.src.rpm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        然后安装<code>fuse-devel</code>和<code>rpmbuild</code>,并解压<code>src.rpm</code>包。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_793264">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">dnf </code><code class="bash functions">install</code> <code class="bash plain">fuse-devel rpmbuild</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash functions">sudo</code> <code class="bash plain">dnf </code><code class="bash functions">install</code> <code class="bash plain">scons  </code><code class="bash comments"># 构建exfat-utils需要</code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">rpm -ivh exfat-utils-1.0.1-2.el6.src.rpm exfat-utils-1.0.1-2.el6.src.rpm</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        解压完成之后可以在当前用户的<code>home</code>目录下看到<code>rpmbuild</code>目录,进入该目录下的<code>SPECS</code>目录。</p>
<p>
        然后使用<code>rpmbuild</code>构建<code>rpm</code>包。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_563472">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">rpmbuild -ba exfat-utils.spec</code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">rpmbuild -ba fuse-exfat.spec</code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        构建完成之后进入<code>rpmbuild/RPMS/x86_64</code>目录(这里x86_64与你的系统构架有关),安装生成的<code>rpm</code>包。</p>
<div class="jb51code">
        <div>
                <div class="syntaxhighlighterbash" id="highlighter_462480">
                        <div class="toolbar">
                                <span>?</span>
</div>
                        <table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
                                                        <div class="line number1 index0 alt2">
                                                                1</div>
                                                        <div class="line number2 index1 alt1">
                                                                2</div>
                                                        <div class="line number3 index2 alt2">
                                                                3</div>
                                                        <div class="line number4 index3 alt1">
                                                                4</div>
                                                        <div class="line number5 index4 alt2">
                                                                5</div>
                                                        <div class="line number6 index5 alt1">
                                                                6</div>
                                                </td>
                                                <td class="code">
                                                        <div class="container">
                                                                <div class="line number1 index0 alt2">
                                                                        <code class="bash plain">/home/o/rpmbuild/RPMS/x86_64</code> <code class="bash plain"> </code>
</div>
                                                                <div class="line number2 index1 alt1">
                                                                        <code class="bash plain">&gt; </code><code class="bash functions">sudo</code> <code class="bash plain">rpm -ivh exfat-utils-1.0.1-2.fc25.x86_64.rpm fuse-exfat-1.0.1-1.fc25.x86_64.rpm </code>
</div>
                                                                <div class="line number3 index2 alt2">
                                                                        <code class="bash plain">准备中...             </code><code class="bash comments">################################# </code>
</div>
                                                                <div class="line number4 index3 alt1">
                                                                        <code class="bash plain">正在升级/安装...</code>
</div>
                                                                <div class="line number5 index4 alt2">
                                                                        <code class="bash spaces">  </code><code class="bash plain">1:fuse-exfat-1.0.1-1.fc25     </code><code class="bash comments">################################# [ 50%]</code>
</div>
                                                                <div class="line number6 index5 alt1">
                                                                        <code class="bash spaces">  </code><code class="bash plain">2:exfat-utils-1.0.1-2.fc25     </code><code class="bash comments">################################# </code>
</div>
                                                        </div>
                                                </td>
                                        </tr></tbody></table>
</div>
        </div>
        <div class="codetool" id="codetool">
                <div class="code_n">
                        <textarea></textarea>
</div>
        </div>
</div>
<p>
        ubuntu上可以直接使用apt来安装<code>sudo apt install exfat-utils exfat-fuse</code></p>
<p>
        <strong>3、其它虚拟磁盘文件的挂载</strong></p>
<p>
        其它的就不再说了,与上面的VHD挂载是一样的,前提是要是支持的磁盘映像格式才行。</p>
<p>
        以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。</p>
<p>
        原文链接:http://www.cnblogs.com/oloroso/p/6385398.html</p>
頁: [1]
查看完整版本: linux下挂载VHD等虚拟磁盘文件的方法