1FIXPARTS(8)                     FixParts Manual                    FIXPARTS(8)
2
3
4

NAME

6       fixparts - MBR partition table repair utility
7

SYNOPSIS

9       fixparts device
10
11

DESCRIPTION

13       FixParts  (aka fixparts) is a text-mode menu-driven program for repair‐
14       ing certain types of problems with Master Boot Record  (MBR)  partition
15       tables.  The  program has three design goals, although a few additional
16       features are supported, as well:
17
18
19       *      It can remove stray GUID Partition Table (GPT) data,  which  can
20              be  left  behind  on a disk that was once used as a GPT disk but
21              then incompletely converted to the more common (as of 2011)  MBR
22              form.
23
24
25       *      It can repair mis-sized extended partitions -- either partitions
26              that extend beyond the physical end of the disk or that  overlap
27              with  nearby  primary partitions. FixParts is designed in such a
28              way that this type of repair occurs automatically,  so  if  it's
29              the  only problem with your disk, you can launch the program and
30              then immediately save the  partition  table,  making  no  manual
31              changes, and the program will fix the problem.
32
33
34       *      You  can  change  primary  partitions into logical partitions or
35              vice-versa, within constraints imposed by the  MBR  data  struc‐
36              tures.
37
38
39       Additional  features include the ability to change partition type codes
40       or boot/active flags, to delete partitions, and to recompute  CHS  val‐
41       ues.  With the possible exception of recomputing CHS values, these sec‐
42       ondary features are better  performed  with  fdisk,  because  fixparts'
43       design  means  that  it's likely to alter partition numbering even when
44       such changes are not requested.
45
46       The fixparts program employs  a  user  interface  similar  to  that  of
47       Linux's fdisk, but fixparts is much more specialized. Most importantly,
48       you can't create new partitions with fixparts, although you can  change
49       primary/logical assignment.
50
51       In the MBR scheme, partitions come in three varieties:
52
53
54       primary
55              These  partitions  are  defined  in the first sector of the hard
56              disk and are limited in number to four. Some OSes, such as  Win‐
57              dows and FreeBSD, must boot from a primary partition.
58
59
60       extended
61              Extended  partitions  are  specialized  primary partitions. They
62              serve as holding areas for logical partitions.
63
64
65       logical
66              A disk can contain an arbitrary  number  of  logical  partitions
67              (fixparts,  however, imposes a limit of 124 logical partitions).
68              All the logical partitions reside inside a single extended  par‐
69              tition, and are defined using a linked-list data structure. This
70              fact means that every logical partition must be preceded  by  at
71              least  one sector of unallocated space to hold its defining data
72              structure (an Extended Boot Record, or EBR).
73
74
75       These distinctions mean that primary and logical partitions  cannot  be
76       arbitrarily  interspersed. A disk can contain one to three primary par‐
77       titions, a block of one or more logical partitions, and  one  to  three
78       more  primary  partitions (for a total of three primary partitions, not
79       counting the extended partition). Primary partitions may not  be  sand‐
80       wiched between logical partitions, since this would mean placing a pri‐
81       mary partition within an extended partition (which is just  a  specific
82       type of primary partition).
83
84       Unlike  most  disk utilities, fixparts' user interface ignores extended
85       partitions. Internally, the program discards  the  information  on  the
86       original  extended partition and, when you tell it to save its changes,
87       it generates a new extended partition to contain the then-defined logi‐
88       cal  partitions. This is done because most of the repairs and manipula‐
89       tions the tool performs require generating a fresh extended  partition,
90       so keeping the original in the user interface would only be a complica‐
91       tion.
92
93       Another unusual feature of fixparts' user interface is  that  partition
94       numbers  do  not  necessarily correlate with primary/logical status. In
95       most  utilities,  partitions  1-4  correspond  to  primary  partitions,
96       whereas  partitions  5  and up are logical partitions. In fixparts, any
97       partition number may be assigned primary or logical status, so long  as
98       the  rules  for layout described earlier are obeyed. When the partition
99       table is saved, partitions will  be  assigned  appropriately  and  then
100       tools  such  as  the Linux kernel and fdisk will give them conventional
101       numbers.
102
103       When it first starts, fixparts performs a scan for  GPT  data.  If  the
104       disk  looks  like  a conventional GPT disk, fixparts refuses to run. If
105       the disk appears to be a conventional MBR disk but GPT  signatures  are
106       present  in  the GPT primary or secondary header areas, fixparts offers
107       to delete this extraneous data. If you tell it to do  so,  the  program
108       immediately  wipes  the  GPT header or headers. (If only one header was
109       found, only that one header will be erased, to  minimize  the  risk  of
110       damaging  a  boot loader or other data that might have overwritten just
111       one of the GPT headers.)
112
113       With the exception of optionally erasing  leftover  GPT  data  when  it
114       first  starts,  fixparts  keeps  all  changes  in memory until the user
115       writes changes with the w command. Thus, you can adjust your partitions
116       in the user interface and abort those changes by typing q to quit with‐
117       out saving changes.
118
119

OPTIONS

121       The fixparts utility supports no command-line options, except for spec‐
122       ification of the target device.
123
124       Most  interactions  with  fixparts occur with its interactive text-mode
125       menu. Specific functions are:
126
127
128       a      Toggle the active/boot flag. This flag is required by some  boot
129              loaders and OSes.
130
131
132
133       c      Recompute  the  cylinder/head/sector (CHS) values for all parti‐
134              tions. CHS addressing mode is largely obsolete,  but  some  OSes
135              and  utilities  complain if they don't like the CHS values. Note
136              that fixparts' CHS values are likely to be  incorrect  on  disks
137              smaller than about 8 GiB except on Linux.
138
139
140       l      Change  a  partition's  status to logical. This option will only
141              work if the current partition layout  supports  such  a  change.
142              Note  that  if  changing a partition's status in this way is not
143              currently possible, making some other change may make it  possi‐
144              ble. For instance, omitting a partition that precedes the target
145              partition may enable converting a partition to logical  form  if
146              there had been no free sectors between the two partitions.
147
148
149       o      Omit  a partition. Once omitted, the partition will still appear
150              in the fixparts partition list, but it will be flagged as  omit‐
151              ted.  You can subsequently convert it to primary or logical form
152              with the r or l  commands,  respectively.  When  you  save  your
153              changes with w, though, the partition will be lost.
154
155
156       p      Display  basic partition summary data. This includes partition's
157              number, the boot/active flag's status, starting and ending  sec‐
158              tor  numbers, primary/logical/omitted status, whether or not the
159              partition may be converted to logical form, and the  partition's
160              MBR types code.
161
162
163       q      Quit  from  the  program  without saving your changes.  Use this
164              option if you just wanted to view information or if you  make  a
165              mistake and want to back out of all your changes.
166
167
168       r      Change  a  partition's  status to primary. This option will only
169              work if the current partition layout  supports  such  a  change.
170              Note  that  every  partition  can theoretically become a primary
171              partition, although in some configurations, making  this  change
172              will  require  omitting some partitions.  If fixparts refuses to
173              allow changing a partition to primary, you may need  to  convert
174              other partitions to logical form or omit them entirely.
175
176
177       s      Sort  partition  entries.  This  option orders partitions in the
178              display to match their on-disk positions, which can make  under‐
179              standing  the  disk layout easier in some cases. This option has
180              no effect on the ultimate ordering of logical partitions,  which
181              are  sorted  before being saved. The order of primary partitions
182              in the final saved partition  table  may  be  affected  by  this
183              option.  In  both cases, as already noted, the partition numbers
184              displayed by fixparts may not be the same as those used  by  the
185              kernel or displayed by other partitioning tools.
186
187
188       t      Change  a partition's type code. You enter the type code using a
189              one-byte hexadecimal number.
190
191
192       w      Write data. Use this command to save your changes and exit  from
193              the program.
194
195
196       ?      Print  the  menu.  Type  this command (or any other unrecognized
197              command) to see a summary of available options.
198
199

BUGS

201       As of March 2014 (version 0.8.10), fixparts should be  considered  beta
202       software. Known bugs and limitations include:
203
204
205       *      The program compiles correctly only on Linux, FreeBSD, Mac OS X,
206              and Windows.  Linux versions for x86-64 (64-bit), x86  (32-bit),
207              and  PowerPC  (32-bit) have been tested, with the x86-64 version
208              having seen the most testing. Under FreeBSD,  32-bit  (x86)  and
209              64-bit  (x86-64) versions have been tested. Only 32-bit versions
210              for Mac OS X and Windows have been tested.
211
212
213       *      The FreeBSD version of the program can't write  changes  to  the
214              partition  table to a disk when existing partitions on that disk
215              are mounted. (The same problem exists with  many  other  FreeBSD
216              utilities,  such  as gpt, fdisk, and dd.) This limitation can be
217              overcome by typing sysctl  kern.geom.debugflags=16  at  a  shell
218              prompt.
219
220
221       *      The program can load only up to 128 partitions (4 primary parti‐
222              tions and 124 logical partitions). This limit can be  raised  by
223              changing the #define MAX_MBR_PARTS line in the basicmbr.h source
224              code file and recompiling.
225
226
227       *      The program can read partitions only if the disk has correct LBA
228              partition  descriptors.  These  descriptors should be present on
229              any disk over 8 GiB in size or on smaller disks partitioned with
230              any but very ancient software.
231
232
233       *      The  program makes no effort to preserve partition numbers. This
234              can have consequences for boot loaders and for mounting filesys‐
235              tems  via  /etc/fstab. It may be necessary to edit configuration
236              files or even to re-install your boot loader.
237
238
239       *
240
241              The program may change the order of partitions in the  partition
242              table.
243
244

AUTHORS

246       Primary author: Roderick W. Smith (rodsmith@rodsbooks.com)
247
248       Contributors:
249
250       * Yves Blusseau (1otnwmz02@sneakemail.com)
251
252       * David Hubbard (david.c.hubbard@gmail.com)
253
254       * Justin Maggard (justin.maggard@netgear.com)
255
256       * Dwight Schauer (dschauer@ti.com)
257
258       * Florian Zumbiehl (florz@florz.de)
259
260
261

SEE ALSO

263       cfdisk  (8),  cgdisk  (8),  fdisk (8), mkfs (8), parted (8), sfdisk (8)
264       gdisk (8) sgdisk (8)
265
266       http://en.wikipedia.org/wiki/Master_boot_record
267
268       http://www.rodsbooks.com/fixparts/
269
270

AVAILABILITY

272       The fixparts command is part of the GPT fdisk package and is  available
273       from Rod Smith.
274
275
276
277Roderick W. Smith                   0.8.10                         FIXPARTS(8)
Impressum