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: 查看分区信息
使用 lsblk 或 fdisk -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 -h 或 lsblk 检查分区是否成功挂载:
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:自动解除所有未使用的环回设备。
示例
-
创建并挂载一个虚拟磁盘:
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 -
解除虚拟磁盘的挂载和解除环回设备绑定:
umount /mnt losetup -d /dev/loop0
losetup 是处理虚拟磁盘、映像文件和调试块设备的非常强大的工具,特别是在开发、测试或系统维护中很有用。
用环回设备挂载虚拟磁盘和ISO文件的区别
主要区别如下:
-
分区处理:
- 虚拟磁盘分区 需要通过
losetup解析出每个分区,并为每个分区创建独立的环回设备。 - 光盘文件 没有分区,只需将整个文件绑定到一个环回设备。
- 虚拟磁盘分区 需要通过
-
设备数量:
- 虚拟磁盘 可能涉及多个环回设备(一个表示整个磁盘,其他表示各个分区)。
- 光盘文件 通常只需要一个环回设备。
-
文件系统:
- 虚拟磁盘 支持多种文件系统,每个分区可以使用不同的文件系统类型。
- 光盘文件 通常使用
ISO 9660或UDF文件系统,且是只读的。
-
操作复杂性:
- 虚拟磁盘分区 需要先解析分区表并绑定多个环回设备。
- 光盘文件 直接挂载整个文件,操作简单。
相关文章:
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创建最简单的一个窗口
先看运行效果 再上代码: #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题根据身高重建队列
题目: 题解: 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攻击跨站请求伪造攻击也称客户端请求伪造攻击 两种攻击最主要的区别是一个在服务器,一个在客户端。 文章目录 前言 什么是SSRF攻击? 1.分类: 针对服务器的 SSRF 攻击: 针对后端系统的SSRF攻击: …...
C语言 | Leetcode C语言题解之第405题数字转换为十六进制数
题目: 题解: 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 快速教程说明 适用人群 有其他语言编程基础,或了解过python的群体,至少需要知道变量、对象、函数等基本概念想快速通过python实现一些功能,却不想了解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 对熵权法的结果分析 三、 提供的代码如何修改?四、 为什么确定极小化指标&…...
Redis——通用命令
目录 Redis通用命令Redis中最核心的两个命令getset Redis全局命令keys语法注意事项 existsdel(delete)expirettlredis的key的过期策略是怎么实现的?了解拓展 type总结 Redis通用命令 Redis的命令非常非常多,所以 1. 掌握常用命令(多操作练习…...
(k8s)kubernetes 挂载 minio csi 的方式(pod挂载pvc存在csi驱动问题,挂载不上)
一、安装Minio(Minio分布式集群搭建部署_minio集群最少几台-CSDN博客) 生成accessKeyID和secretAccessKey: 二、安装csi-s3插件(在k8s集群上) 首先我们把插件的yaml文件都下载下来,为了保证版本测试的一致性,我们下载…...
python tkinter
基本使用 基于tkinter创建 GUI基本四步:窗口->组件->布局->事件 1.创建窗口对象 from tkinter import *root Tk() # 创建窗口root.mainloop() # 进入事件循环 2.创建组件 按钮文本等组件 btn Button(root) # 创建Button组件,使组件在…...
Flink CEP(复杂事件处理)高级进阶
Flink CEP(Complex Event Processing,复杂事件处理)是 Apache Flink 中用于复杂事件模式检测的库。它允许用户定义复杂的事件模式,从流数据中检测出符合模式的事件序列。这在实时监控、欺诈检测、用户行为分析等场景中非常有用。 Flink CEP 高级进阶 为了深入理解和使用 …...
libmodbus:写一个modbusTCP服务
初级代码游戏的专栏介绍与文章目录-CSDN博客 我的github:codetoys,所有代码都将会位于ctfc库中。已经放入库中我会指出在库中的位置。 这些代码大部分以Linux为目标但部分代码是纯C的,可以在任何平台上使用。 源码指引:github源…...
新手入门:使用快马平台零基础搭建简易b站直播页面
今天想和大家分享一个特别适合新手入门的项目——用InsCode(快马)平台快速搭建简易B站直播页面。作为一个刚接触前端开发的小白,我发现这个平台真的能大大降低学习门槛,下面就把我的实践过程记录下来。 项目整体结构设计 这个简易直播页面主要包含三个核…...
50 岁苹果:变与不变的科技传奇
从车库小作坊到行业巨头:苹果早期的革命之路1976 年,在科技巨头普遍认为电脑仅供企业和政府使用时,乔布斯和沃兹尼亚克在车库用零件组装出 Apple I,虽像半成品却为苹果拿到启动资金。次年的 Apple II 才是关键,它是第一…...
Pixel Couplet Gen实操手册:像素春联生成结果自动同步至微信公众号图文素材库
Pixel Couplet Gen实操手册:像素春联生成结果自动同步至微信公众号图文素材库 1. 项目介绍与核心功能 Pixel Couplet Gen是一款融合传统春节文化与现代像素艺术风格的AI春联生成工具。通过ModelScope大模型的文本生成能力,结合精心设计的8-bit复古游戏…...
餐饮店主的AI助手:像素特工Ostrakon-VL快速上手,自动检查厨房卫生与陈列
餐饮店主的AI助手:像素特工Ostrakon-VL快速上手,自动检查厨房卫生与陈列 1. 为什么餐饮店主需要AI视觉助手 想象一下这样的场景:早上开店前,你匆匆拍下厨房的照片,上传到一个系统。几秒钟后,它告诉你&…...
六自由度工业机器人设计【说明书(论文)+CAD图纸+SolidWorks三维图+任务书+开题报告】
六自由度工业机器人作为现代自动化领域的核心装备,其设计需兼顾机械结构、运动控制与系统集成等多维度技术要求。该类机器人通过六个独立旋转轴的协同运动,可实现末端执行器在三维空间内的灵活定位与姿态调整,广泛应用于焊接、装配、搬运等工…...
本体论与知识图谱有什么区别?
目录 一、基础定义拆解 1. 本体论(Ontology) 2. 知识图谱(Knowledge Graph) 二、核心区别多维对比 三、内在联系 四、举例 往期精彩 一、基础定义拆解 1. 本体论(Ontology) 起源:哲学概…...
JIT加速不生效?你漏掉了这4个强制启用开关,3.14新增--enable-jit-unsafe-mode正在被92%团队忽略
第一章:JIT加速不生效?你漏掉了这4个强制启用开关,3.14新增--enable-jit-unsafe-mode正在被92%团队忽略Go 3.14 引入了激进的 JIT 编译优化路径,但默认关闭全部 JIT 后端。大量团队在升级后观察到 GOMAXPROCS8 下 CPU 利用率未提升…...
[开源工具]问题解决指南:Axure本地化方案的效率提升实践
[开源工具]问题解决指南:Axure本地化方案的效率提升实践 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 作为原型设计…...
3DGS内存优化新思路:拆解Scaffold-GS与Normal-GS中的锚点与共享IDIV设计
3DGS内存优化新思路:拆解Scaffold-GS与Normal-GS中的锚点与共享IDIV设计 在实时3D渲染领域,3D Gaussian Splatting(3DGS)技术正面临内存效率的严峻挑战。当我们将3DGS模型部署到移动设备或边缘计算节点时,显存限制往往…...
WooCommerce 的 SEO 优化技巧有哪些_WooCommerce 的结账流程如何设置
WooCommerce 的 SEO 优化技巧有哪些 在当今电子商务领域,WooCommerce 作为一个功能强大的 WordPress 插件,被广泛用于搭建电子商店。一个功能强大的平台也需要优化,特别是 SEO 优化。SEO(Search Engine Optimization,…...
