Linux命令 - fdisk

从Linux命令行创建和管理硬盘分区

fdisk是一个命令行划分编辑器允许您从命令行创建,编辑和管理计算机硬盘驱动器上的分区。还有其他类似的工具,如CFdisk并分开,但FDISK很容易最通用,可能是最简单的。

即使您不打算定期使用它,那么任何Linux用户都有一个概念,概念如何与FDISK一起使用,因为当图形选项不可用时,它是一个很大的回力,它可能已经在您的Linux上系统。

空的办公室小隔间
捷达制作/混合图像/盖蒂图像

用fdisk分区驱动器

本指南将引导您了解使用fdisk对硬盘进行分区的基础知识。这是一个简单但强大的工具,提供了许多选项来管理您的驱动器。有关更完整的技术故障,请参阅指南末尾的技术手册。

分区您的硬盘将删除所有数据。务必备份数据或使用空白驱动器。

  1. 首先找出你的位置硬盘。你可以试试:

    ls / dev.

    然后,尝试弄清楚它是它的驱动器。您的主要驱动器可能是/ dev / sda,但您需要确保。

    您还可以查看/etc/fstab,看看哪些驱动器挂载在哪里。如果它为您提供UUID编号,您可以搜索每个分区的UUID,并查看哪些匹配。

    sudo blkid /dev/sda1
  2. 接下来,使用此列出驱动器上的当前分区表- l旗帜。用实际驱动器替换“/ dev / sda”。

    sudo fdisk -l / dev / sda
    Linux fdisk列表分区

    如果您使用空白驱动器,那就不应该有很多。

  3. 再次运行fdisk命令。这次,没有任何旗帜。这将为您带入FDISK控制台。

    sudo fdisk / dev / sda
    Linux FDISK控制台
  4. 一旦您在FDISK控制台中,您就可以开始使用您的分区。首先,如果要以前列出分区,则可以输入P.钥匙。

    P.
    Linux FDISK列表来自控制台的分区
  5. 然后,使用N键创建新分区。

    N
  6. 然后提示您会询问您是否希望制作主要或扩展分区。选择P.(基本的)。

    P.
    Linux fdisk设置分区类型
  7. 选择分区号码。默认为1,对于第一个分区,所以使用它。

    1
    Linux FDISK设置分区编号
  8. 然后,它会要求您选择第一部门。不要太担心这个问题。只是按下进入默认。

    Linux Fdisk设置了第一部门
  9. 下一个提示将让您选择分区的大小。您可以在Megabytes(M)或Gigabytes(G)中指定分区大小。假设您正在设置一个驱动器来安装Linux,512米是启动分区的好地方。

    + 512米
    Linux fdisk设置分区大小
  10. 一旦完成,您可以再次查看新分区P.钥匙。

    Linux FDISK分区创建
  11. 如果您计划使用新分区作为引导分区,则需要切换可引导标志。通过按下一种。然后,如果已询问,请输入分区编号。如果这是您驱动器上唯一的一个,那就是1

    一种
    1
  12. 现在,您可以在驱动器上创建其他分区。首先进入N再次。

  13. 1再次用于主分区。

  14. 使用默认分区编号。如果你开始新鲜,那就是2

  15. 也使用默认的第一扇区。它将在前一个分区后立即开始。按进入接着说。

  16. 再一次,选择驱动器的大小。如果您要使用单独的家庭分区设置根分区,那么像+ 20g的东西会很好。如果你想占据其余的空间,才会击中进入

    + 20g
    Linux fdisk创建剩下的分区
  17. 对您要在驱动器上创建的每个新分区重复这些步骤。完成后,按W.将分区表写入驱动器。

    W.
  18. 现在,您可以使用MKFS命令来格式化分区以进行使用。对于大多数Linux系统,ext4文件系统是您想要的,因此您可以运行以下一组命令来设置分区。这假设您正在处理/ dev / sda,并且您设置了单独的Home和Root Partitions。

    sudo mkfs.ext4 / dev / sda1
    sudo mkfs.ext4 / dev / sda2
    sudo mkfs.ext4 / dev / sda3
    Linux格式分区
  19. 您的新分区和格式化的驱动器已准备好使用。如果您一直在关注,则可以安装并运行Linux发行版像拱门Linux.关闭您刚刚创建的分区。

fdisk概要概要

以下是FDISK及其选项和功能的技术细分:

fdisk [-u] [-b地区][-C苏斯] [-H] [-S.教派]设备

fdisk -l [-u] [设备 ...]

fdisks.划分 ...

FDISK -V.

fdisk和分区

硬盘可以分为一个或多个名为的逻辑磁盘分区。该司将描述分区表在磁盘的扇区0中找到。

在BSD世界中,一个人谈论“磁盘片”和“DiskLabel”。

Linux至少需要一个分区,即root文件系统。它可以使用交换文件和/或交换分区,但后者更有效。因此,通常一个人将希望第二个Linux分区专用为交换分区。

在英特尔兼容的硬件上,BIOS.该系统的靴子通常只能访问磁盘的前1024个气缸。出于这个原因,大盘的人常常创造第三个分区,只有几MB大,通常安装在/靴子,存储内核图像和在引导时所需的一些辅助文件,以确保BIOS访问此内容。

可能存在安全性,易于管理和备份或测试的原因,使用超过最小分区数。

fdisk如何工作

fdisk.(以第一种调用形式)是用于创建和操作分区表的菜单驱动程序。它理解DOS型分区表和BSD或SUN型DiskLabels。

设备通常是以下之一:

  • / dev / hda / dev / hdb / dev / sda / dev / sdb
  • (/ dev / hd [a-h]用于IDE磁盘,/ dev / sd [a-p]为scsi磁盘,/ dev / ed [a-d]用于eSDI磁盘,/ dev / xd [ab] for xt磁盘)。

(设备名称指的是整个磁盘。)

划分是A.设备名称后跟分区编号。例如,/ dev / hda1是系统中第一个IDE硬盘上的第一个分区。磁盘最多可包含15个分区。也可以看看/usr/src/linux/documentation/devices.txt.

BSD / Sun型DiskLabel

一个BSD/SUN类型的磁盘标签可以描述8个分区,其中的第三个应该是一个“整个磁盘”分区。不要在柱面0处启动一个实际使用其第一个扇区的分区(如交换分区),因为这会破坏磁盘标签。

rix / sgi-type disklabel

IRIX / SGI类型DiskLabel可以描述16个分区,其中第十一应该是整个“卷”分区,而第九则应该标记为“卷头”。卷头还将覆盖分区表,即,它以块零点开始,默认超过五个气缸。卷头中的剩余空间可以由标题目录条目使用。

没有分区可以与卷头重叠。此外,也不会更改其类型并在其上制作一些文件系统,因为您将丢失分区表。仅在使用Linux上使用Linux时使用此类标签或Linux下的IRIX / SGI磁盘。

DOS型分区表

DOS类型分区表可以描述无限数量的分区。在扇区0中,有4个分区描述的空间(称为“主要”)。其中一个可能是扩展分区;这是一个包含逻辑分区的框,其中包含在相应的逻辑分区的链接列表中找到的描述符。四个主要分区,存在或不,获取数字1-4。逻辑分区从5开始编号。

在DOS型分区表中,每个分区的起始偏移和每个分区的大小以两种方式存储:作为绝对的扇区数(以32位给出)和汽缸/头/扇区三(10 + 8 + 6)比特)。前者是好的;使用512字节的部门,这将最多2 TB。后者有两个不同的问题。首先,只有当已知每条轨道的扇区数和扇区的数量时,可以填充这些C / H / S字段。

其次,即使我们知道这些数字应该是什么,也是可以使用的24位不足。DOS仅使用C / H / s,视窗使用两者,Linux从未使用C / H / s。

磁盘几何

如果可能的话,fdisk.将自动获取磁盘几何。这不一定是物理磁盘几何形状(实际上,现代磁盘没有真正有物理几何形状,当然不是可以在简单的汽缸/头/扇区形式中描述的东西),但是是MS-DOS使用的磁盘几何形状对于分区表。

通常,默认情况下一切顺利,如果Linux是磁盘上唯一的系统,则没有问题。但是,如果磁盘必须与其他操作系统共享,则允许来自另一个操作系统的FDISK通常是一个好主意,使至少一个分区。当Linux靴子时,它看着分区表并试图推断出与其他系统良好合作所需的(假)几何。

一致性检查

无论何时打印分区表,都会对分区表项执行一致性检查。该检查检查物理和逻辑的开始和结束点是否相同,并且分区的开始和结束都在柱面边界上(第一个分区除外)。

一些版本的MS-DOS创建一个未在汽缸边界上开始的第一分区,但是在第一缸的扇区2上。在圆柱1中开始的分区不能在汽缸边界开始,但除非您的机器上有OS / 2,否则这不太可能导致困难。

在退出分区表已更新后,执行同步()和blkrrpart ioctl()(从磁盘的重读分区表)。很久以前,它曾经在使用FDISK之后重启。我认为这不再是这种情况;实际上,重新启动太快可能导致丢失尚未书面的数据。请注意,内核和磁盘硬件都可以缓冲数据。

DOS 6.x警告

DOS 6.x格式命令在分区的数据区域的第一扇区中查找一些信息,并将此信息视为比分区表中的信息更可靠。DOS格式期望DOS FDISK在发生尺寸更改时清除分区数据区域的第一个512字节。即使给出/ U标志,DOS格式也会查看此额外信息 - 我们将此以DOS格式和DOS FDISK的错误。

底线是,如果使用cfdisk或fdisk来更改DOS分区表条目的大小,那么您还必须使用DD.在使用DOS格式以格式化分区之前,将该分区的前512个字节为零。例如,如果您使用的是cfdisk来制作/ dev / hda1的dos分区表条目,那么(退出fdisk或cfdisk并重新启动Linux后,将使用该命令“DD If = /开/零的= / dev / hda1 bs = 512 count = 1“到零前512字节的分区。

非常谨慎如果你使用DD.命令,因为一个小字拼错石可以使磁盘上的所有数据无用。

有关最佳结果,您应该始终使用特定于操作系统的分区表程序。例如,您应该使用DOS FDISK程序和DOS分区Linux.使用Linux FDISK或Linux CFDisk程序分区。

fdisk选项

-B.地区指定磁盘的扇区大小。有效值为512,1024或2048.(最近的内核知道扇区大小。仅在旧内核上使用这一点或覆盖内核的想法。)

-C苏斯指定磁盘的圆柱数。我们不知道为什么任何人都想这样做。

-H指定磁盘的头部数。(当然不是物理号码,而是用于分区表的数字。)合理的值是255和16。

-教派指定磁盘的每轨关的扇区数。(当然不是物理号码,而是用于分区表的数字。)合理的值是63。

- l列出指定设备的分区表,然后退出。如果没有给出设备,那么那些提到的那些/ proc / partitions(如果存在)使用。

- u列出分区表时,在扇区代替圆柱体中给出大小。

- s划分:尺寸分区(在块中)打印在标准输出上。

- v打印版本号fdisk.计划和退出。

此页面是否有帮助?