总览

fdisk [-u]设备名

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

fdisk -s分区 ...

fdisk -v

描述

硬盘可以被分成一个或多个逻辑磁盘,称为 分区。 这些分区信息都存放在硬盘0扇区的 分区表 中。

在 BSD 风格中,分区被称为“磁盘片”和“磁盘标签”

Linux 至少需要一个分区,即用做它的 root 文件系统。 Linux 可以使用交换文件和/或交换分区,交换分区更有效。因此,通常用户会创建第二个 Linux 分区供交换分区使用。在 Intel 兼容的硬件上,启动系统的 BIOS 往往只能访问 1024 柱面之前的硬盘。因此,使用大硬盘的用户通常创建第三个只有几兆大小的小分区,通常用来装配在 /boot ,用来存放内核映象和一些其它启动时需要的附属文件,所以应确保此分区必须是在BIOS可访问的部分。出于安全方面的考虑、管理方面的原因、备份的需要或为了某些测试,也可以将一个硬盘分成更多的分区使用。

fdisk (以第一种形式调用)是一个以菜单问答形式出现的用来创建和修改分区的程序。它可以辩认 DOS 类型的分区表和 BSD 或 SUN 类型的磁盘标签。

设备 通常是下列之一:

/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] 指 XT 硬盘)。设备名指整个硬盘设备。

分区 是在 设备名 后跟一个分区号。例如: /dev/hda1 是指系统在第一个 IDE 硬盘上的第一个分区。 IDE 硬盘可以最多创建 63 个分区,SCSI 可以创建 15 个。又见 /usr/src/linux/Documnetation/devices.txt

一个 BSD/SUN 风格的磁盘标签可以描述 8 个分区,其中第三个应该是“整个磁盘”分区。不要在零柱面使用那些的确使用其第一扇区的分区,(比如交换分区)因为这将损坏磁盘标签。

一个 IRIX/SGI 风格的磁盘标签可以描述 16 个分区,其中第十一个应该是完整“卷标”分区,而第九个应该被标成“卷标头”。卷标头将覆盖分区表,即,它从零块开始并缺省时延伸 5 个柱面。卷标头中余下的空间可以用来存放头部目录记录信息。不要有任何分区与此卷标头重叠。同样,也不要改变它的类形和在其中创建任何文件系统,因为这样做将丢失分区表信息。只有当将 Linux 安装在 IRIX/SGI 机器上或在 Linux 中使用 IRIX/SGI 磁盘时才会使用这种类形的标签。

一个 DOS 风格的分区表可以描述无限的分区。零扇区用来存放 4 个分区(称为主分区)的描述信息。其中可以有一个分区是扩展分区;此扩展分区也就是存储各逻辑分区地方,是一个在组成链表的扇区里存放的描述符,每个描述符都是一个对应分区的开头.四个主分区,不管是否存在,都用数字 1-4 编号,而逻辑分区以 5 开始。

在 DOS 风格的分区表中,开始地址偏移量和每个分区的大小是以两种不同的方式来存放的:以扇区数的绝对值来描述(占 32 位)和以柱面、磁头、扇区三个一组的形式(占 10+8+6 个位)来描述。前一种描述很好 - 如果每扇区 512 个字节的情况,这种方式可描述到 2TB 的大小。后一种方式有两个不同的问题。第一个是这种 C/H/S 方式必须是在磁头数和每磁道扇区数都已知的情况下才能使用。第二个是就算我们已经知道了这些数字,而只用 24 位来描述这些信息也是不够的。 DOS 只使用这种 C/H/S 的方式,Windows 则两个都用,Linux 则不使用 C/H/S 的方式。

如果可能, fdisk 会自动获得磁盘的几何结构。这不一定是磁盘的物理结构(当然,现在的磁盘没有真正的物理结构,同样也不能以简单的柱面/磁头/扇区的形式来描述),而是 MS-DOS 用来供分区表使用的几何结构。

通常,缺省时这些都将工作得很好,而且,如果磁盘上只有一个 Linux 操作系统时也不会有任何问题。然而,如果磁盘上还有其它操作系统,那么,用其它操作系统的 fdisk 来生成其自身使用的至少一个分区是比较好的选择。当Linux启动的时侯,它会扫描分区表,并由此推出和其它共存操作系统友好合作所需的(伪)几何结构。

当打印一个分区表时,系统会对分区表进行一次一至性检查。这些检查会验证磁盘几何结构和物理地址的开始、结束、指向和标识,同时在柱面的边界检查分区的开始和结束。(除了第一个分区)

一些版本的 MS-DOS 在创建第一个分区时并不是从柱面边界的开始处,而是从第一柱面的第 2 扇区处开始。从柱面 1 开始的分区不能直接从柱面边界开始,但这未必会造成困难,除非你在你的机器上安装了 OS/2 操作系统。

当执行了对分区表的更新后退出时,程序会运行一次 sync() 和 BLKRRPART ioct1() (从磁盘上重读分区表信息)。以前,在使用完 fdisk 后需要重启系统。我认为现在不需要这样了 -- 太快的重起可能导致未写入磁盘的数据丢失。注意,内核和磁盘硬件都可能缓存数据。

DOS6.x WARNING

DOS6.x 的 FORMAT 命令会在分区的第一扇区的数据区查找一些信息,并认为这些信息比分区表中的信息更可靠。 DOS 的 FORMAT 命令认为 DOS 的 FDISK 命令会在分区变化时自动清除分区数据区的前 512 字节区域。 DOS 的 FORMAT 将查看这些额外的信息,甚至在给出了 /U 这个参数后也是如此。我们认为这是 DOS FORMAT 和 DOS FDISK 的臭虫。

如果你使用 cfdisk 或 fdisk 更改了 DOS 分区表的条目,你必须同时使用 dd 命令将该分区的前512个字节清零,之后,你才能使用 DOS 的 FORMAT 命令对这个分区进行格式化。例如:如果你使用 cfdisk 去创建一个 DOS 分区表项目,即分区 /dev/hda1,然后(在退出 fdisk 或 cfdisk 后重启 Linux 使分区表合法化)你就有必要使用如下命令 “dd if=/dev/ero of=/dev/hda1 bs=512 count=1” 来将分区的前 512 个字节清零。

当你使用 dd 命令时请 务必万分小心 , 由于任何小的打印错误都将造成磁盘数据的失效。

最好你还是使用由操作系统指定的分区工具软件。例如,当你创建 DOS 分区时应使用 DOS FDISK,而创建 Linux 分区时则使用 Linux 的 fdisk 或 cfdisk。

选项

-v
打印 fdisk 的版本信息并退出.
-l
列出指定设备的分区表信息并退出。如果没有给出设备,那么使用那些在 /proc/partitions (如果存在)提到的.
-u
以扇区数而不是以柱面数的形式显示分区表中各分区的信息. -s 分区 将分区的 大小 (单位为块)信息输出到标准输出

臭虫

在 Linux 中有很多版本的 *fdisk 类程序。每一个都有自己的强项和缺点。分别试着使用 cfdiskfdisksfdisk. (特别是, cfdisk 是一个漂亮的程序,它只接受最严谨的分区表,而且它能生成高质量的分区表。如果可能,你最好使用这个程序。 fdisk 是一个有很多臭虫的分区工具软件,它所做的操作是模糊不清的,通常在碰巧的情况下它才会正常的运行。它唯一值得使用的地方是它对 BSD 的磁盘标签和非 DOS 的分区表有所支持,尽量少用这个程序。 sfdisk 是一个专为黑客提供的程序,它的用户界面很不友善,但它更精确,也比 fdisk 和 cfdisk 更有效。另外,它只能以非交互的方式运行。

IRIX/SGI 风格的磁盘标签不再被当前的内核所支持, IRIX/SGI 头目录同样也不是完全支持。

选项“dump partition table to file”不可用

fdisk - Linux分区表操作工具软件的更多相关文章

  1. linux安装常用软件和查询基本信息

                                                                          linux安装常用软件和查询基本信息 1. 安装常用软件 [ ...

  2. Linux负载均衡软件LVS简介

    Linux负载均衡软件LVS LVS集群的体系结构以及特点 1. LVS简介        LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起 ...

  3. linux测速软件speedtest-cli

    linux测速软件: https://github.com/sivel/speedtest-cli 以下是我在gentoo上测的

  4. 第三章 用SDK编译出第一个在Linux下的软件界面

    第三章 用SDK编译出第一个在Linux下的软件界面 先创建一个工程目录“mkdir project1”,进入目录,创建main.cpp文件,编写代码如下: 代码内容暂时可以先不理解,先让程序跑起来再 ...

  5. Linux负载均衡软件LVS之二(安装篇)[转]

    Linux负载均衡软件LVS之二(安装篇) 2011-04-26 16:01:47 标签:lvs安装配置 linux lvs 休闲 linux高可用 原创作品,允许转载,转载时请务必以超链接形式标明文 ...

  6. Windows上模拟Linux环境的软件Cygwin

    Windows上模拟Linux环境的软件Cygwin 2010-10-11 15:19      我要评论(0) 字号:T|T Cygwin是一个用于在Windows上 模拟Linux环境的软件.它可 ...

  7. 总结Linux下的软件安装

    安装软件的最佳实践 虽然我们知道Linux下安装软件有三种方式,分别是源代码安装,rpm包安装和yum安装,但是从可控性和结合自己目前的水平来说,优先选择以下两种方式安装程序. 1,使用rpm包安装 ...

  8. Linux下安装软件命令详解

    ---------------------------------------------------------------- 或许你对于linux还不够了解,但是一旦你步入公司后,你就会发现lin ...

  9. linux下安装软件的常用方法

    在使用Linux系统的过程中,软件包的安装是避免不了的,在Linux下,软件安装程序的种类很多,安装方法也各式各样,(舒适性自然比不上windows :-))不过我们常见的软件包有两种: 1)含有软件 ...

随机推荐

  1. Oracle 12c登陆sys用户的方法

    本机安装过oracle 12c之后,发现用sql plus执行命令conn sys/change_on_install as sysdba; 提示如下图: 后在网上搜索此问题,需要先登陆system账 ...

  2. MCP|XHK|High-density peptide arrays help to identify linear immunogenic B cell epitopes in individuals naturally exposed to malaria infection(高密度肽段阵列有助于在自然暴露于疟疾感染的个体中识别线性免疫原性B细胞表位)

    文献名:High-density peptide arrays help to identify linear immunogenic B cell epitopes in individuals n ...

  3. KSOAP2使用注意点汇总

    注意返回类型,如果是XML格式,使用 1:SoapObject soapObject = (SoapObject) envelope.getResponse(); 2:SoapObject resul ...

  4. 避免picture图片无法删除,提示正在被其他进程使用

    pictureBox1.Image = Image.FromStream(ByteToStream(SetImageToByteArray(cutImgPath))); #region 将文件转换成流 ...

  5. Start and Stop Bitbucket Server

    Starting and stopping Bitbucket Server This page describes the various ways you can start or stop Bi ...

  6. gitlab web端使用

    https://jenkins.io/zh/doc/pipeline/tour/getting-started/ http://www.cnblogs.com/cheng95/p/6542036.ht ...

  7. heapq模块

    该模块提供了堆排序算法的实现.堆是二叉树,最大堆中父节点大于或等于两个子节点,最小堆父节点小于或等于两个子节点. 创建堆 heapq有两种方式创建堆, 一种是使用一个空列表,然后使用heapq.hea ...

  8. Scala_Load csv data to hive via spark2.1_via pass parameters_HiveAllType

    prepare CSV data NT,col_SMALLINT,col_BIGINT,col_INT,col_FLOAT,col_DOUBLE,col_DECIMAL,col_TIMESTAMP,c ...

  9. jquery——解决鼠标移入移出导致盒子不停移动的bug

    使用mouseover().mouseout()时会出现这样一种情况,鼠标快速多次移入移出后这个盒子会在鼠标不动后继续运动 代码如下: <!DOCTYPE html> <html l ...

  10. hdu2069(Coin Change)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2069 Coin Change Time Limit: 1000/1000 MS (Java/Other ...