summaryrefslogtreecommitdiff
path: root/en/partitioning/partition/x86.xml
blob: fd8d9aa3e6b5acf954e6905d68b4af3e69fd8187 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!-- retain these comments for translator revision tracking -->
<!-- $Id$ -->


  <sect2 arch="x86"><title>Partitioning for &arch-title;</title>
<para>

If you are using a new harddisk (or want to wipe out the whole partition table
of your disk), a new partition table needs to be created. The <quote>Guided
partitioning</quote> does this automatically, but when partitioning manually,
move the selection on the top-level entry of the disk and hit &enterkey;.
That will create a new partition table on that disk. In expert mode, you will
then be asked for the type of the partition table. Default for UEFI-based systems
is <quote>gpt</quote>, while for the older BIOS world the default value
is <quote>msdos</quote>. In a standard priority installation those defaults
will be used automatically.

</para><note><para>

When a partition table with type <quote>gpt</quote> was selected (default for
UEFI systems), a free space of 1 MB will automatically get created at the
beginning of the disk. This is intended and required to embed the GRUB2
bootloader.

</para></note><para>

If you have an existing other operating system such as Windows and
you want to preserve that operating system while installing &debian;, you may
need to resize its partition to free up space for the &debian; installation.
The installer supports resizing of both FAT and NTFS filesystems; when you
get to the installer's partitioning step, select the option
<guimenuitem>Manual</guimenuitem> and then simply select an existing
partition and change its size.

</para><para>

While modern UEFI systems don't have such limitations as listed below,
the old PC BIOS generally adds additional constraints for disk
partitioning.  There is a limit to how many <quote>primary</quote> and
<quote>logical</quote> partitions a drive can contain.  Additionally, with pre
1994&ndash;98 BIOSes, there are limits to where on the drive the BIOS can boot
from.  More information can be found in the
<ulink url="&url-partition-howto;">Linux Partition HOWTO</ulink>, but
this section will include a brief overview to help you plan most situations.

</para><para>

<quote>Primary</quote> partitions are the original partitioning scheme for PC
disks.  However, there can only be four of them.  To get past this
limitation, <quote>extended</quote> and <quote>logical</quote> partitions were invented.  By
setting one of your primary partitions as an extended partition, you
can subdivide all the space allocated to that partition into logical
partitions.  You can create up to 60 logical partitions per extended
partition; however, you can only have one extended partition per
drive.

</para><para arch="linux-any">

Linux limits the partitions per drive to 255 partitions for SCSI disks
(3 usable primary partitions, 252 logical partitions), and 63
partitions on an IDE drive (3 usable primary partitions, 60 logical
partitions). However the normal &debian-gnu; system provides
only 20 devices for partitions, so you may not install on partitions
higher than 20 unless you first manually create devices for those
partitions.

</para><para>

If you have a large IDE disk, and are using neither LBA addressing,
nor overlay drivers (sometimes provided by hard disk manufacturers),
then the boot partition (the partition containing your kernel image)
must be placed within the first 1024 cylinders of your hard drive
(usually around 524 megabytes, without BIOS translation).

</para><para>

This restriction doesn't apply if you have a BIOS newer than around
1995&ndash;98 (depending on the manufacturer) that supports the <quote>Enhanced
Disk Drive Support Specification</quote>.
&debian;'s Lilo alternative <command>mbr</command> must use the BIOS to read the
kernel from the disk into RAM.  If the BIOS int 0x13 large disk access
extensions are found to be present, they will be utilized. Otherwise,
the legacy disk access interface is used as a fall-back, and it cannot
be used to address any location on the disk higher than the 1023rd
cylinder.  Once &arch-kernel; is booted, no matter what BIOS your computer
has, these restrictions no longer apply, since &arch-kernel; does not use the
BIOS for disk access.

</para><para>

If you have a large disk, you might have to use cylinder translation
techniques, which you can set from your BIOS setup program, such as
LBA (Logical Block Addressing) or CHS translation mode (<quote>Large</quote>).
More information about issues with large disks can be found in the
<ulink url="&url-large-disk-howto;">Large Disk HOWTO</ulink>.  If you
are using a cylinder translation scheme, and the BIOS does not support
the large disk access extensions, then your boot partition has to fit
within the <emphasis>translated</emphasis> representation of the
1024th cylinder.

</para><para>

The recommended way of accomplishing this is to create a small (25&ndash;50MB
should suffice) partition at the beginning of the disk to be used as
the boot partition, and then create whatever other partitions you wish
to have, in the remaining area.  This boot partition
<emphasis>must</emphasis> be mounted on <filename>/boot</filename>,
since that is the directory where the &arch-kernel; kernel(s) will be stored.
This configuration will work on any system, regardless of whether LBA
or large disk CHS translation is used, and regardless of whether your
BIOS supports the large disk access extensions.

</para>
  </sect2>