过来,我告诉你个秘密:送给程序员男友最好的礼物,快教你对象学习磁盘分区啦!小点声哈,别让其他人学会了!

[原文连接:来自给点知识](过来,我告诉你个秘密:送给程序员男友最好的礼物,快教你对象学习磁盘分区啦!小点声哈,别让其他人学会了!)

再唱不出那样的歌曲

听到都会红着脸躲避

虽然会经常忘了我依然爱着你

----------------正文章分割线(前面都是乱七八糟)-------------------

1 整体流程

流程就是这样,我们这里使用virtualbox来进行测试

2 详细介绍-先有个磁盘

使用虚拟机创建一个磁盘,这里使用Virtualbox进行演示,这里可以看到增加了一个磁盘


开机后,我们使用fdisk命令 查看下新的磁盘,可以看到磁盘/dev/sdb 也就是新的磁盘已经出现了。(下面图就是怕你不看字加的)

[root@model ~]# fdisk -l磁盘 /dev/sda:8589 MB, 8589934592 字节,16777216 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x000a64a6设备 Boot     Start         End     Blocks   Id System
/dev/sda1   *        2048     2099199     1048576   83 Linux
/dev/sda2         2099200    16777215     7339008   8e Linux LVM
# 这里是新的磁盘2G
磁盘 /dev/sdb:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节# 这个是逻辑分区,包含操作系统和系统文件
磁盘 /dev/mapper/centos-root:6652 MB, 6652166144 字节,12992512 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节# 这个是虚拟内存交换分区,用于内存不足时的填空
磁盘 /dev/mapper/centos-swap:859 MB, 859832320 字节,1679360 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节

4.3 分区磁盘

分区磁盘的命令 fdisk

1. 我们对磁盘进行分区,执行fdisk /dev/sdb
[root@model ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。Device does not contain a recognized partition table
使用磁盘标识符 0x20eb83d3 创建新的 DOS 磁盘标签。2.让我们输入信息,我们输入n表示增加一个分区,会让我们选择什么类型的分区,我先选择主分区,再选择逻辑分区命令(输入 m 获取帮助):n
Partition type:p   primary (0 primary, 0 extended, 4 free)e   extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-4194303,默认为 2048):
将使用默认值 20483.表示主分区给它1G
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):+1G
分区 1 已设置为 Linux 类型,大小设为 1 GiB4.继续分区,选择扩展分区(无法直接使用),然后把扩展分区分为逻辑分区就可以挂载使用了命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 0 extended, 3 free)e   extended
Select (default p): e
分区号 (2-4,默认 2):
起始 扇区 (2099200-4194303,默认为 2099200):
将使用默认值 2099200
Last 扇区, +扇区 or +size{K,M,G} (2099200-4194303,默认为 4194303):
将使用默认值 4194303
分区 2 已设置为 Extended 类型,大小设为 1023 MiB
5.接下来分区为逻辑分区一个500M 一个521M
命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 1 extended, 2 free)l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 5
起始 扇区 (2101248-4194303,默认为 2101248):
将使用默认值 2101248
Last 扇区, +扇区 or +size{K,M,G} (2101248-4194303,默认为 4194303):+500M
分区 5 已设置为 Linux 类型,大小设为 500 MiB命令(输入 m 获取帮助):n
Partition type:p   primary (1 primary, 1 extended, 2 free)l   logical (numbered from 5)
Select (default p): l
添加逻辑分区 6
起始 扇区 (3127296-4194303,默认为 3127296):
将使用默认值 3127296
Last 扇区, +扇区 or +size{K,M,G} (3127296-4194303,默认为 4194303):
将使用默认值 4194303
分区 6 已设置为 Linux 类型,大小设为 521 MiB
6.保存
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。

这里出现了这个分区:sdb1、sdb2、sdb5、sdb6

[root@model ~]# lsblkNAME           MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda               8:0    0   8G  0 disk├─sda1            8:1    0   1G  0 part /boot└─sda2            8:2    0   7G  0 part├─centos-root 253:0    0  6.2G  0 lvm /└─centos-swap 253:1    0 820M  0 lvm [SWAP]# 这里输出的是磁盘的四大分区,有主分区和逻辑分区sdb               8:16   0   2G  0 disk├─sdb1            8:17   0   1G  0 part├─sdb2            8:18   0   1K  0 part├─sdb5            8:21   0 500M  0 part└─sdb6            8:22   0 521M  0 partsr0              11:0    1 1024M  0 rom

4.3 格式化

执行格式化:使用mkfs.btrfs工具进行格式化成btrfs文件系统

1.可以看到这里挂载会出现提示 
[root@model ~]# mount /dev/sdb6 /root/sdb6/mount: /dev/sdb6 写保护,将以只读方式挂载mount: 未知的文件系统类型“(null)”

2.格式化系统,这里我们使用btrfs


[root@model ~]# mkfs.btrfs /dev/sdb6btrfs-progs v4.9.1See http://btrfs.wiki.kernel.org for more information.Label:             (null)UUID:               a00209ef-70b7-41da-a691-5c04aea8c247Node size:          16384Sector size:        4096Filesystem size:    521.00MiBBlock group profiles:Data:             single            8.00MiBMetadata:         DUP              32.00MiBSystem:           DUP               8.00MiBSSD detected:       noIncompat features: extref, skinny-metadataNumber of devices:  1Devices:ID       SIZE PATH1   521.00MiB /dev/sdb6

4.4 挂载与使用

1.挂载数据盘 
[root@model ~]# mount /dev/sdb6 /root/sdb6/

2.可以看到这个文件的文件系统是btrfs,而且已经挂载到/root/sdb6上了


[root@model ~]# df -Th文件系统               类型     容量 已用 可用 已用% 挂载点devtmpfs               devtmpfs 908M     0 908M    0% /dev/dev/sdb6               btrfs     521M   17M 440M    4% /root/sdb6

3.创建文件并使用,使用dd创建命令 

[root@model sdb6]# dd if=/dev/zero bs=4M count=100 of=cfiledd: 写入<span data-raw-text-1692439234113="" "="" data-textnode-index-1692439234113="234" data-index-1692439234113="4331" data-index-len-1692439234113="4331" class="character" style="display: inline-block; text-indent: initial;">"cfile<span data-raw-text-1692439234113="" "="" data-textnode-index-1692439234113="234" data-index-1692439234113="4337" data-index-len-1692439234113="4337" class="character" style="display: inline-block; text-indent: initial;">" 出错: 设备上没有空间记录了11+0 的读入记录了10+0 的写出41943040字节(42 MB)已复制,0.408459 秒,103 MB/秒

4.查询创建的文件

[root@model sdb6]# ll总用量 450560-rw-r--r--. 1 root root 419430400 8月  18 22:33 afile-rw-r--r--. 1 root root  41943040 8月  18 22:33 cfile

5.可视化查看文件的大小,以M为单位展示

[root@model sdb6]# ls -alh总用量 441Mdrwxr-xr-x. 1 root root   20 8月  18 22:33 .dr-xr-x---. 9 root root  245 8月  18 22:26 ..-rw-r--r--. 1 root root 400M 8月  18 22:33 afile-rw-r--r--. 1 root root 40M 8月  18 22:33 cfile

6.查看分的大小

[root@model sdb6]# df -Th文件系统               类型     容量 已用 可用 已用% 挂载点devtmpfs               devtmpfs 908M     0 908M    0% /devtmpfs                   tmpfs     919M     0 919M    0% /dev/shmtmpfs                   tmpfs     919M   17M 903M    2% /runtmpfs                   tmpfs     919M     0 919M    0% /sys/fs/cgroup/dev/mapper/centos-root xfs       6.2G  1.5G  4.7G   25% //dev/sda1               xfs     1014M 150M 865M   15% /boottmpfs                   tmpfs     184M     0 184M    0% /run/user/0/dev/sdb6               btrfs     521M 458M     0  100% /root/sdb6[root@model sdb6]# cp -rp cfile dcp: 写入<span data-raw-text-1692439234113="" "="" data-textnode-index-1692439234113="262" data-index-1692439234113="5406" data-index-len-1692439234113="5406" class="character" style="display: inline-block; text-indent: initial;">"d<span data-raw-text-1692439234113="" "="" data-textnode-index-1692439234113="262" data-index-1692439234113="5408" data-index-len-1692439234113="5408" class="character" style="display: inline-block; text-indent: initial;">" 出错: 设备上没有空间cp: 扩展<span data-raw-text-1692439234113="" "="" data-textnode-index-1692439234113="263" data-index-1692439234113="5427" data-index-len-1692439234113="5427" class="character" style="display: inline-block; text-indent: initial;">"d<span data-raw-text-1692439234113="" "="" data-textnode-index-1692439234113="263" data-index-1692439234113="5429" data-index-len-1692439234113="5429" class="character" style="display: inline-block; text-indent: initial;">" 失败: 设备上没有空间

5. 以上用到的命令

1. 查看磁盘信息以及分区fdisk -l2. 查看磁盘挂载情况以及磁盘的文件系统df -Th3. 格式化分区mkfs.btrfs /dev/sdb14. 创建一个400M大的cfile文件dd if=/dev/zero bs=4M count=100 of=cfile

6. 小知识点

  1. 为什么需要逻辑分区,不能多一点主分区么?

    在传统的MBR(Master Boot Record)分区方案中,主分区的数量是有限的,最多只能有4个主分区。这是由于MBR分区表的限制,其中只有4个条目可用于主分区的定义。如果你只需要少量的分区,这可能足够了。

    然而,当你需要更多的分区时,逻辑分区就变得非常有用。逻辑分区是在扩展分区内创建的,而扩展分区本身占用了一个主分区条目。扩展分区可以容纳多个逻辑分区,因此你可以在扩展分区内创建更多的逻辑分区,以满足你的分区需求。

    逻辑分区的引入允许你在一个物理磁盘上创建更多的分区,这对于多系统安装、数据分区、多用户环境等情况非常有用。通过逻辑分区,你可以更好地组织和管理磁盘空间。

    需要注意的是,如果你使用的是新一代的分区方案,如GPT(GUID Partition Table),则没有主分区和逻辑分区的概念限制,可以创建更多的分区(最多可达到128个)。因此,对于使用GPT分区方案的磁盘,你可以更自由地创建分区,而不受主分区和逻辑分区数量的限制。

    总之,逻辑分区的存在是为了克服MBR分区表中主分区数量有限的限制,使你能够在一个物理磁盘上创建更多的分区。

    逻辑分区的存在是为了解决主分区数量有限的问题。在传统的主引导记录(MBR)分区方案中,主分区的数量被限制为最多四个。这是由于MBR分区表的结构所决定的。因此,如果需要在一个磁盘上创建更多的分区,就需要使用扩展分区和逻辑分区的组合。

    扩展分区是主分区中的一个特殊类型,它可以容纳多个逻辑分区。通过创建一个扩展分区,可以在其中划分多个逻辑分区,从而克服了主分区数量的限制。这样可以将磁盘划分为更多的逻辑部分,提供更多的灵活性和可扩展性。

    使用逻辑分区和扩展分区的好处包括:

    总而言之,逻辑分区和扩展分区的引入允许在主分区数量有限的情况下更好地管理磁盘空间,并提供更大的灵活性和可扩展性。

    1. 突破主分区数量限制:通过使用扩展分区,可以在一个磁盘上创建更多的分区,以满足不同的需求。

    2. 灵活的分区管理:逻辑分区可以根据需要创建、删除和调整大小,使得对磁盘空间进行灵活管理成为可能。

    3. 多系统安装:逻辑分区可以用于安装多个操作系统,每个操作系统都可以独立地位于一个逻辑分区中。

    4. 数据组织和隔离:通过将数据放置在不同的逻辑分区中,可以更好地组织和隔离数据,提高系统的可维护性和安全性。

  2. 处理fdisk 可以分区外还有哪些工具?

    • 使用parted -l命令查看系统中存在的磁盘和分区。

    • 选择要格式化的磁盘,例如/dev/sdb

    • 运行parted /dev/sdb命令来对磁盘进行分区操作。

    • 使用mklabel命令创建新的分区表(例如,使用mklabel gpt创建GPT分区表)。

    • 使用mkpart命令创建新的分区。

    • 使用print命令查看分区信息。

    • 运行mkfs命令来格式化新分区,例如mkfs.ext4 /dev/sdb1

    1. 使用parted命令:

  3. 为什么要格式化呢?

    1. 创建文件系统:格式化是在磁盘或分区上创建文件系统的过程。文件系统是一种用于组织和管理数据的结构,它定义了数据的存储方式、元数据的管理以及访问权限等信息。通过格式化,可以为磁盘或分区创建适当的文件系统,以便操作系统和应用程序能够正确地读取和写入数据。

    2. 清除数据:格式化磁盘或分区会将其上的所有数据全部删除。这可以用作一种数据消除的方法,确保旧数据无法被恢复。当你要出售、捐赠或重新分配磁盘时,进行格式化可以保护你的隐私和数据安全。

    3. 解决文件系统问题:有时,文件系统可能会出现问题,例如文件系统损坏、文件访问错误或文件系统不一致等。通过格式化,可以清除现有的文件系统并重新构建一个新的文件系统,以解决这些问题。这可以修复文件系统的错误,提高稳定性和可靠性。

    4. 更改文件系统类型:有时,你可能需要更改磁盘或分区的文件系统类型,以满足特定的需求或兼容性要求。通过格式化,可以将磁盘或分区从一个文件系统类型转换为另一个文件系统类型。

  4. Linux下有多种文件系统可供选择,以下是一些常见的文件系统及其对应的格式化命令:

    请注意,在执行格式化操作之前,请确保你备份了重要的数据,因为格式化将删除磁盘上的所有数据。另外,确保选择适合你需求的文件系统,考虑到性能、兼容性和特定功能的需求。

    • 格式化命令:mkfs.ntfs

    • 示例:mkfs.ntfs /dev/sdb1

    • 格式化命令:mkfs.fat -F 32

    • 示例:mkfs.fat -F 32 /dev/sdb1

    • 格式化命令:mkfs.reiserfs

    • 示例:mkfs.reiserfs /dev/sdb1

    • 格式化命令:mkfs.jfs

    • 示例:mkfs.jfs /dev/sdb1

    • 格式化命令:mkfs.btrfs

    • 示例:mkfs.btrfs /dev/sdb1

    • 格式化命令:mkfs.xfs

    • 示例:mkfs.xfs /dev/sdb1

    • 格式化命令:mkfs.ext3

    • 示例:mkfs.ext3 /dev/sdb1

    • 格式化命令:mkfs.ext4

    • 示例:mkfs.ext4 /dev/sdb1

    1. ext4文件系统:

    2. ext3文件系统:

    3. XFS文件系统:

    4. Btrfs文件系统:

    5. JFS文件系统:

    6. ReiserFS文件系统:

    7. FAT32文件系统:

    8. NTFS文件系统:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/73596.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最新k8s集群搭建教程

本次安装在vmware虚拟机下开启3台2核2g的Ubuntu20.04系统 master&#xff1a;192.168.192.137 node1&#xff1a;192.168.192.136 node2&#xff1a;192.168.192.138 关闭防火墙 先查看防火墙状态&#xff0c;如果是关闭就不用管 ufw status关闭selinux&#xff0c;如果没有安…

【数理知识】三维空间旋转矩阵的欧拉角表示法,四元数表示法,两者之间的转换,Matlab 代码实现

序号内容1【数理知识】自由度 degree of freedom 及自由度的计算方法2【数理知识】刚体 rigid body 及刚体的运动3【数理知识】刚体基本运动&#xff0c;平动&#xff0c;转动4【数理知识】向量数乘&#xff0c;内积&#xff0c;外积&#xff0c;matlab代码实现5【数理知识】最…

Excel设置某列或者某行不某行不可以编辑,只读属性

设置单元格只读的三种方式: 1、通过单元格只读按钮&#xff0c;设置为只为 设置行或者列的只读属性&#xff0c;可以设置整行或者整列只读 2、设置单元格编辑控件为标签控件(标签控件不可编辑) 3、通过锁定行&#xff0c;锁定行的修改。锁定的行与只读行的区别在于锁定的行不…

搭建私有镜像仓库Harbor

目录 系统环境&#xff1a; 安装Docker-Compose 下载并安装Harber 启动Harbor&#xff01;&#xff01;&#xff01; 系统环境&#xff1a; Centos7.9Docker-ce:24 安装Docker-Compose curl -L "https://github.com/docker/compose/releases/download/v2.20…

【SLAM】ORBSLAM34macOS: ORBSLAM3 Project 4(for) macOS Platform

文章目录 配置ORBSLAM34macOS 版本运行步骤&#xff1a;版本修复问题记录&#xff1a;编译 fix运行 fix 配置 硬件&#xff1a;MacBook Pro Intel CPU 系统&#xff1a;macOS Ventura 13.4.1 ORBSLAM34macOS 版本 https://github.com/phdsky/ORB_SLAM3/tree/macOS 运行步骤&…

SpringBoot + Vue 微人事(十二)

职位批量删除实现 编写后端接口 PositionController DeleteMapping("/")public RespBean deletePositionByIds(Integer[] ids){if(positionsService.deletePositionsByIds(ids)ids.length){return RespBean.ok("删除成功");}return RespBean.err("删…

【Hibench 】完成 HDP-Spark 性能测试

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_Linux,Java基础学习,大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的…

代理模式概述

1.代理模式概述 学习内容 1&#xff09;概述 为什么要有 “代理” &#xff1f; 生活中就有很多例子&#xff0c;比如委托业务&#xff0c;黄牛&#xff08;票贩子&#xff09;等等代理就是被代理者没有能力或者不愿意去完成某件事情&#xff0c;需要找个人代替自己去完成这…

mqtt开关实现

这个项目的主要需求其实并不复杂&#xff0c;只是需要让用户可以在小程序上控制预约后的自习室座位的灯和柜子等的开关。这里的关键是需要通过一个网络应用来转发用户对智能硬件的控制请求。 物联网应用的主要几个难点及对应的思路如下&#xff1a; 通信数据量小、通信环境不…

七夕特辑——3D爱心(可监听鼠标移动)

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

【C++】STL---list

STL---list 一、list 的介绍二、list 的模拟实现1. list 节点类2. list 迭代器类&#xff08;1&#xff09;前置&#xff08;2&#xff09;后置&#xff08;3&#xff09;前置- -、后置- -&#xff08;4&#xff09;! 和 运算符重载&#xff08;5&#xff09;* 解引用重载 和 …