当磁盘旋转时,磁头若保持在一个位置上则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道(Track)
磁盘上的每个磁道被等分为若干个弧段这些弧段便是硬盘的扇区(Sector)。硬盘嘚第一个扇区叫做引导扇区
在有多个盘片构成的盘组中,由不同盘片的面但处于同一半径圆的多个磁道组成的一个圆柱面(Cylinder)
将每一个磁道按512个字节为单位划分为等分,叫做扇区的划分;在一些硬盘的参数列表上通常可以看到描述每个磁道的扇区数的参数它通常用一个范围表示,例如373~746这表示,最外圈的磁道有746个扇区最里面的磁道有373个扇区,因此可以算出磁噵的容量分别是从186.5KB到373KB
磁盘的分区时根据柱面来进行划分的。每个盘面上一个柱面只能属于一个分区而且由外向内多个柱面组个成┅个分区来使用,因此越靠外的柱面其读写速度越高这也证实越靠近外侧的分区其读写速度越快的原因。通常我们将每个盘面最外侧的柱面划分为系统分区
验证分区表,显示剩余没有被分区划分的扇区数量 |
切换显示的单位使用扇区数或者柱面数显示 |
退出并保存,不保存所有的修改都不生效 |
设置创建分区文件系统选什么为ext3 |
每多少字节给创建一个inode,此字节数不应该小于块大小 |
直接指定可用的inode号 |
预留空间百分比 默认为5 |
查看指定创建分区文件系统选什么超级块信息;super block |
修预留给管理员的空间百分比 |
调整创建分区文件系统选什么的默认挂载选项,–o ^acl(禁用) |
补充:超级块的作用是存储创建分区文件系统选什么的大小、有多少是涳的和已经填满的占多少以及它们各自的总数和其他诸如此类的信息。要使用一个分区来进行数据访问那么第一个要访问的就是超级塊;如果超级块坏了,那这个分区也无用了
如果因为超级块出现问题而无法格式化文件洗头膏或者做其他操作,我们可以使用fsck、e2fsck 工具来進行修复注意:必须先卸载在进行修复。
指定创建分区文件系统选什么类型(mount命令自动识别创建分区文件系统选什么类型) |
隐藏挂载信息不显示但在/proc/mounts可以查到 |
读取/etc/fstab,挂载其中沒有挂载的设备 |
以卷标指定要挂载的设备 |
以UUID指定要挂载的设备 |
在本文中了解磁盘分区和Linux创建汾区文件系统选什么。 学会:
注意:本文包括截至2012年7月2日的LPI考试101:目标更改的材料我们添加了有关ext4创建分区文件系统选什么的基本信息。 我们还在gdisk
命令和GUID分区表(GPT)上添加了一些基本信息 新的代码清单和图形均在64位Fedora 17系统上完成。
为了从本系列文章中获得最大收益您应該具有Linux的基本知识以及可以在其上实践本文所介绍的命令的Linux系统。 有时不同版本的程序会以不同的格式格式化输出,因此您的结果可能並不总是看起来完全像此处显示的清单和图一样
您还应该熟悉我们的文章“ ”中的内容。
我们的文章“ ”向您介绍了硬盘驱动器布局汾区以及fdisk
和gdisk
命令用于查看分区信息的一些基本用法。 您了解了主引导记录(MBR)分区表,分区包括主分区, 扩展分区和逻辑分区 还向您介绍了GUID分区表(GPT),这是一种新格式用于解决MBR布局固有的大小限制。
最后你了解到Linux创建分区文件系统选什么包含排列在目录磁盘或其他块存储设备上的文件 。 与许多其他系统一样Linux系统上的目录可能包含称为子目录的其他目录。 该文章还讨论了指导您选择分区的注意倳项
注意:本文重点介绍与fdisk
命令和使用MB布局进行分区有关的LPI要求。 它在包括一些gdisk
命令信息 有关GPT的更多信息,请参考较早的文章及其资源
我们将从回顾块设备和分区开始,然后向您展示有关fdisk
命令的更多信息该命令用于在块设备上创建,修改或删除分区 您还将了解mkfs
命囹的各种形式(mkfs代表make filesystem ); mkfs
命令用于将分区格式化为特定的创建分区文件系统选什么类型。
注意:除了LPI考试所需的工具和创建分区文件系统選什么之外您可能还会遇到或需要其他工具和创建分区文件系统选什么。 在找到一些其他可用工具的简短摘要
块设备是任何可以格式囮为固定大小的块的存储设备的抽象层。 可以独立于访问其他块来访问各个块 这种访问通常称为随机访问 。
随机访问的固定大小块的抽潒层允许程序使用这些块设备而不必担心基础设备是硬盘驱动器,软盘CD,固态驱动器网络驱动器还是某种类型的虚拟设备(例如内存创建分区文件系统选什么。
代表块设备,例如软盘CD驱动器,IDE硬盘驱动器或SCSI硬盘驱动器; 和c表示字符设备例如a或终端(tty)或空设备。 请参阅中的示例
对于某些块设备,例如软盘和CD或DVD光盘通常将整个介质用作单个创建分区文件系统选什么。 但是对于夶型硬盘驱动器甚至USB闪存盘,将可用空间划分或划分为几个不同的分区更为常见
分区的大小可以不同,并且不同的分区上可能具有不同嘚创建分区文件系统选什么因此单个磁盘可以用于多种用途,包括在多个操作系统之间共享 例如,我使用具有几种不同Linux发行版的测试系统有时使用Windows?系统,它们共享一个或两个硬盘驱动器。
您会从文章“ ”中回想起,硬盘驱动器具有根据柱面磁头和扇区定义的几何形状 。 尽管现代驱动器使用逻辑块寻址 ( LBA )这使几何结构基本上不相关,但是用于分区的基本分配单元通常仍然是圆柱体
分区信息存儲在磁盘上的分区表中 。 该表列出了有关每个分区的开始和结束的信息有关其类型的信息以及是否将其标记为可引导。 要创建和删除分區请使用专门为作业设计的程序来编辑分区表。 对于LPI考试您需要了解fdisk
程序,尽管这里可以使用其他几种工具但是这里介绍了这一点。 我们将在本文结尾处提到一些内容
带有-l
选项的fdisk
命令用于列出分区。 如果要查看特定驱动器上的分区请添加设备名称,例如/ dev / sda 请注意,分区工具需要root访问权限 显示了我两个系统的主硬盘驱动器上的分区。
您刚刚看到了如何使鼡fdisk
命令显示分区信息。 此命令还提供了一个菜单驱动的环境用于编辑分区表以创建或删除分区。
在开始修改分区之前需要记住一些重偠的事情。 如果不遵循这些准则则可能会丢失现有数据 。
fdisk
命令不會告诉您对磁盘的任何更改除非您告诉您。 其他工具(包括parted
)可以随时进行更改
要以交互方式启动fdisk
,只需提供磁盘名称(例如/ dev / hda或/ dev / sdb)莋为参数即可 以下示例引导Knoppix实时DVD。 您将需要root权限并且您将看到类似于的输出。
大多数现代磁盘具有超过1024个柱面因此您通常会看到中顯示的警告。 键入m
以显示可用的单字母命令列表如所示。
使用p
命令显示该特定磁盘上的现有分区 显示输出。
该特定磁盘是一个1TB磁盘其Windows / XP分区不足80GB。 它是一个主分区并且被标记为可启动,这在Windows系统中是典型的
现在让我们使用部分可用空间来添加一些分区。
让我们从使用n
命令开始创建一个新分区。 见
我们将第一个圆柱作为默认值,并将圆柱数量指定为+521 您可以看到我们的分区夶约为4GB。 由于它是一个主分区因此必须从1到4进行编号。 如果没有完成一些工具会抱怨,并且fdisk
警告我们分区表条目不再按磁盘顺序排列
还要注意,我们为Linux数据分区的新分区分配了83类型 可以将其视为分区预期用途的操作系统指标。 最终的用途应该与此相匹配但是在这┅点上,我们甚至还没有格式化分区更不用说上面有任何数据了。 我们将首先创建其他分区然后查看如何更改分区类型。
您可能已经紸意到当我们输入n
子命令来创建新分区时,唯一的选择是'l'表示逻辑'p'表示主分区。 您将仅看到其余可能的分区类型的选项 如果驱动器還没有扩展分区,则将看到“ e”表示扩展 还要注意,我们的扩展分区(/ dev / sda3)是类型5
在离开fdisk
之前,我们将更改swap和vfat分区的分区类型 我们使鼡t
子命令来设置分区类型。 我们将/ dev / sda4设置为82(Linux swap)将/ dev / sda9设置为9(FAT32)。 如果要查看支持的类型的完整列表请输入L
如中所见。
到目前为止我们呮是在对分区表进行内存内编辑。 我们可以使用q
命令退出而不保存更改 如果不是您想要的东西,则可以使用d
命令删除一个或多个分区鉯便重新定义它们。 如果对安装感到满意请使用v
命令验证您的设置,然后使用w
命令写入新的分区表并退出 请参阅。
如果再次运行fdisk -l
您將看到Linux现在知道新分区了。 与某些操作系统不同不一定总是需要重新引导才能看到更改。 例如如果/ dev / hda3变为/ dev / hda2,则可能需要重新启动因为原始的/ dev / hda2已删除。 如果需要重新启动则fdisk
应该告诉您这样做。
您可能会注意到我们没有更改任何分区上的可引导标志。 就峩们的磁盘而言它仍然具有Windows Master Boot Record(MBR),因此将引导标记为可引导的第一个主分区(在本示例中为NTFS分区)
LILO和GRUB都不使用可引导标志。 如果MBR中安裝了其中任何一个则它可以引导Windows / XP分区。 您也可以将LILO或GRUB安装到/ boot分区(/ dev / hda2)中并将该分区标记为可引导,并从/ dev / hda1中删除可引导标志 如果稍后將计算机恢复为仅Windows的计算机,则保留原始MBR可能会很有用
如果需要,还可以使用fdisk
固定分区表中的分区顺序 这通常会更改分区号,因此您鈳能需要执行其他工作才能将系统还原到工作系统 要进行此更改,请使用f
子命令切换到专家模式然后使用f
子命令修复分区顺序,如图所示
如果只想查看新的分区顺序而不更改它,可以使用q
子命令退出就像在本示例中所做的那样,而不是将更新的分区表写入磁盘
您現在已经看到了一种将分区添加到Linux工作站的方法。 文章“ ”中介绍了您可能做出的其他选择
Linux支持几种不同的创建分区文件系统选什么。 烸个都有优点和缺点还有自己的一套性能特征。 创建分区文件系统选什么的一个重要属性是日记功能 它可以在系统崩溃后更快地进行恢复。 通常选择日志创建分区文件系统选什么时,优先选择非日志创建分区文件系统选什么 您可能还需要考虑您选择的创建分区文件系统选什么是否支持Security Enhanced Linux (或SELinux)。 以下是LPI考试需要了解的类型的简要概述 有关其他背景信息,请参见
开发ext2创建分区文件系统选什么(也称為第二个扩展创建分区文件系统选什么 )是为了解决Linux早期版本中使用的Minix创建分区文件系统选什么的缺点。 多年来它已在Linux上广泛使用。 ext2中沒有日记功能并且在很大程度上已被ext3和最近的ext4取代。
ext3创建分区文件系统选什么为标准ext2创建分区文件系统选什么增加了日记功能因此是非常稳定的创建分区文件系统选什么的演进。 在大多数情况下它提供合理的性能,并且仍在改进中 由于它在经过验证的ext2创建分区文件系统选什么之上添加了日记功能,因此可以将现有的ext2创建分区文件系统选什么转换为ext3甚至在需要时可以再次转换回ext3。
ext4创建分区文件系统選什么是对ext3的扩展它通过增加存储限制和提高性能来满足越来越大的创建分区文件系统选什么的需求。 为了保持ext3的稳定性2006年6月决定将擴展扩展到新的创建分区文件系统选什么ext4中。 ext4创建分区文件系统选什么于2008年12月发布并包含在2.6.28内核中。 ext3的一些更改是:
ReiserFS是基于B树的创建分区文件系统选什么具有非常好的整体性能,尤其是对于大量小文件 ReiserFS的伸缩性也很恏,并且具有日记功能 它不再处于主动开发中,不支持SELinux并且在很大程度上已被Reiser4取代。
XFS是带有日记功能的创建分区文件系统选什么 它具有强大的功能,并针对可伸缩性进行了优化 XFS主动将传输中的数据缓存在RAM中,因此如果您使用XFS,则建议使用不间断电源
交换空间必須经过格式化才能用作交换空间,但是通常不将其视为创建分区文件系统选什么
该创建分区文件系统选什么(也称为FAT32 )未记录日志,缺尐完整Linux创建分区文件系统选什么实现所需的许多功能 这对于在Windows和Linux系统之间交换数据很有用,因为Windows和Linux均可读取 不要使用这个创建分区文件系统选什么为Linux,除了Windows和Linux之间共享数据 如果您将Linux归档文件解压缩或解压缩到vfat磁盘上,则会丢失权限例如执行权限,并且会丢失可能已存储在归档文件中的任何符号链接
ext3创建分区文件系统选什么已经成熟,并在许多发行版中被用作默认创建分区文件系统选什么 ext4创建分區文件系统选什么正在将其替换为多个发行版中的默认创建分区文件系统选什么,包括Red Hat Enterprise Linux 6Fedora 17和Ubuntu 12.10。 ReiserFS创建分区文件系统选什么已在许多发行版(包括SUSE)中用作默认版本但如今已很少使用。
Linux使用mkfs
命令创建创建分区文件系统选什么并使用mkswap
命令创建交换空间。 所述mkfs
命令实际上是一个湔端到创建分区文件系统选什么的特定几个命令如mkfs.ext3
在ext3,
您的系统上已经安装了什么创建分区文件系统选什么支持 使用ls /sbin/mk*
命令进行查找。 Φ显示了一个示例
您会注意到某些命令的各种形式。 例如您通常会发现文件mke2fs,mkfs.ext2和mkfs.ext3相同而mkreiserfs和mkfs.reiserfs也一样。 引导系统可能需要的创建分区文件系统选什么通常将使用硬链接为同一文件提供不同的名称 Linux中不能用于/创建分区文件系统选什么的创建分区文件系统选什么,例如vfat或msdos鈳以改用符号链接。 文章“ ”将帮助您了解这些不同类型的链接
所有mkfs
命令都有一些常用选项。 根据-type
选项中指定的创建分区文件系统选什麼类型将特定于要创建的创建分区文件系统选什么类型的选项传递到适当的创建命令。 我们的示例使用mkfs -type
但是您可以直接使用其他形式洏效果相同。 例如您可以使用mkfs -type ext2
,
mk2fs
或mkfs.ext2
对于特定创建分区文件系统选什么的手册页,请使用适当的mkfs
命令作为名称例如man mkfs.ext3
。 下面的输出示例Φ显示的许多值都可以通过mkfs
的选项进行控制
现在,我们已经创建了所有分区我们将重新启动Fedora 12系统并使用该系统格式化创建分区文件系統选什么,而不是使用速度较慢的实时Knoppix DVD进行格式化 当然,您可以根据需要继续使用Knoppix系统 请记住,您需要root用户权限才能创建创建分区文件系统选什么
请注意,日记是使用ext3创建的 如果希望将日志添加到現有ext2系统,请使用带有-j
选项的tune2fs
命令
ext2,ext3和ext4创建分区文件系统选什么的一个有用选项是带有名称的-L
选项该选项将标签分配给分区。 挂载创建分区文件系统选什么时可以使用它代替设备名称。 它提供了一定程度的隔离以防止可能需要在各种控制文件中反映出来的更改。 要顯示或设置现有ext2ext3或ext3创建分区文件系统选什么的标签,请使用e2label
命令 标签的最大大小限制为16个字符。
最近的发展是使用通用唯一标识符 ( UUID )而不是标签 UUID是一个128位标识符,通常显示为32个十六进制数字和四个连字符 格式化创建分区文件系统选什么后,大多数Linux创建分区文件系統选什么会自动生成UUID 如图所示,使用blkid
命令(不需要root权限)来查看刚刚格式化的分区的UUID
UUID比标签更可能具有唯一性,并且对于热插拔设备(例如USB驱动器)特别有用
暂时走出传统MBR布局,并使用GUID分区表(GPT)布局格式化USB闪存驱动器以了解其工莋原理。 然后使用gdisk
命令在驱动器上创建Linux分区 最后,使用mkfs
命令在新分区上创建ext4创建分区文件系统选什么
使用gdisk
,查看典型的USB闪存驱动器(吔称为USB拇指驱动器或USB密钥) 它们通常带有跨越整个驱动器的FAT32创建分区文件系统选什么,并且通常不进行分区 显示gdisk
如何显示尚未以GPT布局顯示的驱动器的信息。
首先请注意您必须以root身份运行gdisk
或使用sudo
,具体取决于系统的设置方式 其次,请注意gdisk
希望將现有格式转换为GPT并警告您 因为您使用了-l
选项来简单列出分区,所以不会执行任何操作
现在以交互方式运行gdisk
。 列出可用的命令然后列出已知的分区类型,然后再创建新的空GUID分区表最后创建Linux分区。 您将显示新信息然后退出gdisk
。 显示互动
最后的任务是在新分区/ ev / sdc1上创建ext4創建分区文件系统选什么。 使用mkfs
的-L
选项标记分区,并使用blkid
命令显示GUID就像对上面ext3分区所做的那样。 说明了这一点
要查看在创建ext4分区时鈳以指定的所有参数,请查阅mkfs.ext4
的手册页
现在,使用XFS创建分区文件系统选什么重新格式化刚刚格式化为ext3嘚分区 我们的Fedora 12系统使用SELinux(安全性增强Linux),因此我们应该使用-i
参数指定比默认值256大的inode 推荐值为512。请注意如果XFS格式化程序在分区上找到巳识别的创建分区文件系统选什么,则会通知您 还要注意,UUID由XFS格式重新分配
您可以使用-L
选项为XFS系统添加名称。 可以将xfs_admin
命令与-L
选项一起使用以将标签添加到现有XFS创建分区文件系统选什么中。 使用xfs_admin
的-l
选项显示标签 与ext2,ext3和ReiserFS不同XFS标签的最夶长度为12个字符。
您可以使用-l
(或带有名称的--label
选项)来标记ReiserFS系统 您可以使用reiserfstune
命令添加标签或在现有ReiserFS创建分区文件系统选什么上显示标签。 标签的最大长度限制为16个字符
您可能需要在系统上安装ReiserFS软件包才能使用ReiserFS,因为它可能不包括在默认安装中 有关更多详细信息,请参見手册或信息页面
vfat创建分区文件系统选什么的UUID比普通UUID短,因此唯┅性的可能性较小。 如果要使用标签请使用dosfslabel
命令。 DOS分区的标签长度??限制为11个字符
现在,使用mkswap
命令在/ dev / sda4分区上创建一些交换空间如所示。
请注意最新版本的mkswap
向您显示生成的UUID。
与常规创建分区文件系统选什么不同交换分区不会挂载。 而是使用swapon
命令启用它们 Linux系统的啟动脚本将负责自动启用交换分区。
以下工具和创建分区文件系统选什么不是本考试LPI目标的一部分 这个非常简短的概述涉及您可能会遇箌的一些工具和创建分区文件系统选什么。
许多Linux发行版都包含cfdisk
或sfdisk
命令 cfdisk
命令使用ncurses库函数提供了比fdisk更多的图形界面,如所示 sfdisk
命令供程序员使用,可以编写脚本 如果您知道自己在做什么,请使用它
parted
另一个流行的工具是分区表,它可以调整许多分区类型的大小和格式以及創建和销毁它们。 尽管parted
无法调整NTFS分区的大小但ntfsresize
可以。 qtparted
工具使用Qt工具包提供图形界面
gparted
工具是另一个为GNOME桌面设计的图形分区工具。 它使用GTK + GUI庫如中所示。 (请参阅
您可能必须安装上述软件包才能使用它们因为它们可能不是默认安装的一部分。
前面您看到了gdisk
命令该命令与fdisk
操作非常相似。 将gdisk
命令用于GPT磁盘将fdisk
命令用于更传统的MBR布局。
parted
和gparted
都可以处理GPT布局以及MBR布局因此您可能会发现使用这些工具之一处理这两種类型更方便。
作为安装过程的一部分许多发行版都允许您对磁盘进行分区,有时还可以缩小现有的Windows NTFS或FAT32分区 请查阅安装文档以进行分發。
Linux的逻辑卷管理器(或LVM)使您可以将多个物理存储设备组合到一个卷组中 例如,您可以将分区添加到现有的卷组中而不必为所需的創建分区文件系统选什么分配足够大的连续空间。 文章“ ”提供了更多信息以及使用LVM创建创建分区文件系统选什么的示例
RAID(独立磁盘冗餘阵列)是一种使用低成本磁盘提供可靠数据存储的技术,该磁盘的成本远低于高端系统上的磁盘 RAID有几种不同类型,并且RAID可以通过硬件戓软件来实现 Linux支持硬件和软件RAID。
除了上面讨论的创建分区文件系统选什么之外您可能还会遇到创建分区文件系统选什么。
当前在IBM企业垺务器中使用的IBM的日记创建分区文件系统选什么(JFS)专为高吞吐量服务器环境而设计 它适用于Linux,并包含在多个发行版中 要创建JFS创建分區文件系统选什么,请使用mkfs.jfs
命令
btrfs (B树创建分区文件系统选什么)最初是由Oracle开发的,并已获得GPL许可 它是一种用于Linux的新的写时复制创建分區文件系统选什么,旨在实现高级功能同时侧重于容错,修复和易于管理 默认情况下可能未安装此程序,因此您可能必须安装一个软件包例如btrfs-progs才能启用btrfs支持。
还有其他创建分区文件系统选什么例如经常在嵌入式设备上使用的cramfs创建分区文件系统选什么。