1220 lines
17 KiB
HTML
1220 lines
17 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Devices</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Linux Partition HOWTO"
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Introduction"
|
|
HREF="intro.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Partition Types"
|
|
HREF="partition-types.html"></HEAD
|
|
><BODY
|
|
CLASS="sect1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Linux Partition HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="intro.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="partition-types.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="devices"
|
|
></A
|
|
>2. Devices</H1
|
|
><P
|
|
> There is a special nomenclature that linux uses to refer to hard drive
|
|
partitions that must be understood in order to follow the discussion
|
|
on the following pages.
|
|
</P
|
|
><P
|
|
> In Linux, partitions are represented by device files. These are phoney
|
|
files located in <TT
|
|
CLASS="filename"
|
|
>/dev</TT
|
|
>. Here are a few entries:
|
|
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> brw-rw---- 1 root disk 3, 0 May 5 1998 hda
|
|
brw-rw---- 1 root disk 8, 0 May 5 1998 sda
|
|
crw------- 1 root tty 4, 64 May 5 1998 ttyS0
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
|
|
A device file is a file with type c ( for "character" devices, devices
|
|
that do not use the buffer cache) or b (for "block" devices, which go
|
|
through the buffer cache). In Linux, all disks are represented as
|
|
block devices only.
|
|
</P
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="names"
|
|
></A
|
|
>2.1. Device names</H2
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="NamingConvention"
|
|
></A
|
|
>2.1.1. Naming Convention</H3
|
|
><P
|
|
> By convention, IDE drives will be given device
|
|
names <TT
|
|
CLASS="literal"
|
|
>/dev/hda</TT
|
|
> to <TT
|
|
CLASS="literal"
|
|
>/dev/hdd</TT
|
|
>.
|
|
<EM
|
|
>H</EM
|
|
>ard <EM
|
|
>D</EM
|
|
>rive
|
|
<EM
|
|
>A</EM
|
|
> (<TT
|
|
CLASS="literal"
|
|
>/dev/hda</TT
|
|
>) is the first drive and
|
|
<EM
|
|
>H</EM
|
|
>ard <EM
|
|
>D</EM
|
|
>rive
|
|
<EM
|
|
>C</EM
|
|
> (<TT
|
|
CLASS="literal"
|
|
>/dev/hdc</TT
|
|
>) is the third.
|
|
|
|
|
|
<DIV
|
|
CLASS="table"
|
|
><A
|
|
NAME="AEN179"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 2. IDE controller naming convention</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive name</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive controller</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive number</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdc</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdd</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
>
|
|
</P
|
|
><P
|
|
> A typical PC has two IDE
|
|
controllers, each of which can have two drives connected to it. For
|
|
example, <TT
|
|
CLASS="filename"
|
|
>/dev/hda</TT
|
|
> is the first drive (master) on the
|
|
first IDE controller and <TT
|
|
CLASS="filename"
|
|
>/dev/hdd</TT
|
|
> is
|
|
the second (slave) drive on the second controller (the fourth IDE
|
|
drive in the computer).
|
|
</P
|
|
><P
|
|
> You can write to these devices directly (using <B
|
|
CLASS="command"
|
|
>cat</B
|
|
> or
|
|
<B
|
|
CLASS="command"
|
|
>dd</B
|
|
>). However,
|
|
since these devices represent the entire disk, starting at the first
|
|
block, you can mistakenly overwrite the master boot record and the
|
|
partition table, which will render the drive unusable.
|
|
</P
|
|
><P
|
|
> <DIV
|
|
CLASS="table"
|
|
><A
|
|
NAME="AEN213"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 3. partition names</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive name</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive controller</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive number</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>partition type</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>partition number</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda3</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>3</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda4</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>swap</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>NA</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb3</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>3</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb4</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>4</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
>
|
|
</P
|
|
><P
|
|
> Once a drive has been partitioned, the partitions will represented
|
|
as numbers on the end of the names. For example, the second
|
|
partition on the second drive will be
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/hdb2</TT
|
|
>. The partition type (primary) is
|
|
listed in the table above for clarity, although the concept is not
|
|
explained until <A
|
|
HREF="partition-types.html#primary"
|
|
>Section 3.3</A
|
|
>.
|
|
</P
|
|
><P
|
|
> <DIV
|
|
CLASS="table"
|
|
><A
|
|
NAME="AEN280"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 4. SCSI Drives</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive name</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive controller</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive number</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>partition type</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>partition number</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/sda1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>6</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/sda2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>6</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/sda3</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>6</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>3</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> SCSI drives follow a similar pattern; They are represented by 'sd'
|
|
instead of 'hd'. The first partition of the second SCSI drive would
|
|
therefore be <TT
|
|
CLASS="filename"
|
|
>/dev/sdb1</TT
|
|
>. In
|
|
the table above, the drive number is arbitraily chosen to be 6 to
|
|
introduce the idea that SCSI ID numbers do not map onto device names
|
|
under linux.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN315"
|
|
></A
|
|
>2.1.2. Name Assignment</H3
|
|
><P
|
|
> Under (Sun) Solaris and (SGI) IRIX, the device name given to a
|
|
SCSI drive has some relationship to where you plug it in. Under
|
|
linux, there is only wailing and gnashing of teeth.
|
|
</P
|
|
><P
|
|
> <EM
|
|
>Before</EM
|
|
>
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> SCSI ID #2 SCSI ID #5 SCSI ID #7 SCSI ID #8
|
|
/dev/sda /dev/sdb /dev/sdc /dev/sdd
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> <EM
|
|
>After</EM
|
|
>
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> SCSI ID #2 SCSI ID #7 SCSI ID #8
|
|
/dev/sda /dev/sdb /dev/sdc
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
</P
|
|
><P
|
|
> SCSI drives have ID numbers which go from 1 through 15. Lower SCSI
|
|
ID numbers are assigned lower-order letters. For example, if you
|
|
have two drives numbered 2 and 5, then #2 will be
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/sda</TT
|
|
> and #5 will be
|
|
<TT
|
|
CLASS="filename"
|
|
>/dev/sdb</TT
|
|
>. If you remove either, all the higher
|
|
numbered drives will be renamed the next time you boot up.
|
|
</P
|
|
><P
|
|
> If you have two SCSI controllers in your linux box, you will need to
|
|
examine the output of <B
|
|
CLASS="command"
|
|
>/bin/dmesg</B
|
|
> in order to
|
|
see what name each drive was assigned. If you remove one of two
|
|
controllers, the remaining controller might have all its drives
|
|
renamed. Grrr...
|
|
</P
|
|
><P
|
|
> There are two work-arounds; both involve using a program to put a
|
|
label on each partition (see <A
|
|
HREF="labels.html"
|
|
>Section 6</A
|
|
>). The label is
|
|
persistent even when the device is physically moved. You then refer
|
|
to the partition directly or indirectly by label.
|
|
</P
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect3"
|
|
><H3
|
|
CLASS="sect3"
|
|
><A
|
|
NAME="AEN331"
|
|
></A
|
|
>2.1.3. Logical Partitions</H3
|
|
><P
|
|
>
|
|
<DIV
|
|
CLASS="table"
|
|
><A
|
|
NAME="AEN334"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 5. Logical Partitions</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive name</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive controller</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>drive number</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>partition type</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>partition number</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>primary</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>extended</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>NA</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda5</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>logical</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hdb6</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>2</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>logical</TD
|
|
><TD
|
|
WIDTH="20%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>3</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
>
|
|
|
|
</P
|
|
><P
|
|
> The table above illustrates a mysterious jump in the name
|
|
assignments. This is due to the use of logical partitions (see <A
|
|
HREF="partition-types.html#logical"
|
|
>Section 3.4</A
|
|
>, which always start with 5, for
|
|
reasons explained later.
|
|
</P
|
|
><P
|
|
> This is all you have to know to deal with linux disk devices. For
|
|
the sake of completeness, see Kristian's discussion of device
|
|
numbers below.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="numbers"
|
|
></A
|
|
>2.2. Device numbers</H2
|
|
><P
|
|
> The only important thing with a device file are its major and minor
|
|
device numbers, which are shown instead of the file size:
|
|
<TABLE
|
|
BORDER="0"
|
|
BGCOLOR="#E0E0E0"
|
|
WIDTH="100%"
|
|
><TR
|
|
><TD
|
|
><FONT
|
|
COLOR="#000000"
|
|
><PRE
|
|
CLASS="programlisting"
|
|
> $ ls -l /dev/hda
|
|
</PRE
|
|
></FONT
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
>
|
|
<DIV
|
|
CLASS="table"
|
|
><A
|
|
NAME="AEN380"
|
|
></A
|
|
><P
|
|
><B
|
|
>Table 6. Device file attributes</B
|
|
></P
|
|
><TABLE
|
|
BORDER="1"
|
|
CLASS="CALSTABLE"
|
|
><TBODY
|
|
><TR
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>brw-rw----</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>1</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>root</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>disk</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>3,</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>0</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>Jul 18 1994</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>/dev/hda</TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>permissions</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
> </TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>owner</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>group</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>major device number</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>minor device number</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>date</TD
|
|
><TD
|
|
WIDTH="12%"
|
|
ALIGN="CENTER"
|
|
VALIGN="MIDDLE"
|
|
>device name</TD
|
|
></TR
|
|
></TBODY
|
|
></TABLE
|
|
></DIV
|
|
>
|
|
</P
|
|
><P
|
|
>When accessing a device file, the major number
|
|
selects which device driver is being called to perform the
|
|
input/output operation. This call is being done with the minor number
|
|
as a parameter and it is entirely up to the driver how the minor
|
|
number is being interpreted. The driver documentation usually
|
|
describes how the driver uses minor numbers. For IDE disks, this
|
|
documentation is in
|
|
<A
|
|
HREF="file:/usr/src/linux/Documentation/ide.txt"
|
|
TARGET="_top"
|
|
> <TT
|
|
CLASS="filename"
|
|
>/usr/src/linux/Documentation/ide.txt</TT
|
|
></A
|
|
>.
|
|
For SCSI disks, one would expect such documentation in
|
|
<A
|
|
HREF="file:/usr/src/linux/Documentation/scsi.txt"
|
|
TARGET="_top"
|
|
> <TT
|
|
CLASS="filename"
|
|
>/usr/src/linux/Documentation/scsi.txt</TT
|
|
></A
|
|
>,
|
|
but it isn't there. One has to look at the driver source to be sure
|
|
(<A
|
|
HREF="file:/usr/src/linux/driver/scsi/sd.c"
|
|
TARGET="_top"
|
|
> <TT
|
|
CLASS="filename"
|
|
>/usr/src/linux/driver/scsi/sd.c</TT
|
|
></A
|
|
>:184-196).
|
|
Fortunately,
|
|
there is Peter Anvin's list of device numbers and names in
|
|
<A
|
|
HREF="file:/usr/src/linux/Documentation/devices.txt"
|
|
TARGET="_top"
|
|
> <TT
|
|
CLASS="filename"
|
|
>/usr/src/linux/Documentation/devices.txt</TT
|
|
></A
|
|
>;
|
|
see the entries for block devices, major 3, 22, 33, 34 for IDE and
|
|
major 8 for SCSI disks. The major and minor numbers are a byte each
|
|
and that is why the number of partitions per disk is limited.
|
|
</P
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="intro.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="partition-types.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Introduction</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Partition Types</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |