【Linux 系列笔记】17 磁盘分区、挂载 mount 和 磁盘查询 df du(两篇让你明了Windows 和 Linux 磁盘分区 和 硬盘、硬盘接口类型)


1. 分区的方式

(1)MBR 分区:主引导记录。

  它存在于磁盘驱动器开始部分的一个特殊扇区。这个扇区包含了已安装的操作系统信息,并用一小段代码,由 BIOS 来启动。如果 MBR 信息损坏或误删就不能正常启动操作系统。Linux 系统中 MBR 通常是 GRUB 加载器。当一台电脑启动时,它会先启动主板自带的 BIOS 系统,然后 BIOS 加载 MBR,MBR 再启动 操作系统,这就是 MBR 的启动过程。

特点:

  • 最多支持四个分区
  • 系统只能装在主分区,且主分区不能再分
  • 扩展分区要占一个主分区,且扩展分区要再分,分成逻辑分区
  • 逻辑分区数量可以有多个
  • MBR 最大只支持 2TB,但拥有最好的兼容性

(2)GPT 分区:全局唯一标识磁盘分区表。

  它是另外一种更加先进新颖的磁盘组织方式,是一种使用 UEFI 启动的磁盘组织方式。最开始是为了更好的兼容性,后来因其支持更大的内存个兼容而被广泛使用,特别是苹果的 MAC 系统全部使用 GPT 分区。GPT 不存在分区的概念,所有盘都在一段信息中存储。可以简单理解为更先进但是使用不够广泛。

特点:

  • 支持无限多个分区(但操作系统可能限制,如 Windows 下最多 128 个分区)
  • 最大支持 18EB 的大容量(1Eb = 1024PB,1PB = 1024TB)
  • Windows7 64位以后开始支持 GPT

2. Windows 下的磁盘分区

(1)Windows7

  在 Windows7 以前都是 BIOS 引导的 MBR 分区,所以最多只能有四个分区,通常我们将 C盘作为一个主分区,扩展分区独占一个主分区,里面可以放多个逻辑分区,可以把D、E、F 盘放在扩展分区里的逻辑分区,也可以单独把一个盘作为一个新的主分区。一个硬盘主分区至少有1个,最多4个,扩展分区可以没有,最多1个,且主分区+扩展分区总共不能超过4个,逻辑分区可以有若干个。对于windows来说,有几个分区就有几个驱动器,并且每个分区都会有一个字母标识,然后就可以选用这个字母来指定在这个分区上的文件和目录,它们的文件结构都是独立的。如下图,可以右击我的电脑 —— 管理 —— 磁盘管理。
     

(2)Windows10

  在 Windows10 里,你会看到磁盘只有主分区。这是因为 Windows10 的硬盘是以 GPT 方式来分区的。所以可以有多个主分区。


3. Linux 下的磁盘分区

在 Windows 操作系统中,是现将硬盘的物理地址划分开,划分成几个分区,然后再在分区上建立目录。

而对于 LInux 来说,恰恰相反。它先有目录结构(Linux 文件系统),然后将物理地址划分成几个分区映射到目录中。无论有几个分区,分给哪个目录使用,它归根结底只有一个根目录,一个独立且唯一的文件结构,Linux 中每个分区都是用来组成整个文件系统的一部分。

Linux 采用了一种叫“ 载入 ”(mount)的处理方法,它将整个计算机的资源都整合成一个大的文件目录,且将分区和目录一一对应起来。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备,这样就可以通过软件操作来管理硬件设备了。该目录的内容为分区中的内容,且享有该分区的存储空间大小。Linux 默认分为三个分区如下所示(在安装 CentOS 6时其实我们也手动给 Linux 磁盘分区了,这时再去看可能你会理解的更充分:点此链接,找到中间的手撕 LInux):

  • boot分区:该分区对应于/boot目录。存放的是 Linux 的 Grub(bootloader)和内核源码。用户对 /boot 目录的操作就是操作该分区。大小约 100MB。
  • swap分区:该分区没有对应的目录,故用户无法访问。swap 分区即为虚拟内存,当系统内存不够用时,会先将临时数据存放在 swap 分区,等待一段时间后再将数据调入到内存中执行。大小为物理内存的 1.5 ~ 2 倍。
  • 根分区:这里的大小为剩下的所有空间,所以是除了 /boot 目录外所有其他目录都对应该分区,因此用户可以访问除 /boot 目录以外的其他所有目录来访问该分区。

这样就形成了如下所示的映射关系


4. 硬盘介绍

1)硬盘类型 和 硬盘接口类型

因为硬盘介绍篇幅较长,我单独写了一篇博文详细讲述硬盘,可以点此链接跳转:【硬盘类型】和【硬盘接口类型】详细介绍

2)硬盘驱动器标识符

Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,由我在上面链接 硬盘接口类型 里介绍的可知,SCSI 多用于服务器,所以目前基本上都是 SCSI 硬盘。

  • 对于IDE硬盘,驱动器标识符为 “ hdx~ ”, 其中 “ hd ” 表明分区所在的设备的类型,这里是指IDE硬盘。“ x ” 为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),“ ~ ” 代表分区,前四个分区用数字 1 ~ 4 表示,它们是主分区或扩展分区,从5开始就是逻辑分区。

    如 hda3表示为第一个IDE硬盘上的第三个主分区或扩展分区,hdb2表示为第二个IDE硬盘上的第二个主分区或扩展分区。

  • 对于SCSI硬盘则标识为 “ sdx~ ”,SCSI硬盘是用 “ sd ” 表明分区所在设备的类型,其余和 IDE 硬盘的表示方法一样。

lsblk (list block devices):查看系统分区和挂载情况。

lsblk [选项] 指令

常用选项

-f:显示出文件系统类型。会列出 :分区名称 文件系统类型 标签 UUID 挂载点
直接 lsblk 可以看各个分区大小

在这里插入图片描述


5. 为你的 Linux 增加一块硬盘(使用挂载)

开始:由于各种不可测因素,我劝大家在做之前先用虚拟机拍张快照(系统还原点),以防各种意外(在虚拟机 —— 快照 —— 拍摄快照)。

要求:为 Linux 增加一块新的硬盘,并挂载到 /home/newdisk

步骤:虚拟机添加硬盘 —— 分区 —— 格式化 —— 挂载

详细讲解:

  • 1)为虚拟机添加硬盘
      在虚拟机 —— 设置 —— 硬盘 —— 添加 —— 下一步 —— SCSI —— 创建新虚拟磁盘 —— 2G;将虚拟磁盘拆分成多个文件 —— 下一步 —— 完成 —— 确定

    这时需要重启 Linux 才能生效,reboot

    此时便能看到 sdb 了。
    在这里插入图片描述

  • 2)分区
    fdisk :给硬盘分区。

    fdisk 硬盘文件

    输入fdisk /dev/sdb —— m(获得帮助) —— n(添加分区) —— p(选择主分区)—— 1(编号)—— Enter(使用默认值)—— Enter(使用默认值)—— w(写入硬盘并退出)
    在这里插入图片描述
    这时就能发现硬盘已经被分区了:
    在这里插入图片描述

  • 3)格式化
    mkfs (make file system):给分区创建 Linux文件系统,常见的文件系统有 ext3,ext4,vfat等。格式化会生成唯一机器标识符(UUID)。

    mkfs [选项] 分区名称

    常用选项

    -t 文件系统类型

    输入 mkfs -t ext4 /dev/sdb1
       

  • 4)挂载
    先创建要挂载的目录:mkdir /home/newdisk
    mount :将分区挂载到目录下。

    mount 设备 目录

    输入mount /dev/sdb1 /home/newdisk,就能把 sdb1 分区挂载到 newdisk 目录下了。
    在这里插入图片描述
    上面这种挂载只是临时挂载,重启后会消失。下面介绍永久挂载的方法:

    打开 /etc/fstab 文件,这里记录了分区和挂载点的信息

    vim /etc/fstab

    在一般模式到指定行输入 yy 复制那一行,再 p 向下粘贴一行,按 i 进入编辑模式修改其中一行,改成下面内容即可。然后 ESC 进入命令模式 :wq 保存。

    然后输入mount -a 将 /etc/fstab 的所有内容重新加载,即可自动挂载了。

    mount -a

    你也可以取消挂载
    umount :卸载设备。

    umount 设备 / 挂载目录
    例:umount /dev/sdb1

    上面也只是临时卸载,如果要永久卸载就到 /etc/fstab 文件里把相应的挂载点删掉即可。


6. 磁盘情况查询

1)df(disk space usage):查询系统磁盘使用情况。

df [选项]

常用选项

-l:只显示本地系统
-h:以 KB、GB 为单位

在这里插入图片描述
2)du(directory usage):查询指定目录的磁盘占有情况。

du [选项] 目录
例:du -ach - -max-depth=1 /home

常用选项

-a:含文件
-c:列出明细的同时,增加汇总值
-h:以 KB、GB 为单位
-s:指定目录占用大小汇总
- - max-depth=n(n为目录级数):子目录深度



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在使用xshell进行磁盘分区挂载时,需要经过以下步骤: 1. 首先,通过命令"fdisk -l"查看已经创建的磁盘分区信息,以确定要进行挂载磁盘。 2. 使用命令"fdisk /dev/sdc"进入对应磁盘的分区管理界面。如果不清楚可用的选项,可以输入"m"来查看帮助菜单。 3. 使用命令"n"来创建新的分区。按照提示输入分区类型、起始扇区、结束扇区等信息来完成分区的创建。 4. 完成分区创建后,可以使用命令"p"来显示新的分区表,并使用命令"t"来修改分区类型(如果需要)。 5. 接下来,使用命令"w"将分区表信息写入硬盘,并保存所有操作并退出。 6. 分区创建完成后,可以通过命令"lsblk"来查看分区设备文件名,如/dev/sda1、/dev/sda2、/dev/sda3等。 7. 最后,通过命令"mount"来挂载指定的分区到指定的挂载点(即盘符,对应的目录名)。例如,使用命令"mount /dev/sda1 /mnt"将/dev/sda1分区挂载到/mnt目录下。 总结起来,使用xshell进行磁盘分区挂载的步骤包括:查看已创建的磁盘分区信息,进入分区管理界面,创建新的分区,修改分区类型(可选),保存分区表信息,查看分区设备文件名,并最终通过mount命令挂载分区到指定的挂载点。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Linux笔记磁盘分区挂载](https://blog.csdn.net/weixin_29523709/article/details/116734691)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [磁盘的分区和挂载](https://blog.csdn.net/weixin_48185643/article/details/108121005)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值