651 lines
21 KiB
Groff
651 lines
21 KiB
Groff
.\" Copyright 1995 Andries E. Brouwer (aeb@cwi.nl)
|
|
.\" May be distributed under the GNU General Public License
|
|
.\" The `DOS 6.x Warning' was taken from the old fdisk.8, which says
|
|
.\" -- Copyright 1992, 1993 Rickard E. Faith (faith@cs.unc.edu)
|
|
.\" -- May be distributed under the GNU General Public License
|
|
.\" The `DRDOS Warning' was taken from a net post by Stephen Tweedie.
|
|
.\"
|
|
.TH SFDISK 8 "August 2011" "util-linux" "System Administration"
|
|
.SH NAME
|
|
sfdisk \- partition table manipulator for Linux
|
|
.SH SYNOPSIS
|
|
.B sfdisk
|
|
.RB [ options ]
|
|
.I device
|
|
.br
|
|
.B sfdisk \-s
|
|
.RI [ partition ]
|
|
.SH DESCRIPTION
|
|
.B sfdisk
|
|
has four (main) uses: list the size of a partition, list the partitions
|
|
on a device, check the partitions on a device, and \- very dangerous \-
|
|
repartition a device.
|
|
|
|
.B sfdisk
|
|
doesn't understand the GUID Partition Table (GPT) format and it is not
|
|
designed for large partitions. In these cases use the more advanced GNU
|
|
.BR parted (8).
|
|
|
|
Note that
|
|
.B sfdisk
|
|
does not align partitions to block-device I/O limits. This functionality is
|
|
provided by
|
|
.BR fdisk (8).
|
|
|
|
.SS "List sizes"
|
|
.BI "sfdisk \-s " partition
|
|
gives the size of
|
|
.I partition
|
|
in blocks. This may be useful in connection with programs like
|
|
.BR mkswap (8).
|
|
Here
|
|
.I partition
|
|
is usually something like
|
|
.I /dev/hda1
|
|
or
|
|
.IR /dev/sdb12 ,
|
|
but may also be an entire disk, like
|
|
.IR /dev/xda .
|
|
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk \-s /dev/hda9
|
|
81599
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
|
|
If the partition argument is omitted,
|
|
.B sfdisk
|
|
will list the sizes of all block devices, and the total:
|
|
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk \-s
|
|
/dev/hda: 208896
|
|
/dev/hdb: 1025136
|
|
/dev/hdc: 1031063
|
|
/dev/sda: 8877895
|
|
/dev/sdb: 1758927
|
|
total: 12901917 blocks
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
|
|
.SS "List partitions"
|
|
The second type of invocation:
|
|
.BI "sfdisk \-l " device
|
|
will list the partitions on the specified device. If the
|
|
.I device
|
|
argument is omitted, the partitions on all block devices are listed.
|
|
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk \-l /dev/hdc
|
|
|
|
Disk /dev/hdc: 16 heads, 63 sectors, 2045 cylinders
|
|
Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0
|
|
|
|
Device Boot Start End #cyls #blocks Id System
|
|
/dev/hdc1 0+ 406 407\- 205096+ 83 Linux native
|
|
/dev/hdc2 407 813 407 205128 83 Linux native
|
|
/dev/hdc3 814 2044 1231 620424 83 Linux native
|
|
/dev/hdc4 0 \- 0 0 0 Empty
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
|
|
The trailing \- and + signs indicate that rounding has taken place,
|
|
and that the actual value is slightly less or more. To see the
|
|
exact values, ask for a listing with sectors as unit (\fB\-u S\fR).
|
|
|
|
.SS "Check partitions"
|
|
The third type of invocation:
|
|
.BI "sfdisk \-V " device
|
|
will apply various consistency checks to the partition tables on
|
|
.IR device .
|
|
It prints `OK' or complains. The \fB\-V\fR option can be used
|
|
together with \fB\-l\fR. In a shell script one might use
|
|
.BI "sfdisk \-V \-q " device
|
|
which only returns a status.
|
|
|
|
.SS "Create partitions"
|
|
The fourth type of invocation:
|
|
.BI "sfdisk " device
|
|
will cause
|
|
.B sfdisk
|
|
to read the specification for the desired partitioning of
|
|
.I device
|
|
from standard input, and then to change the partition tables
|
|
on that block device. Thus it is possible to use
|
|
.B sfdisk
|
|
from a shell script. When
|
|
.B sfdisk
|
|
determines that its standard input is a terminal, it will be
|
|
conversational; otherwise it will abort on any error.
|
|
.LP
|
|
BE EXTREMELY CAREFUL - ONE TYPING MISTAKE AND ALL YOUR DATA IS LOST
|
|
.LP
|
|
As a precaution, one can save the sectors changed by
|
|
.BR sfdisk :
|
|
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk /dev/hdd \-O hdd-partition-sectors.save
|
|
\&...
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
|
|
.LP
|
|
Then, if you discover that you did something stupid before anything
|
|
else has been written to the block device, it may be possible to recover
|
|
the old situation with:
|
|
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk /dev/hdd \-I hdd-partition-sectors.save
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
|
|
.LP
|
|
(This is not the same as saving the old partition table:
|
|
a readable version of the old partition table can be saved
|
|
using the \fB\-d\fR option. However, if you create logical partitions,
|
|
the sectors describing them are located somewhere on block device,
|
|
possibly on sectors that were not part of the partition table
|
|
before. Thus, the information the \fB\-O\fR option saves
|
|
is not a binary version of the output of \fB\-d\fR.)
|
|
|
|
There are many options.
|
|
|
|
.SH OPTIONS
|
|
.TP
|
|
.BR \-v ", " \-\-version
|
|
Display version information and exit.
|
|
.TP
|
|
.BR \-h ", " \-\-help
|
|
Display help text and exit.
|
|
.TP
|
|
.BR \-T ", " \-\-list\-types
|
|
Print the recognized types (system Id's).
|
|
.TP
|
|
.BR \-s ", " \-\-show\-size
|
|
List the size of a partition.
|
|
.TP
|
|
.BR \-g ", " \-\-show\-geometry
|
|
List the kernel's idea of the geometry of the indicated block device(s).
|
|
.TP
|
|
.BR \-G ", " \-\-show\-pt\-geometry
|
|
List the geometry of the indicated block devices guessed by looking at
|
|
the partition table.
|
|
.TP
|
|
.BR \-l ", " \-\-list
|
|
List the partitions of a device.
|
|
.TP
|
|
.BR \-d ", " \-\-dump
|
|
Dump the partitions of a device in a format that is usable as input
|
|
to \fBsfdisk\fR. For example,
|
|
.br
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk -d /dev/hda > hda.out
|
|
% sfdisk /dev/hda < hda.out
|
|
.if t .ft R
|
|
.fi
|
|
will correct the bad last extended partition that the OS/2
|
|
fdisk creates.
|
|
.TP
|
|
.BR \-V ", " \-\-verify
|
|
Test whether partitions seem correct. (See the third invocation type above.)
|
|
.TP
|
|
.BR \-i ", " \-\-increment
|
|
Number cylinders etc. starting from 1 instead of 0.
|
|
.TP
|
|
.BI \-N " number"
|
|
Change only the single partition indicated. For example:
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk /dev/hdb \-N5
|
|
,,,*
|
|
.if t .ft R
|
|
.fi
|
|
will make the fifth partition on /dev/hdb bootable (`active')
|
|
and change nothing else. (Probably this fifth partition
|
|
is called /dev/hdb5, but you are free to call it something else,
|
|
like `/my_equipment/disks/2/5' or so).
|
|
.TP
|
|
\fB\-A\fR, \fB\-\-activate\fR[=\fIdevice_or_number\fR]
|
|
Switch on the bootable flag.
|
|
.IP
|
|
This option takes an optional argument. When no option argument is given,
|
|
the command will list the partitions that have the bootable flag set
|
|
for the device specified as command argument. For example:
|
|
.IP
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk --activate /dev/sda
|
|
.fi
|
|
.IP
|
|
When a device name is given as option argument, the partitions specified
|
|
as command argument will have the bootable flag switched on.
|
|
Other partitions for the same device will have the bootable flag cleared.
|
|
For example, with the following command the partitions 1 and 4 are set
|
|
to be bootable, while 2 and 3 are cleared:
|
|
.IP
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk --activate=/dev/sda 1 4
|
|
.fi
|
|
.IP
|
|
If only a single partition needs to be activated, then the partition number
|
|
must be given as option argument, and the device as command argument. For example:
|
|
.IP
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk --activate=1 /dev/sda
|
|
.fi
|
|
.IP
|
|
The activate option is turned by default on when the program's invocation name is
|
|
.BR activate .
|
|
.TP
|
|
.BR \-c ", " \-\-id " \fInumber\fR [\fIId\fR]"
|
|
If no \fIId\fR argument given: print the partition Id of the indicated
|
|
partition. If an \fIId\fR argument is present: change the type (Id) of
|
|
the indicated partition to the given value.
|
|
This option has two longer forms, \fB\-\-print\-id\fR and \fB\-\-change\-id\fR.
|
|
For example:
|
|
.br
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk --print-id /dev/hdb 5
|
|
6
|
|
% sfdisk --change-id /dev/hdb 5 83
|
|
OK
|
|
.if t .ft R
|
|
.fi
|
|
first reports that /dev/hdb5 has Id 6, and then changes that into 83.
|
|
.TP
|
|
.BR \-u ", " \-\-unit " \fIletter\fR"
|
|
Interpret the input and show the output in the units specified by
|
|
.IR letter .
|
|
This \fIletter\fR can be one of S, C, B or M, meaning Sectors, Cylinders,
|
|
Blocks and Megabytes, respectively. The default is
|
|
cylinders, at least when the geometry is known.
|
|
.TP
|
|
.BR \-x ", " \-\-show\-extended
|
|
Also list non-primary extended partitions on output,
|
|
and expect descriptors for them on input.
|
|
.TP
|
|
.BR \-C ", " \-\-cylinders " \fIcylinders\fR"
|
|
Specify the number of cylinders, possibly overriding what the kernel thinks.
|
|
.TP
|
|
.BR \-H ", " \-\-heads " \fIheads\fR"
|
|
Specify the number of heads, possibly overriding what the kernel thinks.
|
|
.TP
|
|
.BR \-S ", " \-\-sectors " \fIsectors\fR"
|
|
Specify the number of sectors, possibly overriding what the kernel thinks.
|
|
.TP
|
|
.BR \-f ", " \-\-force
|
|
Do what I say, even if it is stupid.
|
|
.TP
|
|
.BR \-q ", " \-\-quiet
|
|
Suppress warning messages.
|
|
.TP
|
|
.BR \-L ", " \-\-Linux
|
|
Do not complain about things irrelevant for Linux.
|
|
.TP
|
|
.BR \-D ", " \-\-DOS
|
|
For DOS-compatibility: waste a little space.
|
|
(More precisely: if a partition cannot contain sector 0,
|
|
e.g. because that is the MBR of the device, or contains
|
|
the partition table of an extended partition, then
|
|
.B sfdisk
|
|
would make it start the next sector. However, when this
|
|
option is given it skips to the start of the next track,
|
|
wasting for example 33 sectors (in case of 34 sectors/track),
|
|
just like certain versions of DOS do.)
|
|
Certain Disk Managers and boot loaders (such as OSBS, but not
|
|
LILO or the OS/2 Boot Manager) also live in this empty space,
|
|
so maybe you want this option if you use one.
|
|
.TP
|
|
.BR \-E ", " \-\-DOS\-extended
|
|
Take the starting sector numbers of "inner" extended partitions
|
|
to be relative to the starting cylinder boundary of the outer one
|
|
(like some versions of DOS do), rather than relative to the actual
|
|
starting sector (like Linux does).
|
|
(The fact that there is a difference here means that one should
|
|
always let extended partitions start at cylinder boundaries if
|
|
DOS and Linux should interpret the partition table in the same way.
|
|
Of course one can only know where cylinder boundaries are when
|
|
one knows what geometry DOS will use for this block device.)
|
|
.TP
|
|
.BR \-U ", " "\-\-unhide " \fIdevice\fR
|
|
Make various Microsoft partition types unhidden. For full list see types
|
|
output.
|
|
.IP
|
|
.nf
|
|
.if t .ft CW
|
|
% sfdisk --list-types | grep Hidden
|
|
.fi
|
|
.IP
|
|
Notice that the
|
|
.B Hidden NTFS WinRE
|
|
(Windows Recovery Environment) does not have non-hidden equivalent.
|
|
.TP
|
|
.BR \-\-IBM ", " \-\-leave\-last
|
|
Certain IBM diagnostic programs assume that they can use the
|
|
last cylinder on a device for disk-testing purposes. If you think
|
|
you might ever run such programs, use this option to tell
|
|
.B sfdisk
|
|
that it should not allocate the last cylinder.
|
|
Sometimes the last cylinder contains a bad sector table.
|
|
.TP
|
|
.B \-n
|
|
Go through all the motions, but do not actually write to block device.
|
|
.TP
|
|
.BR \-R ", " \-\-re-read
|
|
Only execute the BLKRRPART ioctl (to make the kernel re-read
|
|
the partition table). This can be useful for checking in advance
|
|
that the final BLKRRPART will be successful, and also when you
|
|
changed the partition table `by hand' (e.g., using dd from a backup).
|
|
If the kernel complains (`device busy for revalidation (usage = 2)')
|
|
then something still uses the device, and you still have to unmount
|
|
some file system, or say swapoff to some swap partition.
|
|
.TP
|
|
.B \-\-no\-reread
|
|
When starting a repartitioning of a block device, \fBsfdisk\fR checks that this device
|
|
is not mounted, or in use as a swap device, and refuses to continue
|
|
if it is. This option suppresses the test. (On the other hand, the \fB\-f\fR
|
|
option would force \fBsfdisk\fR to continue even when this test fails.)
|
|
.TP
|
|
.B \-\-in\-order
|
|
Partitions are in order. See also warning section.
|
|
.TP
|
|
.B \-\-not\-in\-order
|
|
Partitions are not in order. See also warning section.
|
|
.TP
|
|
.B \-\-inside\-outer
|
|
All logical partitions are inside outermost extended. See also warning
|
|
section and chaining.
|
|
.TP
|
|
.B \-\-not\-inside\-outer
|
|
Some, or none, of the logical partitions are not inside outermost
|
|
extended. See also warning section and chaining.
|
|
.TP
|
|
.B \-\-nested
|
|
Caution, see warning section. Every partition is contained in the
|
|
surrounding partitions and is disjoint from all others.
|
|
.TP
|
|
.B \-\-chained
|
|
Caution, see warning section. Every data partition is contained in
|
|
the surrounding partitions and disjoint from all others, but
|
|
extended partitions may lie outside (insofar as allowed by
|
|
all_logicals_inside_outermost_extended).
|
|
.TP
|
|
.B \-\-onesector
|
|
Caution, see warning section. All data partitions are mutually
|
|
disjoint; extended partitions each use one sector only (except
|
|
perhaps for the outermost one).
|
|
.TP
|
|
.BI \-O " file"
|
|
Just before writing the new partition, output the sectors
|
|
that are going to be overwritten to
|
|
.I file
|
|
(where hopefully
|
|
.I file
|
|
resides on another block device, or on a floppy).
|
|
.TP
|
|
.BI \-I " file"
|
|
After destroying your filesystems with an unfortunate
|
|
.B sfdisk
|
|
command, you would have been able to restore the old situation
|
|
if only you had preserved it using the \fB\-O\fR flag.
|
|
.TP
|
|
.BR \-1 ", " \-\-one-only
|
|
Reserved option that does nothing currently.
|
|
|
|
.SH THEORY
|
|
Block 0 of a block device (the Master Boot Record) contains among
|
|
other things four partition descriptors. The partitions
|
|
described here are called
|
|
.I primary
|
|
partitions.
|
|
.LP
|
|
A partition descriptor has 6 fields:
|
|
.br
|
|
.nf
|
|
.RS
|
|
struct partition {
|
|
unsigned char bootable; /* 0 or 0x80 */
|
|
hsc begin_hsc;
|
|
unsigned char id;
|
|
hsc end_hsc;
|
|
unsigned int starting_sector;
|
|
unsigned int nr_of_sectors;
|
|
}
|
|
.RE
|
|
.fi
|
|
.LP
|
|
The two hsc fields indicate head, sector and cylinder of the
|
|
begin and the end of the partition. Since each hsc field only
|
|
takes 3 bytes, only 24 bits are available, which does not
|
|
suffice for big block devices (say > 8GB). In fact, due to the wasteful
|
|
representation (that uses a byte for the number of heads, which
|
|
is typically 16), problems already start with 0.5GB.
|
|
However Linux does not use these fields, and problems can arise
|
|
only at boot time, before Linux has been started. For more
|
|
details, see the
|
|
.B lilo
|
|
documentation.
|
|
.LP
|
|
Each partition has a type, its `Id', and if this type is 5 or f
|
|
.IR "" "(`" "extended partition" "')"
|
|
the starting sector of the partition
|
|
again contains 4 partition descriptors. MSDOS only uses the
|
|
first two of these: the first one an actual data partition,
|
|
and the second one again an extended partition (or empty).
|
|
In this way one gets a chain of extended partitions.
|
|
Other operating systems have slightly different conventions.
|
|
Linux also accepts type 85 as equivalent to 5 and f - this can be
|
|
useful if one wants to have extended partitions under Linux past
|
|
the 1024 cylinder boundary, without DOS FDISK hanging.
|
|
(If there is no good reason, you should just use 5, which is
|
|
understood by other systems.)
|
|
.LP
|
|
Partitions that are not primary or extended are called
|
|
.IR logical .
|
|
Often, one cannot boot from logical partitions (because the
|
|
process of finding them is more involved than just looking
|
|
at the MBR).
|
|
Note that of an extended partition only the Id and the start
|
|
are used. There are various conventions about what to write
|
|
in the other fields. One should not try to use extended partitions
|
|
for data storage or swap.
|
|
|
|
.SH "INPUT FORMAT"
|
|
.B sfdisk
|
|
reads lines of the form
|
|
.br
|
|
.RS
|
|
<start> <size> <id> <bootable> <c,h,s> <c,h,s>
|
|
.RE
|
|
where each line fills one partition descriptor.
|
|
.LP
|
|
Fields are separated by whitespace, or comma or semicolon possibly
|
|
followed by whitespace; initial and trailing whitespace is ignored.
|
|
Numbers can be octal, decimal or hexadecimal, decimal is default.
|
|
When a field is absent or empty, a default value is used.
|
|
.LP
|
|
The <c,h,s> parts can (and probably should) be omitted -
|
|
.B sfdisk
|
|
computes them from <start> and <size> and the block device geometry
|
|
as given by the kernel or specified using the \-H, \-S, \-C flags.
|
|
.LP
|
|
Bootable is specified as [*|\-], with as default not-bootable.
|
|
(The value of this field is irrelevant for Linux - when Linux
|
|
runs it has been booted already - but might play a role for
|
|
certain boot loaders and for other operating systems.
|
|
For example, when there are several primary DOS partitions,
|
|
DOS assigns C: to the first among these that is bootable.)
|
|
.LP
|
|
Id is given in hex, without the 0x prefix, or is [E|S|L|X], where
|
|
L (LINUX_NATIVE (83)) is the default, S is LINUX_SWAP (82), E
|
|
is EXTENDED_PARTITION (5), and X is LINUX_EXTENDED (85).
|
|
.LP
|
|
The default value of start is the first nonassigned sector/cylinder/...
|
|
.LP
|
|
The default value of size is as much as possible (until next
|
|
partition or end-of-device).
|
|
.LP
|
|
However, for the four partitions inside an extended partition,
|
|
the defaults are: Linux partition, Extended partition, Empty, Empty.
|
|
.LP
|
|
But when the \-N option (change a single partition only) is given,
|
|
the default for each field is its previous value.
|
|
.LP
|
|
A '+' can be specified instead of a number for size, which means
|
|
as much as possible. This is useful with the \-N option.
|
|
.SH EXAMPLE
|
|
The command
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
sfdisk /dev/hdc << EOF
|
|
0,407
|
|
,407
|
|
;
|
|
;
|
|
EOF
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
will partition /dev/hdc just as indicated above.
|
|
|
|
The command
|
|
.RS
|
|
.nf
|
|
.if t .ft CW
|
|
sfdisk /dev/hdb << EOF
|
|
,3,L
|
|
,60,L
|
|
,19,S
|
|
,,E
|
|
,130,L
|
|
,130,L
|
|
,130,L
|
|
,,L
|
|
EOF
|
|
.if t .ft R
|
|
.fi
|
|
.RE
|
|
will partition /dev/hdb into two Linux partitions of 3 and 60
|
|
cylinders, a swap space of 19 cylinders, and an extended partition
|
|
covering the rest. Inside the extended partition there are four
|
|
Linux logical partitions, three of 130 cylinders and one
|
|
covering the rest.
|
|
|
|
With the \-x option, the number of input lines must be a multiple of 4:
|
|
you have to list the two empty partitions that you never want
|
|
using two blank lines. Without the \-x option, you give one line
|
|
for the partitions inside a extended partition, instead of four,
|
|
and terminate with end-of-file (^D).
|
|
(And
|
|
.B sfdisk
|
|
will assume that your input line represents the first of four,
|
|
that the second one is extended, and the 3rd and 4th are empty.)
|
|
.SH "CAUTION WARNINGS"
|
|
|
|
The options marked with caution in the manual page are dangerous.
|
|
For example not all functionality is completely implemented,
|
|
which can be a reason for unexpected results.
|
|
.SH "DOS 6.x WARNING"
|
|
|
|
The DOS 6.x FORMAT command looks for some information in the first
|
|
sector of the data area of the partition, and treats this information
|
|
as more reliable than the information in the partition table. DOS
|
|
FORMAT expects DOS FDISK to clear the first 512 bytes of the data area
|
|
of a partition whenever a size change occurs. DOS FORMAT will look at
|
|
this extra information even if the /U flag is given -- we consider
|
|
this a bug in DOS FORMAT and DOS FDISK.
|
|
.LP
|
|
The bottom line is that if you use sfdisk to change the size of a
|
|
DOS partition table entry, then you must also use
|
|
.B dd
|
|
to zero the first 512 bytes of that partition before using DOS FORMAT to
|
|
format the partition. For example, if you were using sfdisk to make a DOS
|
|
partition table entry for /dev/hda1, then (after exiting sfdisk and
|
|
rebooting Linux so that the partition table information is valid) you
|
|
would use the command "dd if=/dev/zero of=/dev/hda1 bs=512 count=1" to zero
|
|
the first 512 bytes of the partition.
|
|
.B BE EXTREMELY CAREFUL
|
|
if you use the
|
|
.B dd
|
|
command, since a small typo can make all of the data on your block device useless.
|
|
|
|
For best results, you should always use an OS-specific partition table
|
|
program. For example, you should make DOS partitions with the DOS FDISK
|
|
program and Linux partitions with the Linux sfdisk program.
|
|
|
|
.SH "DRDOS WARNINGS"
|
|
|
|
Stephen Tweedie reported (930515): `Most reports of superblock
|
|
corruption turn out to be due to bad partitioning, with one filesystem
|
|
overrunning the start of the next and corrupting its superblock.
|
|
I have even had this problem with the supposedly-reliable DRDOS. This
|
|
was quite possibly due to DRDOS-6.0's FDISK command. Unless I created
|
|
a blank track or cylinder between the DRDOS partition and the
|
|
immediately following one, DRDOS would happily stamp all over the
|
|
start of the next partition. Mind you, as long as I keep a little
|
|
free device space after any DRDOS partition, I don't have any other
|
|
problems with the two coexisting on the one drive.'
|
|
|
|
A. V. Le Blanc writes in README.efdisk: `Dr. DOS 5.0 and 6.0 has been
|
|
reported to have problems cooperating with Linux, and with this version
|
|
of efdisk in particular. This efdisk sets the system type
|
|
to hexadecimal 81. Dr. DOS seems to confuse
|
|
this with hexadecimal 1, a DOS code. If you use Dr. DOS, use the
|
|
efdisk command 't' to change the system code of any Linux partitions
|
|
to some number less than hexadecimal 80; I suggest 41 and 42 for
|
|
the moment.'
|
|
|
|
A. V. Le Blanc writes in his README.fdisk: `DR-DOS 5.0 and 6.0
|
|
are reported to have difficulties with partition ID codes of 80 or more.
|
|
The Linux `fdisk' used to set the system type
|
|
of new partitions to hexadecimal 81. DR-DOS seems to confuse this with
|
|
hexadecimal 1, a DOS code. The values 82 for swap and 83 for file
|
|
systems should not cause problems with DR-DOS. If they do, you may use
|
|
the `fdisk' command `t' to change the system code of any Linux
|
|
partitions to some number less than hexadecimal 80; I suggest 42 and 43
|
|
for the moment.'
|
|
|
|
In fact, it seems that only 4 bits are significant for the DRDOS FDISK,
|
|
so that for example 11 and 21 are listed as DOS 2.0. However, DRDOS
|
|
itself seems to use the full byte. I have not been able to reproduce
|
|
any corruption with DRDOS or its fdisk.
|
|
|
|
.SH BUGS
|
|
There are too many options.
|
|
.LP
|
|
There is no support for non-DOS partition types.
|
|
|
|
.\" .SH AUTHOR
|
|
.\" A. E. Brouwer (aeb@cwi.nl)
|
|
.\"
|
|
.SH "SEE ALSO"
|
|
.BR cfdisk (8),
|
|
.BR fdisk (8),
|
|
.BR mkfs (8),
|
|
.BR parted (8),
|
|
.BR partprobe (8),
|
|
.BR kpartx (8)
|
|
.SH AVAILABILITY
|
|
The sfdisk command is part of the util-linux package and is available from
|
|
ftp://ftp.kernel.org/pub/linux/utils/util-linux/.
|