Manpages

NAME

fdisk - Linux分 区 表 操 作 工 具 软 件

总 览

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”不 可 用

[中 文 版 维 护 人 ]

所 罗 门 <solomen [AT] email.cn>

[中 文 版 最 新 更 新 ]

2000/12/04

[中 国 Linux 论 坛 man 手 册 页 翻 译 计 划 ]

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh