linux 硬盘和文件系统

linux 硬盘和文件系统


为磁盘设备分区

分区表有很多种,比较典型的一种叫主引导记录(Master Boot Record,以下简称MBR)。另 一种逐渐普及的是全局唯一标识符分区表(Globally Unique Identifier Partition Table,以下简称 GPT)。

下面是Linux系统中的各种分区工具。

  • parted:一个文本命令工具,支持MBR和GPT。
  • gparted:parted的图形版本。
  • fdisk:Linux传统的文本命令分区工具,不支持GPT。
  • gdisk:fdisk的另一个版本,支持GPT,但不支持MBR。

parted虽然也能够创建和操作文件系统,但是你最好不要使用它来操作文件系统,因为 这样会引发一些混淆。分区操作和文件系统操作还是有本质的不同。分区表划分磁盘的 区域,而文件系统侧重数据管理,因此我们使用parted分区,使用另外的工具来创建文件系统,parted的文档中也是这样建议的。

查看分区表

你可以使用命令parted -l查看系统分区表

$ parted -l
Model: ATA WDC WD3200AAJS-2 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B Partition Table: msdos
Number Start   End     Size    Type    File system Flags 
1      1049kB  316GB   316GB   primary ext4		   boot
2      316GB   320GB   4235MB  extended
5      316GB   320GB   4235MB  logical linux-swap(v1)

Model: FLASH Drive UT_USB20 (scsi)
Disk /dev/sdf: 4041MB
Sector size (logical/physical): 512B/512B 
Partition Table: gpt

Number Start  End    Size   File system Name Flags 
1      17.4kB 1000MB 1000MB             myfirst
2      1000MB 4040MB 3040MB             mysecond

parted命令显示的文件系统不一定是MBR中的系统ID。MBR系统ID只是一个数字,例如 83是Linux分区,82是Linux交换分区。因而parted自己来决定文件系统。如果你想知道 MBR中的系统ID,可以使用命令fdisk -l。

更改分区表

查看分区表相对更改分区表来说比较简单和安全,虽然更改分区表也不是很复杂,但还是有 一定的风险,所以需要特别注意以下两点。

  • 删除分区以后,分区上的数据很难被恢复,因为你删除的是该文件系统最基本的信息。 所以最好事先对数据做备份。
  • 确保你操作的磁盘上没有分区正在被系统使用。因为大多数Linux系统会自动挂载被删除的文件系统。

你可以用以下方式来查看对分区的更改。

  • 使用udevadm查看内核消息更改。例如:udevadm monitor --kernel会显示被删除的分区和新创建的分区。
  • 在/proc/partitions中查看完整的分区信息。
  • 在/sys/block/device中查看更改后的分区系统接口信息,在/dev中查看更改后的分区设备。

文件系统

文件系统通常是内核和用户空间之间联系的最后一环,也就是通过lscd等命令进行交互的 对象。之前介绍过,文件系统是一个数据库,它将简单的块设备映射为用户易于理解的树状文件 目录结构。

文件系统类型

Linux支持原生设计的并且针对Linux进行过优化的文件系统,支持Windows FAT这样的外来 文件系统,支持ISO 9660这样的通用文件系统,以及很多其他文件系统。下面我们列出了常见的 文件系统,Linux能够识别的那些我们在名称后加上了类型名称和括号。

  • 第四扩展文件系统(以下简称ext4):是Linux原生文件系统的当前版本。第二扩展文件系 统(以下简称ext2)作为Linux的默认系统已经存在了很长时间,它源于传统的Unix文件 系统(如Unix File System - UFS和Fast File System - FFS)。第三扩展文件系统(以下简称 ext3)增加了日志特性(在文件系统数据结构之外的一个小的缓存机制),提高了数据的 完整性和启动速度。ext4文件系统在ext2和ext3的基础上不断完善,支持更大的文件和更 多的子目录个数。扩展文件系统的各个版本都向后兼容。例如,你可以将ext2和ext3挂载 为ext3和ext2,你也可以将ext2和ext3挂载为ext4,但是你不能将ext4挂载为ext2和ext3。
  • ISO 9660(iso9660):是一个CD-ROM标准。大多数CD-ROM都是使用该标准的某个版本。
  • FAT文件系统(msdos、vfat、umsdos):是微软的文件系统。msdos很简单,支持最基本的单字符MS-DOS系统。在新版本的Windows中如果要支持Linux,你应该使用vfat文件系统。umsdos这个系统很少用到,它在MS-DOS的基础上支持Linux和一些Unix特性,如符号链接。
  • HFS+(hfsplus):是苹果Macintosh计算机的文件系统标准。

创建文件系统

和分区一样,用户空间进 程能够访问和操作块设备,所以你可以在用户空间中创建文件系统。mkfs工具可以创建很多种文件系统

mkfs -t ext4 /dev/sdf2

你只需要在增加新磁盘和修复现有磁盘的时候创建文件系统。一般是对没有数据的新分 区进行此操作,或者分区已有的数据你不再需要了。如果在已有文件系统上创建新的文 件系统,所有已有的数据将会丢失。

mkfs是一系列文件系统创建程序的前端界面,如mkfs.fs。fs是一种文件系统类型。当运行mkfs -t ext4时,实际上运行的是mkfs.ext4。

挂载文件系统

在Unix系统中,我们称挂载文件系统为mounting。系统启动的时候,内核根据配置信息挂载 root目录/。

要挂载文件系统,你需要了解以下几点。

  • 文件系统所在设备(如磁盘分区,文件系统数据存放的位置)。
  • 文件系统类型。
  • 挂载点,也就是当前系统目录结构中挂载文件系统的那个位置。挂载点是一个目录,例如,你可以使用/cdrom目录来挂载CD-ROM。挂载点可以在任何位置,只要不直接在/下即可。

参考

[精通linux(第二版)](

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值