loop设备

本文介绍了如何利用loop设备在虚拟机(如VMware, VirtualBox)上直接对vhd文件进行分区、写MBR和安装Grub,以避免对真实硬件的影响。作者通过挂载loop设备并格式化文件,成功实现了Grub的测试。同时,文章提到了在loop设备上进行多分区操作的疑问,以及后续找到解决方案的过程,强调了Linux下loop设备的强大功能。" 122743817,8265616,pytest参数化详解:从基础到高级,"['python', '测试框架', 'pytest', '数据驱动']
摘要由CSDN通过智能技术生成

近来在研究Grub,发现了一个很好玩的东西。

因为Grub的测试需要不断开关机来测试数据是否正确。

为了保护我那心爱的老爷机,我决定在虚拟机上面测试Grub。

可是,我将Grub都写在U盘上,而VMware , VirtualBox不支持从U盘启动Grub。

折腾了很久后。。。。。。。

我想出了一个办法,因为虚拟机都是划出一块文件,然后在上面做虚拟的硬盘设备。

如果我直接在这个文件上面分区,写MBR等信息,虚拟机不就可以直接启动这上面的Grub吗。

然后,我又继续折腾了很久。。。。

我发现不是所有的虚拟机格式都支持直接将数据写在一个文件上面的。

我测试的格式有vmdk,vhd等格式。

我发现只有vhd这种格式相当直接,它的放置方式为将文件看成是一个硬盘来直接操作,上面根本就没有写上额外的虚拟机信息。

所以,这种格式我们可以直接拿来使用。

首先,我们先将这个文件格式化。

mkfs.msdos mx.vhd

然后,将它挂载成一个硬盘,并挂到/mnt目录下面

mount -o loop mx.vhd /mnt

最后,写入grub引导就可以了

grub-install --boot-directory=/mnt /dev/loop0 --force

然后,开机,哈哈,就这样,看到了我心爱的Grub菜单了。

整个过程中,我根本不需要对文件进行解压等任何操作,就可以对里面进行格式化,增删文件,写MBR等任何操作。

而且,这种办法有个好处就是,你在挂载目录里面进行的任何操作,都能直接与虚拟机内的

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值