磁盘管理与文件系统

一,磁盘结构及分区表示

1:磁盘基础

(1)硬盘的结构

                1.物理结构
                        盘片:硬盘有多个盘片,每盘片2面。
                        磁头:每面一个磁头。
                2.数据结构
                        扇区:磁盘上的每个磁道被等分为若干个弧段,这些弧段便是硬盘的扇区(Sector)。
硬盘的第一个扇区,叫做引导扇区。
                        磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)。
                        柱面:在有多个盘片构成的盘组中,由不同盘片的面,但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)。

                3.存储容量
                        硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数。
                        可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域,用 fdisk-查看分区信息。

(2)硬盘的接口

  • SATA (Serial ATA): 是目前最普遍的硬盘接口标准,支持热插拔,数据传输速率从1.5Gb/s到6Gb/s不等,最新版本为SATA 3.0。
  • SAS (Serial Attached SCSI): 主要用于企业级存储,相比SATA提供了更高的数据传输速率(可达12Gb/s或更高)和更强的错误处理能力,支持更多的设备连接和更长的电缆长度。
  • NVMe (Non-Volatile Memory Express): 一种基于PCIe总线的协议,专为固态硬盘设计,提供了极高的I/O速度和低延迟,广泛应用于高性能存储场景。
  • M.2: 一种小型的物理接口,支持SATA和NVMe两种传输协议,常用于笔记本电脑和小型PC中的固态硬盘。
  • USB (Universal Serial Bus): 常见于外置硬盘,USB 3.0及以上版本提供更快的数据传输速率,适合便携式存储解决方案。
  • SCSI (Small Computer System Interface): 虽然较老,但在某些专业和服务器环境中仍可见,因其高可靠性和多设备连接能力。

2:磁盘分区表示

(1):MBP

MBR (Master Boot Record): MBR是一种传统的硬盘分区表格式,它存储在硬盘的第一个扇区(512字节),其中前446字节存放启动代码,随后的64字节存储分区表信息,最后两个字节是分区表的有效标志。MBR分区表只能管理最多4个主分区,或者3个主分区加上一个扩展分区,扩展分区中可进一步划分多个逻辑分区。

(2):磁盘分区的表示

磁盘分区通常用以下方式表示:

  • 分区编号:如sda1、sdb2等,其中“sda”或“sdb”代表硬盘标识,“1”或“2”代表分区编号。
  • 分区类型:如primary(主分区)、extended(扩展分区)、logical(逻辑分区)。
  • 分区大小:以字节、KB、MB、GB、TB等单位表示。
  • 文件系统类型:如NTFS、FAT32、EXT4、XFS等,决定了如何组织和管理存储在分区上的数据。

(3):Liunx中使用的文件系统类型

在Linux操作系统中,常见的文件系统类型包括但不限于:

  • EXT2/EXT3/EXT4:EXT系列是Linux早期到当前广泛使用的原生文件系统,EXT4是EXT3的增强版,支持更大的文件和分区大小,更快的写入速度和日志记录。
  • Btrfs:下一代Linux文件系统,支持写时复制(CoW)、快照、数据校验和自修复功能,以及灵活的卷管理。
  • XFS:高性能的日志文件系统,特别适合大型文件存储和数据吞吐量大的应用场景。
  • ZFS:虽然ZFS最初为Solaris开发,但也有Linux版本可用,提供高级功能如数据完整性校验、动态卷管理、快照和克隆。
  • VFAT/FAT32:主要用于兼容性和移动设备,如U盘。
  • NTFS:虽然主要是Windows的文件系统,但在Linux中通过ntfs-3g等驱动程序也能读写NTFS分区。

二,管理磁盘及分区

1:检测并确认新硬盘

Windows系统
  • 打开磁盘管理:右键点击开始菜单,选择“磁盘管理”或在运行窗口输入diskmgmt.msc
  • 检查新硬盘:在磁盘管理界面,查找是否有未分配的磁盘空间或带有“未知”、“未初始化”标签的新磁盘,这通常是新接入的硬盘。
Linux系统
  • 使用lsblk命令:在终端输入lsblk,可以列出所有可用的块设备及其挂载状态,新硬盘通常显示为未挂载且无文件系统信息。
  • 使用fdisk -l命令:如果lsblk未显示,尝试使用sudo fdisk -l命令,它能更详细地列出所有磁盘及其分区信息。

2:规划硬盘中的分区

在进行分区之前,考虑以下几点进行规划:

  • 系统需求:如果是安装操作系统,通常需要一个引导分区(如EFI系统分区,对于GPT分区表),一个系统分区(如C盘),以及可能的交换分区(Linux下充当虚拟内存)。
  • 数据安全:考虑创建单独的分区用于存放重要数据,如文档、图片、视频等,这样即使系统需要重装,数据分区可以保持不变。
  • 性能考量:SSD(固态硬盘)上可将频繁读写的程序或系统文件放在单独分区,以利用SSD的高速度;而HDD(机械硬盘)上则可根据文件访问频率分配。
  • 备份策略:预留一部分空间作为备份分区或使用外部硬盘定期备份重要数据。
  • 分区类型:决定使用MBR还是GPT分区表。GPT支持更大硬盘容量,更多分区,且具备更好的错误恢复能力,但需要UEFI支持。
分区步骤简述(以Linux为例):
  1. 选择分区工具:使用fdiskgdisk(GPT分区)、或图形界面工具如GNOME Disks。
  2. 创建分区:使用命令行工具时,先选择硬盘(如fdisk /dev/sdb),然后创建分区(n新建分区,p为主分区,e为扩展分区,之后指定分区号、起始扇区、结束扇区或大小)。
  3. 设定分区类型:如有必要,设置分区类型,如EFI分区需标记为EF00(对于GPT)。
  4. 写入更改并退出:完成分区后,使用w命令保存更改并退出。
  5. 创建文件系统:使用mkfs命令在新分区上创建文件系统(如mkfs.ext4 /dev/sdb1)。
  6. 挂载分区:编辑/etc/fstab文件或手动使用mount命令挂载新分区到特定目录。

确保在操作前备份重要数据,因为分区操作不当可能导致数据丢失。

三,管理文件系统

1. 创建文件系统

创建文件系统是在磁盘分区或其他存储设备上初始化一个特定的文件系统类型的过程。以下是创建几种常见文件系统的方法:

Linux环境下的示例:
  • EXT4文件系统:
#bash
  sudo mkfs.ext4 /dev/sdb1
  

其中,/dev/sdb1是要创建文件系统的分区。

  • XFS文件系统:
#bash
  sudo mkfs.xfs /dev/sdb1
  
  • Swap文件系统(用于Linux的虚拟内存):
#bash
  sudo mkswap /dev/sdb2
  sudo swapon /dev/sdb2
  
  • FAT32(用于兼容性,如U盘):
#bash
  sudo mkfs.vfat -F32 /dev/sdb3
  

确保在创建文件系统之前,目标设备没有重要数据,因为这个过程会擦除所有数据。

2. 挂载与卸载文件系统
挂载文件系统

挂载是将一个文件系统与系统目录树中的一个目录关联起来的过程,使得通过这个目录可以访问该文件系统的内容。

  • 临时挂载:
#bash
  sudo mount /dev/sdb1 /mnt/mydata
  

这里,/dev/sdb1是文件系统所在分区,/mnt/mydata是挂载点。

  • 自动挂载(编辑/etc/fstab): 在文件末尾添加如下行实现开机自动挂载:
  /dev/sdb1 /mnt/mydata ext4 defaults 0 0
  
卸载文件系统

卸载文件系统是断开文件系统与目录树之间关联的操作,确保没有进程正在使用该文件系统上的文件。

  • 卸载命令:
#bash
  sudo umount /mnt/mydata
  

如果有进程正在使用该挂载点下的文件,可能会遇到忙(device is busy)的错误,需要先关闭相关进程或使用fuserlsof命令找出并结束占用资源的进程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值