做实验需要在.img格式镜像中导入文件,并挂载到系统的/mnt目录,然而遇到了很多错误导致挂载失败。这里提供一种简单可用的写入.img镜像并挂载的解决方案。
创新互联公司拥有10年成都网站建设工作经验,为各大企业提供成都网站制作、成都网站建设、外贸营销网站建设服务,对于网页设计、PC网站建设(电脑版网站建设)、成都app开发、wap网站建设(手机版网站建设)、程序开发、网站优化(SEO优化)、微网站、域名与空间等,凭借多年来在互联网的打拼,我们在互联网网站建设行业积累了很多网站制作、网站设计、网络营销经验,集策划、开发、设计、营销、管理等网站化运作于一体,具备承接各种规模类型的网站建设项目的能力。
loop设备是一种伪设备,是使用文件来模拟块设备的一种技术,文件模拟成块设备后, 就像一个磁盘或光盘一样使用。在使用之前,一个 loop 设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统(比如img镜像),那么这个文件就可以像一个磁盘设备一样被 mount 起来。之所以叫loop设备(回环),其实是从文件系统这一层来考虑的,因为这种被 mount 起来的镜像文件它本身也包含有文件系统,通过loop设备把它mount起来,它就像是文件系统之上再绕了一圈的文件系统,所以称为 loop。
我这里得到的结果是/dev/loop9
终端下会给出分区的信息,可以看到使用的分区,然后即可挂载
成功挂载如下图所示,就可在/mnt目录操作镜像里的文件了:
参考链接:
linux挂载img镜像文件
mount挂载img文件提示:错误的文件类型
制作
镜像文件
有三种方法,cp,
cat,
dd
和其它专用工具。cp
,cat
和
dd都可以从设备复制文件来创建镜像。而
dd
命令更为强大,可以通过指定块大小,块多少来直接创建镜像。
是磁盘镜像文件吗?或者你可以用file命令查一下该文件的类型,然后找相应的软件打开。
file name.img
如果确实是磁盘镜像文件,直接用Mount命令挂载即可。
mkdir /mnt/img
mount -o loop name.img /mnt/img
1. 创建Linux系统安装盘并进入Ubuntu临时系统
2. 准备一块大容量移动硬盘,并格式化为ext4文件格式
3. 进入启动盘live系统
4. 接入移动硬盘,执行命令
查看本机硬盘的扇区大小和需要复制的硬盘结束位置End
如上图,这块磁盘的扇区大小是512,结束位置为500117503,/dev/sda1为系统启动分区,/dev/sda2为硬盘除了启动分区外的其他数据
5. 查看移动硬盘挂在位置,一般挂载在/media/用户名/移动硬盘之下
6. 执行命令拷贝对应硬盘位置到移动硬盘,其中bs为扇区大小,count为拷贝位置的结束位置End+1,if为数据源位置即系统硬盘挂载位置,of为数据目标位置即移动硬盘挂载位置,这里只复制硬盘的数据不包括启动分区,如果需要拷贝整个硬盘包括启动分区则if=/dev/sda
7. 拷贝结束后,在需要装机的机器上启动临时linux系统并接上有备份的移动硬盘,执行如下命令
如果只需要复制数据不包括启动分区,则要修改of=/dev/sda1或者of=/dev/sda2,而且硬盘的挂载位置不一定在sda上,比如ssd硬盘的挂在位置就不是sda,需要用fdisk命令查看具体的硬盘挂载目录
8. 系统安装完成后可能会有无法启动系统问题,这时需要修复grub启动项,执行如下命令:
安装完成后弹出功能对话框,选择第一项,修复结束后重启系统就能正常进入了