Imported upstream version 1.5
[manpages-zh.git] / src / man8 / fdisk.8
blobd71752cef7b8de9c9f926c9a968b9e2b23f0ed95
1 .\"; 中文版版权所有 soloman, Laser www.linuxforum.net 2000
3 .TH FDISK 8 "11 June 1998" "Linux 2.0" "Linux程序员手册"
4 .SH NAME
5 fdisk \- Linux分区表操作工具软件
6 .SH 总览
7 .BI "fdisk [\-u]" 设备名
8 .sp
9 .BI "fdisk \-l [\-u] [" "设备名 ..." ]
10 .sp
11 .BI "fdisk \-s" "分区 ..."
12 .sp
13 .BI "fdisk \-v 
14 .SH 描述
15 硬盘可以被分成一个或多个逻辑磁盘,称为
16 .IR 分区。
17 这些分区信息都存放在硬盘0扇区的
18 .IR "分区表"
19 中。
20 .PP     
21 在 BSD 风格中,分区被称为“磁盘片”和“磁盘标签”
22 .PP
23 Linux 至少需要一个分区,即用做它的 root 文件系统。
24 Linux 可以使用交换文件和/或交换分区,交换分区更有效。
25 因此,通常用户会创建第二个 Linux 分区供交换分区使用。
26 在 Intel 兼容的硬件上,启动系统的 BIOS 往往只能访问 1024 柱面之前的硬盘。
27 因此,使用大硬盘的用户通常创建第三个只有几兆大小的小分区,
28 通常用来装配在
29 .IR /boot
30 ,用来存放内核映象和一些其它启动时需要的附属文件,
31 所以应确保此分区必须是在BIOS可访问的部分。
32 出于安全方面的考虑、管理方面的原因、备份的需要或为了某些测试,
33 也可以将一个硬盘分成更多的分区使用。
34 .PP
35 .B fdisk
36 (以第一种形式调用)是一个以菜单问答形式出现的用来创建和修改分区的程序。
37 它可以辩认 DOS 类型的分区表和 BSD 或 SUN 类型的磁盘标签。
38 .PP
39 .I 设备
40 通常是下列之一:
41 .br
42 .nf
43 .RS
44                 /dev/hda
45                 /dev/hdb
46                 /dev/sda
47                 /dev/sdb
48 .RE
49 .fi             
50 (/dev/hd[a-h] 指 IDE 硬盘,/dev/sd[a-p] 指 SCSI 硬盘,
51 /dev/ed[a-d] 指 ESDI 硬盘,/dev/xd[ab] 指 XT 硬盘)。
52 设备名指整个硬盘设备。
54 .I 分区
55 是在
56 .I 设备名
57 后跟一个分区号。例如:
58 .B /dev/hda1
59 是指系统在第一个 IDE 硬盘上的第一个分区。
60 IDE 硬盘可以最多创建 63 个分区,SCSI 可以创建 15 个。
61 又见
62 .IR /usr/src/linux/Documnetation/devices.txt 。
63 .PP
64 一个 BSD/SUN 风格的磁盘标签可以描述 8 个分区,
65 其中第三个应该是“整个磁盘”分区。
66 不要在零柱面使用那些的确使用其第一扇区的分区,(比如交换分区)
67 因为这将损坏磁盘标签。
68 .PP
69 一个 IRIX/SGI 风格的磁盘标签可以描述 16 个分区,
70 其中第十一个应该是完整“卷标”分区,
71 而第九个应该被标成“卷标头”。
72 卷标头将覆盖分区表,即,它从零块开始并缺省时延伸 5 个柱面。
73 卷标头中余下的空间可以用来存放头部目录记录信息。
74 不要有任何分区与此卷标头重叠。
75 同样,也不要改变它的类形和在其中创建任何文件系统,
76 因为这样做将丢失分区表信息。
77 只有当将 Linux 安装在 IRIX/SGI 机器上或
78 在 Linux 中使用 IRIX/SGI 磁盘时才会使用这种类形的标签。
79 .PP
80 一个 DOS 风格的分区表可以描述无限的分区。
81 零扇区用来存放 4 个分区(称为主分区)的描述信息。
82 其中可以有一个分区是扩展分区;此扩展分区也就是存储各逻辑分区地方,
83 是一个在组成链表的扇区里存放的描述符,每个描述符都是一个对应分区的开头.
84 四个主分区,不管是否存在,都用数字 1-4 编号,而逻辑分区以 5 开始。
85 .PP
86 在 DOS 风格的分区表中,
87 开始地址偏移量和每个分区的大小是以两种不同的方式来存放的:
88 以扇区数的绝对值来描述(占 32 位)
89 和以柱面、磁头、扇区三个一组的形式(占 10+8+6 个位)来描述。
90 前一种描述很好 - 如果每扇区 512 个字节的情况,这种方式可描述到 2TB 的大小。
91 后一种方式有两个不同的问题。
92 第一个是这种 C/H/S 方式必须是在磁头数和每磁道扇区数都已知的情况下才能使用。
93 第二个是就算我们已经知道了这些数字,而只用 24 位来描述这些信息也是不够的。
94 DOS 只使用这种 C/H/S 的方式,Windows 则两个都用,Linux 则不使用 C/H/S 的方式。
95 .PP
96 如果可能,
97 .B fdisk
98 会自动获得磁盘的几何结构。这不一定是磁盘的物理结构(当然,现在的
99 磁盘没有真正的物理结构,同样也不能以简单的柱面/磁头/扇区的形式来描述),
100 而是 MS-DOS 用来供分区表使用的几何结构。
102 通常,缺省时这些都将工作得很好,
103 而且,如果磁盘上只有一个 Linux 操作系统时也不会有任何问题。
104 然而,如果磁盘上还有其它操作系统,
105 那么,用其它操作系统的 fdisk 来生成其自身使用的至少一个分区是比较好的选择。
106 当Linux启动的时侯,它会扫描分区表,
107 并由此推出和其它共存操作系统友好合作所需的(伪)几何结构。
109 当打印一个分区表时,系统会对分区表进行一次一至性检查。
110 这些检查会验证磁盘几何结构和物理地址的开始、结束、指向和标识,
111 同时在柱面的边界检查分区的开始和结束。(除了第一个分区)
113 一些版本的 MS-DOS 在创建第一个分区时并不是从柱面边界的开始处,
114 而是从第一柱面的第 2 扇区处开始。
115 从柱面 1 开始的分区不能直接从柱面边界开始,但这未必会造成困难,
116 除非你在你的机器上安装了 OS/2 操作系统。
118 当执行了对分区表的更新后退出时,
119 程序会运行一次 sync() 和 BLKRRPART ioct1()
120 (从磁盘上重读分区表信息)。
121 以前,在使用完 fdisk 后需要重启系统。我认为现在不需要这样了 --
122 太快的重起可能导致未写入磁盘的数据丢失。
123 注意,内核和磁盘硬件都可能缓存数据。
125 .SH "DOS6.x WARNING"
127 DOS6.x 的 FORMAT 命令会在分区的第一扇区的数据区查找一些信息,
128 并认为这些信息比分区表中的信息更可靠。
129 DOS 的 FORMAT 命令认为 DOS 的 FDISK 命令会在分区变化时
130 自动清除分区数据区的前 512 字节区域。
131 DOS 的 FORMAT 将查看这些额外的信息,
132 甚至在给出了 /U 这个参数后也是如此。
133 我们认为这是 DOS FORMAT 和 DOS FDISK 的臭虫。
135 如果你使用 cfdisk 或 fdisk 更改了 DOS 分区表的条目,
136 你必须同时使用
137 .B dd
138 命令将该分区的前512个字节清零,
139 之后,你才能使用 DOS 的 FORMAT 命令对这个分区进行格式化。
140 例如:如果你使用 cfdisk 去创建一个 DOS 分区表项目,
141 即分区 /dev/hda1,然后
142 (在退出 fdisk 或 cfdisk 后重启 Linux 使分区表合法化)
143 你就有必要使用如下命令
144 “dd if=/dev/ero of=/dev/hda1 bs=512 count=1”
145 来将分区的前 512 个字节清零。
147 当你使用
148 .B dd
149 命令时请
150 .B 务必万分小心 ,
151 由于任何小的打印错误都将造成磁盘数据的失效。
153 最好你还是使用由操作系统指定的分区工具软件。
154 例如,当你创建 DOS 分区时应使用 DOS FDISK,
155 而创建 Linux 分区时则使用 Linux 的 fdisk 或 cfdisk。
157 .SH 选项
159 .B \-v
160 打印
161 .B fdisk
162 的版本信息并退出.
164 .B \-l
165 列出指定设备的分区表信息并退出。
166 如果没有给出设备,那么使用那些在
167 .I /proc/partitions
168 (如果存在)提到的.
170 .B \-u
171 以扇区数而不是以柱面数的形式显示分区表中各分区的信息.
172 .BI "\-s " 分区
173 将分区的
174 .I 大小
175 (单位为块)信息输出到标准输出
176 .SH 臭虫
177 在 Linux 中有很多版本的 *fdisk 类程序。
178 每一个都有自己的强项和缺点。分别试着使用
179 .BR cfdisk ,
180 .BR fdisk ,
181 .BR sfdisk .
182 (特别是,
183 .B cfdisk
184 是一个漂亮的程序,它只接受最严谨的分区表,
185 而且它能生成高质量的分区表。
186 如果可能,你最好使用这个程序。
187 .B fdisk
188 是一个有很多臭虫的分区工具软件,
189 它所做的操作是模糊不清的,通常在碰巧的情况下它才会正常的运行。
190 它唯一值得使用的地方是它对 BSD 的磁盘标签和非 DOS 的分区表有所支持,
191 尽量少用这个程序。
192 .B sfdisk
193 是一个专为黑客提供的程序,它的用户界面很不友善,
194 但它更精确,也比 fdisk 和 cfdisk 更有效。
195 另外,它只能以非交互的方式运行。
197 IRIX/SGI 风格的磁盘标签不再被当前的内核所支持,
198 IRIX/SGI 头目录同样也不是完全支持。
199 .PP             
200 选项“dump partition table to file”不可用
202 .SH "[中文版维护人]"
203 .B 所罗门 <solomen@email.com.cn>
204 .SH "[中文版最新更新]"
205 2000/12/04
206 .SH "[中国 Linux 论坛 man 手册页翻译计划]"
207 .BI http://cmpp.linuxforum.net