summaryrefslogtreecommitdiff
path: root/sag-0.6.1-www/sag-0.6.1.html/x876.html
blob: 6b53efb29b766875e6df299045cdc0217098e8e7 (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
<!DOCTYPE HTML PUBLIC "-//Norman Walsh//DTD DocBook HTML 1.0//EN">
<HTML
><HEAD
><TITLE
>Partitions</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet"><LINK
REL="HOME"
TITLE="The Linux System Administrators' Guide"
HREF="book1.html"><LINK
REL="UP"
TITLE="Using Disks and Other Storage Media"
HREF="c701.html"><LINK
REL="PREVIOUS"
TITLE="Formatting"
HREF="x817.html"><LINK
REL="NEXT"
TITLE="Filesystems"
HREF="x1029.html"></HEAD
><BODY
BGCOLOR="#FFFFFF"
TEXT="#000000"
><DIV
CLASS="NAVHEADER"
><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TH
COLSPAN="3"
ALIGN="center"
>The Linux System Administrators' Guide</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="x817.html"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 4. Using Disks and Other Storage Media</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="x1029.html"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="SECT1"
><H1
CLASS="SECT1"
><A
NAME="AEN876"
>Partitions</A
></H1
><P
>A hard disk can be divided into several
	<I
CLASS="GLOSSTERM"
>partitions</I
>.  Each partition functions as if
	it were a separate hard disk.  The idea is that if you have one
	hard disk, and want to have, say, two operating systems on it,
	you can divide the disk into two partitions.  Each operating
	system uses its partition as it wishes and doesn't touch the
	other one's.  This way the two operating systems can co-exist
	peacefully on the same hard disk. Without partitions one would
	have to buy a hard disk for each operating system.</P
><P
>Floppies are not partitioned.  There is no technical reason
	against this, but since they're so small, partitions would be
	useful only very rarely.  CD-ROM's are usually also not
	partitioned, since it's easier to use them as one big
	disk, and there is seldom a need to have several operating
	systems on one.</P
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN881"
>The MBR, boot sectors and partition table</A
></H2
><P
>The information about how a hard disk has been partitioned
	is stored in its first sector (that is, the first sector of the
	first track on the first disk surface).  The first sector is the
	<I
CLASS="GLOSSTERM"
>master boot record</I
> (MBR) of the disk; this
	is the sector that the BIOS reads in and starts when the machine
	is first booted.  The master boot record contains a small program
	that reads the partition table, checks which partition is active
	(that is, marked bootable), and reads the first sector of that
	partition, the partition's <I
CLASS="GLOSSTERM"
>boot sector</I
>
	(the MBR is also a boot sector, but it has a special status and
	therefore a special name).  This boot sector contains another
	small program that reads the first part of the operating system
	stored on that partition (assuming it is bootable), and then
	starts it.</P
><P
>The partitioning scheme is not built into the hardware, or
	even into the BIOS.  It is only a convention that many
	operating systems follow.  Not all operating systems do follow
	it, but they are the exceptions.  Some operating
	systems support partitions, but they occupy one partition on
	the hard disk, and use their internal partitioning method
	within that partition.  The latter type exists peacefully
	with other operating systems (including Linux), and does not
	require any special measures, but an operating system
	that doesn't support partitions cannot co-exist on the same
	disk with any other operating system.</P
><P
>As a safety precaution, it is a good idea to write down the
	partition table on a piece of paper, so that if it ever corrupts
	you don't have to lose all your files.  (A bad partition table
	can be fixed with <B
CLASS="COMMAND"
>fdisk</B
>).  The relevant information
	is given by the <B
CLASS="COMMAND"
>fdisk -l</B
> command:

<PRE
CLASS="SCREEN"
><TT
CLASS="PROMPT"
>$</TT
> <TT
CLASS="USERINPUT"
><B
>fdisk -l /dev/hda</B
></TT
>
<TT
CLASS="COMPUTEROUTPUT"
></TT
>
<TT
CLASS="COMPUTEROUTPUT"
>Disk /dev/hda: 15 heads, 57 sectors, 790 cylinders</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>Units = cylinders of 855 * 512 bytes</TT
>
<TT
CLASS="COMPUTEROUTPUT"
></TT
>
<TT
CLASS="COMPUTEROUTPUT"
>   Device Boot  Begin   Start     End  Blocks   Id  System</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>/dev/hda1           1       1      24   10231+  82  Linux swap</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>/dev/hda2          25      25      48   10260   83  Linux native</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>/dev/hda3          49      49     408  153900   83  Linux native</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>/dev/hda4         409     409     790  163305    5  Extended</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>/dev/hda5         409     409     744  143611+  83  Linux native</TT
>
<TT
CLASS="COMPUTEROUTPUT"
>/dev/hda6         745     745     790   19636+  83  Linux native</TT
>
<TT
CLASS="PROMPT"
>$</TT
></PRE
>&#13;</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN905"
>Extended and logical partitions</A
></H2
><P
>The original partitioning scheme for PC hard disks allowed
	only four partitions.  This quickly turned out to be too little
	in real life, partly because some people want more than four
	operating systems (Linux, MS-DOS, OS/2, Minix, FreeBSD, NetBSD, or
	Windows/NT, to name a few), but primarily because sometimes it
	is a good idea to have several partitions for one
	operating system.  For example, swap space is usually best put
	in its own partition for Linux instead of in the main
	Linux partition for reasons of speed (see below).</P
><P
>To overcome this design problem, <I
CLASS="GLOSSTERM"
>extended partitions</I
> were
	invented.  This trick allows partitioning a <I
CLASS="GLOSSTERM"
>primary
	partition</I
> into sub-partitions.  The
	primary partition thus subdivided is the <I
CLASS="GLOSSTERM"
>extended partition</I
>; the
	subpartitions are <I
CLASS="GLOSSTERM"
>logical partitions</I
>.  They behave 
	like primary
	
		<A
NAME="AEN913"
HREF="#FTN.AEN913"
>[1]</A
>
		
	partitions, but are created differently.  There is no speed
	difference between them.</P
><P
>The partition structure of a hard disk might look like that
	in <A
HREF="x876.html#HARD-DISK-LAYOUT"
>Figure 4-2</A
>.  The disk is divided into
	three primary partitions, the second of which is divided into
	two logical partitions.  Part of the disk is not partitioned
	at all.  The disk as a whole and each primary partition has a
	boot sector.</P
><DIV
CLASS="FIGURE"
><P
><B
><A
NAME="HARD-DISK-LAYOUT"
>Figure 4-2. A sample hard disk partitioning.</A
></B
></P
><P
><IMG
SRC="hd-layout.gif"></P
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN920"
>Partition types</A
></H2
><P
>The partition tables (the one in the MBR, and the ones for
	extended partitions) contain one byte per partition that
	identifies the type of that partition.  This attempts to
	identify the operating system that uses the partition, or what
	it uses it for.  The purpose is to make it possible to avoid
	having two operating systems accidentally using the same
	partition.  However, in reality, operating systems do not
	really care about the partition type byte; e.g., Linux
	doesn't care at all what it is.  Worse, some of them use it
	incorrectly; e.g., at least some versions of DR-DOS ignore the
	most significant bit of the byte, while others don't.</P
><P
>There is no standardization agency to specify what each byte
	value means, but some commonly accepted ones are included in
	in <A
HREF="x876.html#PARTITION-IDS"
>Table 4-1</A
>.  The same list is
	available in the Linux <B
CLASS="COMMAND"
>fdisk</B
> program.</P
><DIV
CLASS="TABLE"
><P
><B
><A
NAME="PARTITION-IDS"
>Table 4-1. Partition types (from the Linux <B
CLASS="COMMAND"
>fdisk</B
> program).</A
></B
></P
><TABLE
BORDER="1"
CLASS="CALSTABLE"
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>0</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Empty</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>40</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Venix 80286</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>94</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Amoeba BBT</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>1</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>DOS 12-bit FAT</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>51</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Novell?</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>a5</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>BSD/386</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>2</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>XENIX root</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>52</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Microport</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>b7</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>BSDI fs</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>3</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>XENIX usr</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>63</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>GNU HURD</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>b8</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>BSDI swap</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>4</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>DOS 16-bitf &lt;32M</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>64</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Novell</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>c7</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Syrinx</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>5</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Extended</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>75</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>PC/IX</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>db</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>CP/M</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>6</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>DOS 16-bit &gt;=32M</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>80</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Old MINIX</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>e1</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>DOS access</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>7</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>OS/2 HPFS</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>81</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Linux/MINIX</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>e3</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>DOS R/O</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>8</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>AIX</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>82</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Linux swap</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>f2</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>DOS secondary</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>9</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>AIX bootable</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>83</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Linux native</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>ff</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>BBT</TD
></TR
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
>a</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>OS/2 Boot Manag</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>93</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>Amoeba</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
>&nbsp;</TD
></TR
></TABLE
></DIV
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1008"
>Partitioning a hard disk</A
></H2
><P
>There are many programs for creating and removing
	partitions.  Most operating systems have their own, and it
	can be a good idea to use each operating system's own, just
	in case it does something unusual that the others can't.
	Many of the programs are called <B
CLASS="COMMAND"
>fdisk</B
>,
	including the Linux one, or variations thereof.  Details on
	using the Linux <B
CLASS="COMMAND"
>fdisk</B
> are given on its
	man page.  The <B
CLASS="COMMAND"
>cfdisk</B
> command is similar
	to <B
CLASS="COMMAND"
>fdisk</B
>, but has a nicer (full screen)
	user interface.</P
><P
>When using IDE disks, the boot partition (the partition
	with the bootable kernel image files) must be completely
	within the first 1024 cylinders.  This is because the disk is
	used via the BIOS during boot (before the system goes into
	protected mode), and BIOS can't handle more than 1024 cylinders.
	It is sometimes possible to use a boot partition that is only
	partly within the first 1024 cylinders.  This works as long
	as all the files that are read with the BIOS are within the
	first 1024 cylinders.  Since this is difficult to arrange,
	it is <I
CLASS="EMPHASIS"
>a very bad idea</I
> to do it; you never know when
	a kernel update or disk defragmentation will result in an 
	unbootable system.  Therefore, make sure your boot partition
	is completely within the first 1024 cylinders.</P
><P
>Some newer versions of the BIOS and IDE disks can, in fact,
	handle disks with more than 1024 cylinders.  If you have such
	a system, you can forget about the problem; if you aren't quite
	sure of it, put it within the first 1024 cylinders.</P
><P
>Each partition should have an even number of sectors,
	since the Linux filesystems use a 1 kilobyte block size, i.e.,
	two sectors.  An odd number of sectors will result in the
	last sector being unused.  This won't result in any problems,
	but it is ugly, and some versions of <B
CLASS="COMMAND"
>fdisk</B
>
	will warn about it.</P
><P
>Changing a partition's size usually requires first backing up
	everything you want to save from that partition (preferably the
	whole disk, just in case), deleting the partition, creating
	new partition, then restoring everything to the new partition.
	If the partition is growing, you may need to adjust the sizes
	(and backup and restore) of the adjoining partitions as well.</P
><P
>Since changing partition sizes is painful, it is preferable to
	get the partitions right
	the first time, or have an effective and easy to use backup
	system.  If you're installing from a media that does not require
	much human intervention (say, from CD-ROM, as opposed to floppies),
	it is often easy to play with different configuration at first.
	Since you don't already have data to back up, it is not so
	painful to modify partition sizes several times.</P
><P
>There is a program for MS-DOS, called
	<B
CLASS="COMMAND"
>fips</B
>, which resizes an MS-DOS partition without
	requiring the backup and restore, but for other filesystems it
	is still necessary.</P
></DIV
><DIV
CLASS="SECT2"
><H2
CLASS="SECT2"
><A
NAME="AEN1024"
>Device files and partitions</A
></H2
><P
>Each partition and extended partition has its own
	device file.  The naming convention for these files is that a
	partition's number is appended after the name of the whole disk,
	with the convention that 1-4 are primary partitions (regardless
	of how many primary partitions there are) and 5-8 are logical
	partitions (regardless of within which primary partition
	they reside).  For example, <TT
CLASS="FILENAME"
>/dev/hda1</TT
>
	is the first primary partition on the first IDE hard disk, and
	<TT
CLASS="FILENAME"
>/dev/sdb7</TT
> is the third extended partition on
	the second SCSI hard disk.  The device list in XXX (device list)
	gives more information.</P
></DIV
></DIV
><H3
>Notes</H3
><TABLE
BORDER="0"
CLASS="FOOTNOTES"
WIDTH="100%"
><TR
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="5%"
><A
NAME="FTN.AEN913"
HREF="x876.html#AEN913"
>[1]</A
></TD
><TD
ALIGN="LEFT"
VALIGN="TOP"
WIDTH="95%"
><P
>Illogical?</P
></TD
></TR
></TABLE
><DIV
CLASS="NAVFOOTER"
><HR
ALIGN="LEFT"
WIDTH="100%"><TABLE
WIDTH="100%"
BORDER="0"
CELLPADDING="0"
CELLSPACING="0"
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
><A
HREF="x817.html"
>Prev</A
></TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="book1.html"
>Home</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="x1029.html"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Formatting</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="c701.html"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Filesystems</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>