当前位置: 首页 > news >正文

Linux创建虚拟磁盘并分区格式化

快速创建一个虚拟磁盘

你可以通过以下步骤在Linux上虚拟一个磁盘,并将其挂载到 /mnt/ 目录下:

步骤 1: 创建一个虚拟磁盘文件

使用 dd 命令创建一个虚拟磁盘文件(例如大小为1GB):

dd if=/dev/zero of=/root/virtual_disk.img bs=1M count=1024 

这将创建一个名为 virtual_disk.img 的1GB大小的文件。

步骤 2: 将虚拟磁盘文件格式化为ext4文件系统

使用 mkfs.ext4 命令将虚拟磁盘文件格式化为ext4文件系统:

mkfs.ext4 /root/virtual_disk.img 

步骤 3: 创建挂载点目录

创建一个挂载点,例如 /mnt/ 目录:

mkdir -p /mnt/virtual_disk 

步骤 4: 挂载虚拟磁盘文件

使用 mount 命令将虚拟磁盘挂载到 /mnt/virtual_disk

mount /root/virtual_disk.img /mnt/virtual_disk 

步骤 5: 检查挂载是否成功

使用 df -h 命令查看挂载是否成功:

df -h 

可选:开机自动挂载

如果希望在系统重启后自动挂载该虚拟磁盘,可以编辑 /etc/fstab 文件,添加以下内容:

/root/virtual_disk.img /mnt/virtual_disk ext4 defaults 0 0 

这样就成功在Linux系统上创建并挂载了一个虚拟磁盘文件。

单独挂载每个分区

在虚拟硬盘上创建分区并格式化后,可以单独挂载每个分区。具体步骤如下:

步骤 1: 使用 losetup 绑定虚拟硬盘到环回设备

假设你已经创建了一个虚拟硬盘文件,例如 /root/virtual_disk.img,并在其中创建了分区。首先,使用 losetup 将虚拟磁盘文件关联到一个环回设备(loop device):

losetup -fP /root/virtual_disk.img 
  • -f:自动选择一个未使用的环回设备。
  • -P:自动解析分区信息。

使用以下命令查看绑定的环回设备名(例如 /dev/loop0):

losetup -l 

步骤 2: 查看分区信息

使用 lsblkfdisk -l 查看该环回设备的分区:

lsblk /dev/loop0 

或者:

fdisk -l /dev/loop0 

此时,你应该可以看到类似 /dev/loop0p1/dev/loop0p2 等分区。

步骤 3: 挂载单独的分区

假设你想挂载第一个分区 /dev/loop0p1,可以使用 mount 命令将其挂载到指定目录。例如,挂载到 /mnt/partition1

mkdir -p /mnt/partition1 
mount /dev/loop0p1 /mnt/partition1 

如果你有其他分区,比如 /dev/loop0p2,可以挂载到另一个目录:

mkdir -p /mnt/partition2 
mount /dev/loop0p2 /mnt/partition2 

步骤 4: 检查挂载是否成功

使用 df -hlsblk 检查分区是否成功挂载:

df -h 
lsblk 

可选:解除绑定环回设备

完成操作后,可以通过以下命令解除环回设备的绑定:

losetup -d /dev/loop0 

可选:开机自动挂载分区

如果希望分区在系统重启后自动挂载,可以在 /etc/fstab 中添加对应分区的挂载信息。例如:

/dev/loop0p1 /mnt/partition1 ext4 defaults 0 0 
/dev/loop0p2 /mnt/partition2 ext4 defaults 0 0 

通过上述步骤,你可以单独挂载虚拟磁盘中的每个分区。

losetup指令简介

losetup(set up and control loop devices) 是 Linux 中用于管理环回设备(loop devices)的命令。环回设备是一个虚拟设备,它将文件当作块设备来使用,从而可以像操作硬盘一样操作一个普通的文件。losetup 指令主要用于将文件与环回设备进行绑定或解除绑定,以及查看现有环回设备的状态。

基本用法

1. 绑定一个文件到环回设备
losetup /dev/loopX /path/to/file.img 

将文件 /path/to/file.img 绑定到指定的环回设备 /dev/loopX,使其成为一个可以像物理硬盘一样操作的设备。

2. 自动选择未使用的环回设备进行绑定
losetup -f /path/to/file.img 

-f 选项会自动查找并选择一个未使用的环回设备,避免手动指定。

3. 自动解析分区信息
losetup -fP /path/to/file.img 

-P 选项会自动扫描并解析文件中的分区表,使文件中的各个分区都能作为 /dev/loopXpN 设备挂载,类似于实际的硬盘分区。

4. 查看所有环回设备
losetup -a 

列出系统中所有已经绑定的环回设备及其关联的文件。

5. 查看特定环回设备的信息
losetup /dev/loopX 

显示特定环回设备的详细信息。

6. 解除文件与环回设备的绑定
losetup -d /dev/loopX 

将环回设备 /dev/loopX 解除绑定,不再将其作为块设备使用。

7. 解除所有未使用的环回设备
losetup -D 

自动解除所有未使用的环回设备的绑定。

常用选项

  • -f:自动查找一个未使用的环回设备。
  • -P:自动重新扫描分区表(适用于分区文件)。
  • -d:解除环回设备绑定。
  • -a:显示所有绑定的环回设备及其信息。
  • -l:列出系统中所有环回设备的详细信息。
  • -D:自动解除所有未使用的环回设备。

示例

  1. 创建并挂载一个虚拟磁盘:

    dd if=/dev/zero of=/root/virtual_disk.img bs=1M count=100 
    losetup -fP /root/virtual_disk.img 
    mkfs.ext4 /dev/loop0 
    mount /dev/loop0 /mnt 
  2. 解除虚拟磁盘的挂载和解除环回设备绑定:

    umount /mnt 
    losetup -d /dev/loop0 

losetup 是处理虚拟磁盘、映像文件和调试块设备的非常强大的工具,特别是在开发、测试或系统维护中很有用。

用环回设备挂载虚拟磁盘和ISO文件的区别

主要区别如下:

  1. 分区处理:

    • 虚拟磁盘分区 需要通过 losetup 解析出每个分区,并为每个分区创建独立的环回设备。
    • 光盘文件 没有分区,只需将整个文件绑定到一个环回设备。
  2. 设备数量:

    • 虚拟磁盘 可能涉及多个环回设备(一个表示整个磁盘,其他表示各个分区)。
    • 光盘文件 通常只需要一个环回设备。
  3. 文件系统:

    • 虚拟磁盘 支持多种文件系统,每个分区可以使用不同的文件系统类型。
    • 光盘文件 通常使用 ISO 9660UDF 文件系统,且是只读的。
  4. 操作复杂性:

    • 虚拟磁盘分区 需要先解析分区表并绑定多个环回设备。
    • 光盘文件 直接挂载整个文件,操作简单。

相关文章:

Linux创建虚拟磁盘并分区格式化

快速创建一个虚拟磁盘 你可以通过以下步骤在Linux上虚拟一个磁盘,并将其挂载到 /mnt/ 目录下: 步骤 1: 创建一个虚拟磁盘文件 使用 dd 命令创建一个虚拟磁盘文件(例如大小为1GB): dd if/dev/zero of/root/virtual_…...

面试经典150题——最后一个单词的长度

目录 题目链接:58. 最后一个单词的长度 - 力扣(LeetCode) 题目描述 示例 提示: 解法一:反向遍历 Java写法: C写法: 解法二:逆天解法 思路 存在的问题 总结 题目链接&…...

【C++】入门基础(上)

Hi,好久不见! 目录 1、C入门小基础 1.1 祖师爷--Bjarne Stroustrup(本贾尼斯特劳斯特卢普) 1.2 C参考文献 1.3 书籍推荐 2、C的第一个程序 3、命名空间 3.1 namespace的价值 3.2 namespace的定义 3.3 命名空间的使…...

Mac中Twig模版安装与SSTI漏洞学习

感谢大佬的文章参考学习。 SSTI:https://www.cnblogs.com/bmjoker/p/13508538.html Homebrew:快速开始 - Homebrew 中文网 Homebrew安装 一键快捷安装:默认使用中科大的源 /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homeb…...

【20.5 python中的FastAPI】

python中的FastAPI FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,基于 Python 3.6 的类型提示。它利用了 Python 3.7 的新特性,如类型提示(Type Hints),来自动生成 A…...

研1日记13

正态分布: toTenor:转数字变为0-1 加载模型: model youmodel() model.load("路径") 测试单个样本:...

Go语言错误处理详解

Go语言以其简洁、高效和并发能力著称。在实际开发中,错误处理是一个不可避免且至关重要的部分。本文将深入探讨Go语言中的错误处理机制,涵盖其原理、使用方法、最佳实践,并提供丰富的代码示例和中文注释。 一、错误处理的基本概念 在Go语言…...

C++基础知识7 list

list 1. list的介绍及使用1.1 list的介绍1.2 list的使用1.2.1 list的构造1.2.2 list iterator的使用1.2.3 list capacity1.2.4 list element access1.2.5 list modifiers1.2.6 list的迭代器失效 2.1 模拟实现list 1. list的介绍及使用 1.1 list的介绍 1.2 list的使用 1.2.1 l…...

Android 车联网——汽车模块介绍(附1)

汽车模块指的是车辆中独立的电子控制单元(ECUs),如发动机控制单元(ECU)、车身控制模块(BCM)等,它们负责特定的功能或系统。 一、控制类模块 这些模块主要用于控制车辆的不同系统,确保车辆各部分的正常运行。 1、ECM ECM(Electronic Control Module,电子控制模块)…...

Windows下SDL2创建最简单的一个窗口

先看运行效果 再上代码&#xff1a; #include <stdio.h> #include "SDL.h"int main(int argc, char* argv[]) {// 初始化SDL视频子系统if (SDL_Init(SDL_INIT_VIDEO) -1){printf("Error: %s\n", SDL_GetError());return -1;} // 创建一个窗口SDL_…...

C++ | Leetcode C++题解之第406题根据身高重建队列

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<vector<int>> reconstructQueue(vector<vector<int>>& people) {sort(people.begin(), people.end(), [](const vector<int>& u, const vector<int>& v) …...

【网络安全】-ssrf服务器请求伪造攻击-burp

SSRF攻击服务器请求伪造攻击 CSRF攻击跨站请求伪造攻击也称客户端请求伪造攻击 两种攻击最主要的区别是一个在服务器&#xff0c;一个在客户端。 文章目录 前言 什么是SSRF攻击? 1.分类&#xff1a; 针对服务器的 SSRF 攻击&#xff1a; 针对后端系统的SSRF攻击&#xff1a; …...

C语言 | Leetcode C语言题解之第405题数字转换为十六进制数

题目&#xff1a; 题解&#xff1a; char * toHex(int num){int i0;char *nums(char*)malloc(sizeof(char)*32);unsigned int newnum(unsigned int)num;if(num0){nums[0]0;nums[1]\0;return nums;}while(newnum>1){int flagnewnum%16;newnum/16;if(flag<9){nums[i]flag0…...

Python快速入门 —— 第一节:基础类型

Python 快速教程说明 适用人群 有其他语言编程基础&#xff0c;或了解过python的群体&#xff0c;至少需要知道变量、对象、函数等基本概念想快速通过python实现一些功能&#xff0c;却不想了解python的底层实现的人群想快速了解python语言框架的人群有兴趣了解python的任何人…...

评价类——熵权法(Entropy Weight Method, EWM),完全客观评价

目录 一、 熵权法赋权代码说明1.1 介绍 二、 手把手教你运行代码2.1 数据示例2.2 可直接运行代码2.3 shangquanfa_eg_Sheet1.csv数据可视化2.4 代码运行过程截屏2.5 代码运行结果截屏2.6 对熵权法的结果分析 三、 提供的代码如何修改&#xff1f;四、 为什么确定极小化指标&…...

Redis——通用命令

目录 Redis通用命令Redis中最核心的两个命令getset Redis全局命令keys语法注意事项 existsdel(delete)expirettlredis的key的过期策略是怎么实现的&#xff1f;了解拓展 type总结 Redis通用命令 Redis的命令非常非常多&#xff0c;所以 1. 掌握常用命令&#xff08;多操作练习…...

(k8s)kubernetes 挂载 minio csi 的方式(pod挂载pvc存在csi驱动问题,挂载不上)

一、安装Minio&#xff08;Minio分布式集群搭建部署_minio集群最少几台-CSDN博客&#xff09; 生成accessKeyID和secretAccessKey&#xff1a; 二、安装csi-s3插件(在k8s集群上) 首先我们把插件的yaml文件都下载下来&#xff0c;为了保证版本测试的一致性&#xff0c;我们下载…...

python tkinter

基本使用 基于tkinter创建 GUI基本四步&#xff1a;窗口->组件->布局->事件 1.创建窗口对象 from tkinter import *root Tk() # 创建窗口root.mainloop() # 进入事件循环 2.创建组件 按钮文本等组件 btn Button(root) # 创建Button组件&#xff0c;使组件在…...

Flink CEP(复杂事件处理)高级进阶

Flink CEP(Complex Event Processing,复杂事件处理)是 Apache Flink 中用于复杂事件模式检测的库。它允许用户定义复杂的事件模式,从流数据中检测出符合模式的事件序列。这在实时监控、欺诈检测、用户行为分析等场景中非常有用。 Flink CEP 高级进阶 为了深入理解和使用 …...

libmodbus:写一个modbusTCP服务

初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github&#xff1a;codetoys&#xff0c;所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的&#xff0c;可以在任何平台上使用。 源码指引&#xff1a;github源…...

别再乱用分支了!Flowable四种网关(排他/并行/包容/事件)实战选型指南

Flowable四大网关实战选型&#xff1a;从混乱到精准的决策艺术当你在设计一个请假审批流程时&#xff0c;是否遇到过这样的困惑&#xff1a;部门经理审批后需要同时通知HR和财务&#xff0c;但某些特殊情况下又需要跳过财务直接归档&#xff1f;这种看似简单的业务需求&#xf…...

Redis分布式锁进阶第二十篇

一、本篇前置衔接 第二十篇我们完成了全系列终局复盘&#xff0c;整理了故障排查SOP与企业级落地铁律。常规单资源锁、热点分片锁、隔离锁全部讲透&#xff0c;但真实复杂业务永远不是单一资源&#xff1a;下单要扣库存、扣优惠券、扣积分、冻结余额&#xff0c;多资源并行争抢…...

Burp Suite证书安装全解:HTTPS抓包失败的根源与跨平台命令行方案

1. 为什么必须亲手安装Burp Suite证书——不是“点一下就完事”的操作很多人第一次在手机或测试设备上配置Burp Suite代理时&#xff0c;会下意识认为&#xff1a;只要把电脑上的Burp监听地址填进Wi-Fi代理设置&#xff0c;再用浏览器访问http://burp&#xff0c;点击那个绿色的…...

基于Cynthion逆向USB协议,为DP100电源开发Linux控制软件

1. 项目概述&#xff1a;用Cynthion嗅探USB&#xff0c;为DP100电源打造Linux软件作为一名长期在Linux环境下折腾硬件和嵌入式开发的爱好者&#xff0c;我经常遇到一个头疼的问题&#xff1a;很多不错的桌面小设备&#xff0c;比如电源、示波器、逻辑分析仪&#xff0c;它们的官…...

机器学习在犬类癌症筛查中的性能极限与挑战:基于血液数据的多癌种分析

1. 项目概述&#xff1a;当机器学习遇见犬类癌症筛查作为一名长期关注数据科学在生命科学领域应用的从业者&#xff0c;我常常被问及一个充满希望的问题&#xff1a;我们能否像分析人类健康数据一样&#xff0c;利用宠物的常规体检数据&#xff0c;通过机器学习提前发现癌症的蛛…...

Unity项目实战:用TriLib插件动态加载FBX模型,5分钟搞定外部资源读取

Unity项目实战&#xff1a;用TriLib插件高效加载外部FBX模型的完整指南在VR展示、产品配置器等需要动态加载用户上传模型的场景中&#xff0c;如何快速实现外部FBX文件的读取是许多Unity开发者面临的挑战。传统的手动导入方式不仅效率低下&#xff0c;更无法满足运行时动态加载…...

市面上有哪些是真正安全的降AIGC网站(轻松压低AI生成疑似率)

最崩溃的不是查重难题&#xff0c;而是查重达标却AI率超标亮红灯&#xff01;很多工具只会简单同义词替换、浅层改字&#xff0c;根本洗不掉AI专属句式、行文逻辑和高频模板话术&#xff0c;学校AIGC检测一查一个准&#xff0c;论文直接凉凉。 本篇结合全网实测数据&#xff0c…...

HarmonyOS DateUtil 日期工具入门:格式化、时间戳与今日信息

文章目录背景一、HarmonyOS 日期处理的痛点二、核心方法&#xff1a;getFormatDate三、时间戳自动补位四、核心方法&#xff1a;getFormatDateStr五、今日信息快速获取六、完整 Demo 演示6.1 刷新当前时间6.2 格式化演示6.3 常用格式展示6.4 基础信息 UI6.5 intl.DateTimeForma…...

sd卡分区了数据还能恢复吗,只需3种方法和视频教学,数据就能神奇地回来!

断开读写通信&#xff01;锁死底层端口&#xff01;你的sd卡在经历重新分区的一瞬间&#xff0c;其物理层面的扇区正在承受最严酷的逻辑改写。这并非介质烧毁&#xff0c;而是系统内核强行切断了旧有簇链的映射关系&#xff0c;将其标定为休克态。此时若任由操作系统自动加载缩…...

Charles弱网测试六维参数实战:从丢包率到DNS延迟的精准复现

1. 为什么弱网测试不能只靠“模拟3G”按钮点一下就完事做移动端或Web前端的同学&#xff0c;大概率都听过这句话&#xff1a;“上线前跑一遍Charles&#xff0c;切个2G网络测下加载。”——听起来很专业&#xff0c;实际一查日志&#xff0c;发现90%的团队连Charles的Throttlin…...