  Large Disk HOWTO

  Andries Brouwer, aeb@cwi.nl
  v2.0, 22 January 1999
  賲 nkkim@ricl9.konkuk.ac.kr
  1999 7 10

  ũ (geometry) 1024 Ǹ ѿ Ͽ

  1.  

   1024 ̻ Ǹ  ũ  ִٰ  .
   ũ    INT13 BIOS ̽ ϴ
  ü  ִٰ  .  ̿    
  ް ȴ. ֳϸ ̿  ̽    10Ʈ
  Ǹ  ҴϿ ϱ ̴.  ׷Ƿ Ǹ ȣ 1024
  Ѵ  ̿   Ұϴ.  (2^10 = 1024)

  ེԵ  BIOS  Ƿ  ΰ ϸ
  ̷  .

  ù°  ý Ҷ,   ۵ 
  ̹Ƿ, BIOS   ذ  Ѵ.  ̰
  LILO(LInux LOader)    δ ߿  ģ.

  ° ̰ Ƽ ġ ġ ϳ ũ  
  ü ʼ̴. ޸ ؼ,    ϳ
  ũ Ѵٸ,  ü   Ƽ ̺
  ؼؾ Ѵ.  ̰  Ŀΰ fdisk α׷ ſ ߿
   .

  Ʒ õ   ڼ ȴ.  ڴ Ŀ  2.0.8
   Ѵ. ٸ  ణ ̰  ̴.

  2.   

  뷮 ũ  ֽϴ.  ؾ ұ ?  Ʈ
  ۾δ Ƽ ϱ  fdisk  cfdisk  Ű 
  켱̰. ׸ Ͻý   mke2fs  ϱ.
   Ӱ   ý Ŵٶ     mount
  Ű .

    ֱٵ 뷮 ũ      
   ŵ ˴ϴ.  κ   Ŷ ϴ
   ̰ų ũ ڸ ġϹǷμ   Ǵ fdisk
   忡 ۾ϰų ƴϸ ũ   LILO Ǵ
  Ŀ ɾ λ   Ϸ  ۵ȴ.

    (i)  ϵ, (ii)  ũ
  ġ  ü, (iii)  ÿ  ̴.

   :

   SCSI ũ  ʱ Ǿ Դ. ߰ ۾
  ʿ.   IDE ũ ֱ  Ŀ(2.0.34 ̻) ޱ
  ٶ.  Ϲ     ̴.   ý
  LILO ܰ迡 ߴ , /etc/lilo.conf  ġ Ͽ linear
  ɼ  ֱ ٶ.

    fdisk α׷  ְ,  α׷
  ``overlapping'' Ƽ ̶ ޼ Ÿ ̷ 
  ޼  ų cfdisk  Ͽ  
  Ǿ ȮϿ.

   ũ ũ⿡  ִٰ Ǹ,  
  (``'') ȥϰ  ʴ Ȯϱ ٶ,  ũ 
  df(disk free)  Ÿ   ũⰡ Ƽ ũ 
  ټ ۴ٴ  ϱ ٶ.  ̰   ΰ
  κ̴. (ext2  ý  ý ϴ ܰ迡 ü
  Ƽ ũ⿡ Ϻθ  ()  ´.)

    ִٰ ǰų, ȣ ߵǴ , Լ о
  ֱ ٶ.

  3.   ũ

  1 kilobyte (kB)  1000 Ʈ̴. 1 megabyte (MB)  1000 kB̰, 1
  gigabyte (GB)  1000 MB̴. 1 terabyte (TB)  1000 GB̴.  ̰
  SI ǥ̴.    1 MB ũ⸦ 1024000 Ʈ Ͽ
  1.44 MB  ÷ ũ  ϴ  ְ,   1 MB
  = 1048576 Ʈ ϴ  ִ.

  ⿡ ڴ ȵ ǥ . ׸    Ki, Mi,
  Gi, Ti Ѵ. ׷Ƿ ÷ ũ 1440 KiB ̰, 1 MiB 
  1048576 Ʈ(1.05 MB)̴. ׸ 1 GiB  1073741824 Ʈ (1.07
  GB)̰, 1 TiB  1099511627776 Ʈ(1.1 TB)̴.

   Ȯϰ ϸ, ũ ̺ ü SI ǥ ,
    Ѵ. ƹư  ý ޼  fdisk
  α׷ MB Ǵ GB  ȣ   ϰų ȥյ ,
    Ѵ.  ׷Ƿ ũ Դ ũ  ۴ٰ
  ϱ  ũ ũ⸦  Ȯϰ   ٶ.

  3.1.   ũ

     ũ 512 Ʈ̴.   κ 
  ϴ.  ׷  MO disk  2048 Ʈ ũ ͸
  Ѵ.  ׷Ƿ Ʒ ־ ũ ʹ  4 
  Ѵ.

  3.2.  ũ ũ

  C  Ǹ, H  , ׸ Ʈ S  ͸ 
  ũ  C*H*S  ͸ ´. ׸ C*H*S*512 Ʈ ũ
    ´.

    ũ ǥ鿡 C/H/S=4092/16/63 ̶  , 
  ũ 4092*16*63 = 4124736  ͸ ´. ׸
  4124736*512=2111864832 Ʈ (2.11 GB)ũ⸦ ´.  8.4 GB  ū
  ũ鿡 ؼ C/H/S=16383/16/63 ǥϴ  Ѵ.
  ׷Ƿ ũ ũ  ̻ C/H/S   Ҽ .  

  4.  ũ 

  ũ ͸ аų  ؼ ͹ȣ ȣ
  ̿Ͽ ũ ġ ؾ Ѵ.   SCSI ũ
  ,  ȣ  SCSI  ޵ȴ.  ׸ ũ
   νĵȴ.   LBA(Large Block Addressing) ̿ϴ IDE
  ũ   ̿ȴ. ׷  RLL ̳ MFM Ǵ LBA
   ܰ IDE , ũ ϵ ũ Ư ġ
  Ÿ    (cylinder, head, sector) 䱸Ѵ.

   (linear) ȣ ű  3 ǥ(CHS) ̿ 
   ȯ  ִ.  C  Ǹ, H  , Ʈ S  ͸
   CHS(3D) ǥ  (linear) ȣ ű ̳ LBA
   ǥ c*H*S + h*S + (s-1)  Ű ġ ϰ ȴ.
  (  1    sector ȣ  0 ƴ
  1 ۰ ߱ ̴)

   ſ  non-SCSI ũ ϱ  C, H, S  
  ũ  (geometry) ˾ƾ Ѵ.

  4.1.  BIOS ̿ ũ ٰ 1024 Ǹ ũ 

   BIOS ̿ ʴ´. ׷ ٸ  ý ̿ 
   ϰ ִ. LBA    BIOS  C/H/S 
  Ķͷ ϴ INT13 ũ  ƾ Ѵ.  ( Ȯϰ
  ϸ, AH ʹ  Լ ϰ, CH Ǹ ȣ
   8Ʈ, CL 7-6 Ʈ Ǹ  2Ʈ ϸ, 0-5 
  Ʈ  ȣ DH ʹ  ȣ, DL ʹ ̺
  ȣ Ѵ.  Լ Ű, C/H/S    ִ)

   ̷  3 Ʈ CHS    ִ.  10 Ʈ
   Ǹ ȣ ׸ 8 Ʈ   ȣ, 6Ʈ 
  ͹ȣ   ִ.  ̿  δ Ǹ ȣ 
  0-1023   ϴ.  1024  ̻ Ǹ BIOS
   Ұ ϴٴ ̴.

    α׷ LBA ϴ IDE ũ  ,
    ϰ ־.  ׷Ƿ   
  ũ   ̻ ʿ ʴ ¿, BIOS ̿ϱ
   ũ  (Geometry) ʿ ϴ Ȳ
  ӵǾ.  ̰ ٽ  ֱ ũ BIOS ٸ
  ü Ž 䱸Ǵ   ũ 
  (Geometry) ʿ Ѵٴ ̴.

  ̿   4 ӵǾ,   Ǵ ũ INT13
  ý Լ  ּ     Ǿ.  ( (C,H,S) 
  10+8+6=24 bits 8.5 GB ̻ ּҸ    ̴ ) 
  ο BIOS ̽ Ǿ: Ȯ INT13 ý Լ ҷ
    DS:SI ͷ 8 Ʈ   ȣ ϴ 16
  Ʈ ũ ּҴ Ų.

  ſ ӵ ũ Ʈ 赵 ̷ Ȯ INT13 ý Լ
  ̿ϴ  ̵ϰ ִ.  Ƹ   ȿ ũ
   (Geometry) ʿ ϴ ֽ ϵ  ̻
    ̴.

  4.2.  BIOS IDE  ѿ  ̾߱

     ATA  (for IDE disks) - 137 GB 
        ִ 65536  Ǹ(0-65535), 16  (0-15), 255  Ʈ
         (1-255)μ ִ 267386880 (ʹ 512 byte) ,
        ̰ 136902082560 Ʈ ũ(137 GB) ǹѴ.   
        1999    ʴ´. ׷ ĸ  絵
          ް  ̴.

     BIOS Int 13 - 8.5 GB 
        ִ 1024 Ǹ (0-1023) 256  (0-255), 63 
        Ʈ ͼ(1-63)μ ִ 8455716864 Ʈ ũⰡ
        ϴ.    ɰ .    DOS
        ֱ 뷮 ũ   ٴ  ǹѴ.

     528 MB 
         C,H,S BIOS INT 13 ý ȣ IDE ũ ¿
        Ǵ , ΰ   ȴ. ׷Ƿ 1024 
        Ǹ 16 , 63  Ʈ ͷ  ü 뷮
        528482304 Ʈ (528 MB) ѵǴ  ְ,  BIOS
        ϴ DOS 504 MiB ũ ̶   ִ.
        ̷  1993  ۵Ǿ,   LBA
         ϵ BIOS  ȯ  firmware  ̳
        disk ڿ  Ʈ   Ͽ.
        `ȯ`̶  1994⿡ Ÿ: BIOS  ̺
        ϴ  ũ  (Geometry)  
        ְ, ٸ  BIOS DOS ϴ   ̴
        ,   ̿ ȯ Ѵ.

     2.1 GB  (1996. 4)
          BIOS  CMOS RAM 12 Ʈ Ǹ  
        ҴϿ.    ġ ִ 4095 ũ⸦ Ҽ
        ְ, ̰ ٽ 4095*16*63*512=2113413120 Ʈ  
        ִ.  뷮 ũ ϴ  ý  ߰ 
        ̴.  ̰ 4092/16/63   ũ ӿ
         Ͽ.   뷮 ũ ̺ 4092/16/63
        ũ  (Geometry)   ֵ ϴ
        ۸  õȴ.  over2gb.html  ϱ ٶ.

     3.2 GB 
        Phoenix 4.03  4.04 BIOS firmware 3277 MB ̻ ̺긦
         ýۿ CMOS    װ ־.
        See over3gb.htm  ϱ ٶ.

     4.2 GB  (1997. 2)
         BIOS ȯ ۾ Ǹ  1024  ʴ 
        ݺ    ϰ, DOS νĵǴ Ǹ
          ҽŰǷ ̷.  (ECHS=Extended CHS, δ
        `뷮 ũ ' Ǵ ׳ `'̶ ҷ.)  DOS
         95 256  带 ó  , Ϲ 
        ũ 16 带  ó  ̴.  ׷Ƿ ̷
        ܼ   8192*16*63*512=4227858432 Ʈ 
        ó ϴ.  (1024 Ǹ, 128 , Ʈ 63
        ͸  ó ȯŰ ) Ȯ(Extended) CHS
         Ʈ    ʴ´.  ׷Ƿ, 
         63 ƴ϶,  Ѱ   ̴.  over4gb.htm 
        ϱ ٶ.

     7.9 GB 
           BIOS    15 ϹǷμ 240
         带    μ տ 
         .  1024*240*63*512=7927234560 bytes   
        ִ.

     8.4 GB 

         BIOS ̷ ȯ۾    Ҽ
        ִ   ϰ 255  63 Ʈ ͼ
        ϸ ̰ 1024*255*63*512=8422686720 Ʈ  
        ϴ.   ġ 256 带  ũ 
               8.5 GB Ѻ
        ټϰ  ġ ȴ.  ( ȯ ü ũ 뷮
        1024*H*63*512 ߱  H ġ 16, 32, 64,128, 255
        ϳ Ͽ Ѵ. ׷  ü뷮 H*63*512 
        Ǹ  Ѵ.)

      ٸ ڷḦ ϸ Breaking the Barriers
   ϶. ׸  ڼ  Ѵٸ IDE Hard Disk Capacity
  Barriers ϱ ٶ.

  8.4 GB̻ ϵ ũ ̷ ũ  16383/16/63 
  ˷ش.  ̰  ũ  (Geometry)
  ϰ  ǹѴ. ׸ ü ũ ũ ̻
  ũ  (Geometry)     ǹѴ.

  5.  

  ý ý, BIOS ù° ũ(Ǵ ÷ Ǵ cdrom) 0 °
  (MBR : Master Boot Record) д´.  ׸ װ ġ ڵ
  κ ̵ Ѵ. Ϲ װ bootstrap δ ġ ִ.
    bootstrap α׷ Ư ̹  BIOS  񽺸
  ̿Ѵ.  ׷Ƿ  Ŀ 1024 Ǹ   ġϸ
   ϴٴ  ǹѴ.

  ̷   ſ  ذȴ:  Ŀ̳ LILO map ϰ
   bootup ÿ Ǵ  BIOS   ֵ Ƽ
  ü 1024 Ǹ  ԵǴ Ȯ ϶.  (Ƹ ù° Ǵ
  ι° ũ ̿ ش  ̴.)

  ׷Ƿ 10 MB   ũ Ƽ Ͽ, Ŀ ٷ
    ǵ Ѵ.  ׸ ù° Ǵ ι° ũ 1024
  Ǹ ʿ Ŀ  ġ  ִ Ȯϱ ٶ.  
  /boot 丮 Ͽ  Ƽ ƮϿ LILO   ʿ
     ֵ Ѵ.

  boot loader BIOS ũ (Geometry) Ͽ Ѵ.
  ̰ LILO (linear) ɼ ִµ   ̴.  ڼ
   Ʒ ִ.

  6.  ũ , Ƽ, ׸ `ߺ(overlapping)'

    ũ   ü  ִٸ, 
  ü ϳ Ǵ  ũ Ƽ Ѵ.  ̷ Ƽ
  ġ  ̴     ִ.

  MBR(Master Boot Record) Primary Ƽ  ġ ϴ
   Ƽ ̺  ִ.  MBR 4 Primary Ƽ ̺
  ׸ ִ.

     ´.

              struct partition {
                      char active;    /* 0x80: bootable, 0: not bootable */
                      char begin[3];  /* CHS for first sector */
                      char type;
                      char end[3];    /* CHS for last sector */
                      int start;      /* 32 bit sector number (counting from 0) */
                      int length;     /* 32 bit number of sectors */
              };

  ( ü  16 Ʈ ũ⸦ ´.  512 Byte  MBR
  Ĺݺο 16 x 4 (Primary Partition Table)   ̸ Ͽ
  ȴ)

  տ ߵ  CHS  Cylinder, Head, Sector ǹѴ.
    ߺǴ μ Ƽ ġ 24 Ʈ ũ
  (begin) (end) Ÿ ʵ 32 Ʈ (start)
  (length) ʵ忡 Ͽ    ִ.  ( (begin, end) 
  (start, length)    ǥ  ִ)

    ۰  ʵ常 Ѵ. ׷Ƿ 2^32  
  ũ Ϳ ؼ ó ϴ.  , ִ 2 TiB ũ
  Ƽ ϴ.   ũ   ũ ũ⿡  100  
  ū ũ̴.  ׷Ƿ  8 ̻   ȴ.
  (׷Ƿ Ƽ ũⰡ Ŀ . ׷ ext2  ýۻ
  Ͽ ɰ  ִ. װ 32 Ʈ  
  ϵ󿡼 ext2 Ͻýۿ 2 GiB ̻   ٴ
  ̴.)

  DOS  ۰  ʵ带 Ѵ. ׸ ũ ϱ  BIOS
  INT13 ý ȣ Ѵ. ׷Ƿ ȯϴ BIOS   8.4
  GB      ִ.  Ƽ ũ FAT16 
  ý   2.1 GB  Ŀ  ٴ Ȱ 찡 Windows
  3.11  WfWG  windows NT 3.*, Novell NetWare ߻Ѵ.

  Windows 95 Ȯ INT13 ̽  Դ. ׸ Ư Ƽ
    Դ.( b, 6, 5  c, e, f ϴ Ͱ ) 
    ϹǷμ Ƽ  Ȯ INT13   
  ֵ ϰ ִ.  ̷ Ƽ   , (start
  field) (end field) Ÿ ʵ 1023/255/63  ǹ
   ´ Windows 95 OSR2  FAT32  ý ҰϿ, 
   ý  b Ǵ c  ´.    ý 2 TiB
  ũ  Ƽ ũ⸦ Ѵ.

  fdisk Ƽ `ߺ(overlapping)' ޼  Ǵµ 
  ǹΰ ?    ?

   ֽϴ.  ̷ Ƽ (start)  (end) ʵ带 
  DOS ü  ߺǾ ִ    ֽϴ.  (
   ʽϴ. ֳϸ ̷ ʵ 1024  ̻ Ǹ
  ȣ    Դϴ. - 1024  ̻ Ǹ  ̻
  `ߺ'  ӵ Դϴ.)

  ·ų,  (start) (end) ʵ带 ԵǸ 
  Windows 95  c, e, f  Ƽ   ׷ϵ
  Դϴ.  ׷Ƿ cfdisk  ̰,  Linux
  ϴ ũ  ִٸ ̷  ޼ ϱ
  ٶϴ.  ׷ ̷ ũ DOS    ϱ
  ٶϴ.  /dev/hdx  ִ Ƽ ̺ ȮϷ cfdisk -Ps
  /dev/hdx  cfdisk /Pt /dev/hdx   ϱ ٶϴ.

  7.  ȯ  ũ 

  ũ , Ǹ, Ʈ   MFM̳ RLL 
  ũ ô ϴ ̴.   ô뿡 ̷  
   Ͽ.  ٷ IDE  SCSI ũ   
  ũ   Ǵ   ʴ´.   Ʈ
    ̴ -   ũ ٱ Ʈ Ҵ
     Ʈ .  ׷Ƿ Ʈ  Ȯ ġ
   ʴ´.  ټ   IDE INITIALIZE DRIVE PARAMETERS
  (91h)   ũ  ִ  Ǵ  Ʈ
    ũ ˷ش.  2 带   ֽ ũ
  15 Ǵ 16 带  ִٰ BIOS  ˸   Ϲ
  ̸,     BIOS ٽ  α׷ 255 尡
  ִ  ˸.

  ڿԴ ũ ġ  ȣ    ֵ 0, 1,
  2,..  迭 ϴ  ̴.  ׸ Ư 
  ũ ġ  firmware ؿ óǵ ϴ  ̴.
  ̿   ȣο  LBA  Ѵ.

  ׷Ƿ  ׸  .  DOS, Ǵ  boot loader
  BIOS    (c,h,s)  Ѵ.  BIOS  (c,h,s) 
  (Geometry) ӱ Ͽ ڰ ϴ LBA 
  ȯѴ.  ũ LBA ޾ ̸,   ũ  
  ȴ.  ׷ ׷ ,  ũ ϴ 
  ̿Ͽ (c',h',s')  ȯǰ, ̸ ̿Ͽ ũ 
  ̷.

  뿡 ־ ȥ  ָ϶ : : `LBA' ũ 뷮
  ǥϴ μ ̰ `Linear Block Addressing'  ǹϰ(CHS
  ּҹ ݴǴ ), BIOS  ̰ `assisted LBA` 
  ҷ ȯ ǹѴ.  Ʒ```'''  ٶ.

  firmware LBA   BIOS ȯ  ˰ ִ ,
   ۾ Ͼ.  (ܰ迡 ̰ `Large' ǥõȴ)
   BIOS  (C,H,S)  ü ϰ, ũ
  Ʈѷ (C',H',S')  ̿Ѵ.  Ϲ S = S', C = C'/N, H
  = H'*N  N C' <= 1024 Ű 2   
  ̴. ׷Ƿ C' = C/N  뷮 ּȭ Ѵ.  ٽ
  ̰ 8.4 GB (7.8 GiB)   Ѵ.

  (° ġ ɼ Ϲ `Normal', ̰ ƹ ȯ 
  ʿ  ʴ ̴.)

  BIOS `Large' or `LBA' 带  ʾƵ, Ʈ
  ذå ִ. OnTrack ̳ EZ-Drive ũ  α׷ BIOS
  ũ ڵ鸵 ƾ ׵ ƾ üŲ.   ̰ MBR
   sector ũ ڵ带 ġŰǷμ ȴ.  (OnTrack
  α׷  ڵ带 DDO(Dynamic Drive Overlay)  θ.)
  ׷ ̰ ٸ  ü Ʈȴ.

  ̰ ٷ Disk Ŵ ġ ¿ ÷Ƿκ ý ް
  Ǵ ̴.

   BIOS  ȯ  ϴ. ׷  ũ󿡼
   ü ϴ , ũ Ŵ   
  ߱ ų ִ.

  Linux 1.3.14   OnTrack Disk Manager   ԰, EZ-
  Drive  1.3.29     ϰ ִ.   ڼ 
  Ʒ  ִ.

  8.  IDE ũ  Ŀ ũ ȯ(?)

    Ŀ IDE ũ ġ ũ Ŵ ϴ 
   Ŀ ũ Ŵ     ũ
  ٽ ġϷ  ̴.  ׷Ƿ Linux DOS   ũ
  Ƽ νϰ  ̴.   ο  ԷµǴ
  ġ ۾ Ͼ ʴ´.  ׷Ƿ `hd=cyls,heads,secs'  
  ɶ ɼ ũ Ŵ ȣȯ  ߸  ̴.

  ġ  C <= 1024 ̰ų H = 255   H*C ϰ
  ü   4, 8, 16, 32, 64, 128, 255  ʷ
  õμ ̷ .

  ڼ  Ʒ ִ. - Ʒ  ش  ޼
  Ÿ ڿ̴.  Ƽ  ׻ 16 ǥõȴ.
  8.1.  EZD

  EZ-Drive  ̸Ӹ Ƽ  55 , ̸ ̿Ͽ
  ν  ִ.    ޵ ó ġ ȴ. ׸
  sector 0  Ƽ ̺ õȴ. ſ Ƽ ̺
  sector 1  о .  ũ  ȣ  ʴ´.
  ׷ sector 0   ۾ sector 1  ȴ.  ̷
  ۾ kernel Ʒ   Ŀ ٽ  μ
  ̷.

   #define FAKE_FDISK_FOR_EZDRIVE  0  in ide.c.

  8.2.  DM6:DDO

  OnTrack DiskManager (ù° ũ ִ) ù° ̸Ӹ
  Ƽ  54 , ̸  ν ϴ.  
   ޵  ġȴ. ׸ ü ũ 63
  sectorŭ Ʈ ȴ.  ׷Ƿ  63 ʹ 0 Ͱ ȴ.
  ᱹ ο MBR(Ƽ ̺ ) ο  0 
  .   ̷ Ʈ ۾ DDO    Ѱ̴.
  ̰ ٸ ũ ؼ Ʈ ۾  ʴ ̴.

  8.3.  DM6:AUX

  OnTrack DiskManager (ٸ ũ ġ ) ù° ̸Ӹ
  Ƽ  51Ǵ 53  , ̸ ̿Ͽ ĺ
  ϴ.    ޵ ó  ġ ȴ.

  8.4.  DM6:MBR

  OnTrack DiskManager  Ƽ  ̿ ʰ, ȣ
  ̿Ͽ ĺѴ.  (MBR 2° 3° Ʈ ã offset
  430  Ȯϰ  ɼ¿ ߰ߵ short  0x55AA
   ȮѴ. ׸ Ȧ Ʈ ڸ  ȮѴ.
    ϰ ȯ ȴ.

  8.5.  PTBL

  , ̸Ӹ Ƽ ۰    ȯ
  Ϸ õ ִ.    Ƽ (start) (end) 
  ȣ 1 63  ,  ȣμ 31, 63, 127 Ǵ 254
   , Ƽ Ǹ 󿡼  ϴ  
  IDE ̽ ִ 16 带 ϱ ̴.   ̰
  ȯ ̷ٰ   ְ,  32, 64, 128 Ǵ
  255  ȯȴ.  ׷,   Ʈ 63 ͸
   ְ,   ŭ   ġ ۾ Ͼ
  ʴ´.  (̰ ̹ ġ ۾ Ͼ ǹϱ ̴.)

  9.   

     ǹ ϴ  ΰ ?   ڿԴ  Ѱ
  : ڵ LILO fdisk ùٸ  ϴ Ȯؾ
  Ѵٴ ̴.  fdisk ùٸٴ   ũ ٸ
  ü   ()Ǵ  ǹϸ, LILO
  ùٸٴ ǹ̴ ý BIOS     ִ
  (Geometry) ǹѴ.

   fdisk   ˼ ִ° ?  fdisk  HDIO_GETGEO ioctl
  ̿Ͽ kernel 䱸Ѵ.  ׷ ڴ  ȣȭ
  Ǵ       ִ.

   LILO   ˼ ִ° ?  LILO HDIO_GETGEO ioctl
  ̿Ͽ Ŀο 䱸Ѵ.  ׷ ڴ /etc/lilo.conf ϳ
  `disk=' ɼ ̿Ͽ     ִ.   
  LILO (linear) ɼ  ̴. ׸ ̰ LILO map
  Ͽ CHS ּ  LBA ּҸ  ̴.  ׸ ý
   ã ̴.  (ũ  䱸ϱ  INT 13
  Function 8  ϴ )

  Ŀ  ؾ     ִ° ?  ٵ ڴ
  `hda=cyls,heads,secs'  Ŀ   ɼ  Ͻ
    ̴. ( bootparam(7)  ) ׷ ʾҴٸ
  Ŀ BIOS ϵ    ̿Ͽ  ̴.

  10.   

  10.1.  IDE     - 7 (Geometry)

  IDE ̹  ټ ٸ    ִ.
  ù°(G_user)  λ󿡼 ڿ   ̴.
  ι°(G_bios) 32 bit  ȯ , ý ۽ÿ 
  ù°, ι° ũ  BIOS  ũ ׸ ̴̺.
  °(G_phys) ׹°(G_log) IDENTIFY ɿ  IDE Ʈѷ
  ؼ ȯϴ , ̰ `'̰ų ` '
  ̴.

  ݸ鿡, ̹   ΰ  ʿ Ѵ.  Ѱ
  HDIO_GETGEO ioctl  ȯǴ G_fdisk̰, ٸ ϳ 
  ¿ Ǵ G_used̴.  G_fdisk  G_used  G_user  ־
  , G_user ʱȭ ǰ, CMOS  G_bios Ǹ G_bios
   ȴ.   쿡 ش ʴ  G_phys
  ʱȭ ȴ.   G_log   ǴܵǸ, G_used  
  ȴ.  ׷ ʰ G_used  ̸, G_phys 
  ̸ G_used G_phys  ȴ.  ⿡ ϴٴ 
    1-16 츦 ǹѴ.

  ޸ ϸ:    BIOS    fdisk 
     Ѵ. ׷  ̰ 16 ̻ 
  ȯ  üȭ Ǹ, Ŀ ¿ , IDENTIFY 
      .

  G_bios ټ ŷ  ϴٴ  ϱ ٶ.  : SCSI 
   ϴ ý  ù° ι° ũ SCSI ũ
  ̴. ׸ sda  BIOS ϴ  Ŀ ο
  hda  ȴ.  Դٰ BIOS  ܰ迡 ޵Ǵ ʴ
  ũ BIOS   ʴ´.  ̰  IDE 
  ϴ ýۿ hdb ¾ ܰ迡 ־   BIOS 
   Ǵ ù°, ° ũ  hda hdc  ȴٴ
   ǹѴ.

  10.2.  SCSI    

  SCSI  ణ ̰ ִ. SCSI  ̹   ȣ
  ϱ  (Geometry)  ° ϴ.  ׷
  Ƽ ̺   ϴ. ׷Ƿ fdisk Ϻ
   ؾ ϸ, HDIO_GETGEO  Ѵ.  ſ fdisk
  IDE SCSI ũ̿   ʴ´.  Ʒ   
   ֵ پ ̹  ݾ ٸ  
  .   ϳ ū ȥü̴.

    DOS   ü ϰ  ʴٸ,
   Ȯ ȯ  ϰ ϴٸ, 64  Ʈ 32
   (ϰ,    Ǹ 1 MiB ũ, 64*32*512
  = 1 MiB) Ͽ.  ׷Ƿ ũ ٸ Ʈѷ ̵ÿ
  ̷  ߻ ʵ Ͽ.   SCSI ũ
  ̹(aha152x, pas16, ppa, qlogicfas, qlogicisp) DOS ȣȯ
   ſ Ͽ 8 GiB̻ ϴ  ý 
  ʴ´. ״.

    ΰ ?   ϸ (real) 
  ٴ ̴.  ׸  ־   ˰ 
  ʾ ̰  fdisk LILO Ǵ kernel ׷  
   ̴.  ̰   SCSI Ʈѷ ũ 
  .  ٽ ϸ,   ڸ 
  fdisk/LILO/kernel> SCSI ũ    ̴.

  ׷  ȣ ٸ, ũ ü  䱸  ִ.
  ü ũ ũ  ȯϴ READ CAPACITY  
  ϰ Rigid Disk Driver Geometry Page  Ǹ  
   ˷ִ Format Page ʹ Ʈ ũ Ʈ  
  ˷ ִ MODE SENSE  Ѵ.

   ȣ Ϲ  notch Ѵ. ׸ Ʈ  
  ̴. ٱ Ʈ  Ʈ   ͸ ´.
   Ǵ scsiinfo α׷ ̷  Ѵ.  
  α׷   ϱ ġ ʴ ϰ  
   ִ. (Ƹ  ü )

  Դٰ 츮 fdisk LILO  ´ٸ, Ƽ ̺ C/H/S
     10, 8, 6 Ʈ  ξ  fdisk 
    C/H/S=4476/27/171  ϳ  ã  ִ.

  ׷ Ŀ HDIO_GETGEO ̷  𿡼 ° ?  Ƹ,
  SCSI Ʈѷ Էµ      ̴.  
  ̹ 츮  ˰ ϴ  ϴ  ,
  츮  DOS  OS/2 FDISK(Ǵ Adaptec AFDISK Ÿ )
     ˰ Ѵ.

   fdiskα׷ LBA ͹ȣ c/h/s ּҷ ϱ 
  Ʈ (H)  (S) ʿ Ѵٴ  ϶.  ׷
  Ǹ (C)  ȯ  ƹ ҵ  ʴ´.  
  ̹ ̺ ũⰡ  1023*255*63 sector ̻ ̶
   ˸  (C,H,S) = (1023,255,63) Ѵ.  ̷ 
   ũ⸦  ʱ   ̴.  ׸ κ
  fdisk α׷ ڵ  8GiB  ũ ѽŲ.

  Ʒ , M  ü ũ  ǥϸ, C, H, S Ǹ,
   ׸ Ʈ   Ÿ.  C  M / (H*S) ϸ,
  H, S  Ҵϱ⿡ ϴ.

  ⺻ H = 64, S = 32̴.

     aha1740, dtc, g_NCR5380, t128, wd7000:
        H=64, S=32.

     aha152x, pas16, ppa, qlogicfas, qlogicisp:
        C <= 1024 ̰ H=64, S=32̸, H=255, S=63̰ C  1023
        M/(H*S)   Ѵ.  (׷Ƿ C  ǰ,
        H*S*C ũ ũ M  ٻ簪 ƴϴ. ̰ κ
        fdisk α׷ ȥ Ѵ.)  ppa.c ڵ M ſ
        M+1 ϰ, sd.c   M  1 ŭ ũ
        Ѵٰ Ѵ.

     advansys:
        C <= 1024 ̰ H=64, S=32 ̸, BIOS 󿡼 `> 1 GB' ɼ
        Ǹ, H=255, S=63 ȴ.

     aha1542:
        Ʈѷ ΰ  ȯ   ϰ
        ִ 䱸Ѵ. ׸ H=255, S=63  ϰų H=64, S=32
        Ѵ.   ,  "aha1542.c: Using extended bios
        translation"̶  ޼ Ÿ.

     aic7xxx:
        C <= 1024, H=64, S=32̰, "extended"  ĶͰ
        ־ų, SEEPROM ̳ BIOS `extended' Ʈ Ǵ 
        H=255, S=63 ´.

     buslogic:
        C < 1024, H=64, S=32, C < 1024̰, Ʈѷ󿡼 Ȯ ȯ
         , M < 2^22 ̸ H=128, S=32, ׷  쿡
        H=255, S=63 ȴ.  (C,H,S)    Ƽ ̺
              (H,S) = (64,32), (128,32),
        (255,63) endH=H-1 ϴ Ѱ  ȴ.  ׸ 
        ޼ "Adopting Geometry from Partition Table" ̶
        µȴ.

     fdomain:
        BIOS ̺ Ķ ̺ ũ  ãų,
        Ƽ ̺ о 鿩 ù° Ƽǿ  H=endH+1,
        S=endS Ѵ. Ǵ M < 2^21(1 GiB)  H=64, S=32
        ϰ, M < 63*2^17 (3.9 GiB)  H=128, S=63  ϰ,
         쿡 H=255, S=63 Ѵ.

     in2000:
        C <= 1024 ϴ ù°   ãƼ Ѵ.
        (H,S) = (64,32), (64,63), (128,63), (255,63)  ,
        1023 ܵȴ.

     seagate:
        ũ  C,H,S  о δ. (Ҹ !)   C
        Ǵ S  ſ ū , S=17, H=2 ϰ C <= 1024 ϶ 
        H  .  ̰ M > 128*1024*17(1.1 GiB)  H
        0 ϰ ȴ.  ̰ ״.

     ultrastor and u14_34f:
           ϳ Ʈѷ  忡 
        ȴ.  ((H,S) = (16,63), (64,32), (64,63))

   ̺   , Ƽ ̺̳ ü
  ũ 뷮 Ͽ ϴ  ̿ϰ ȴ.

  Ƽ ̺ ƶ. Ǹ 󿡼 Ƽ  
   ־ end=(endC,endH,endS)  H=endH+1, S=endS  
  ִ.  ( ȣ 1 ϴ  ϱ ٶ.)

  ܰ  Ȯϰ ̷.    Ƽ ϸ,
  ִ beginC   Ƽ Ѵ.  õ Ƽǿ  end+1
   ȮѴ. (start) ġ (length) Ͽ ϰ 
  Ƽ Ǹ 迡 ٰ ϹǷμ ȴ.

  ΰ  ġϰų endC = 1023 ̰ start+length 
  (endH+1)*ensS ̸  Ƽ  Ǹ 
  ٰ Ѵ.  ׸ H  endH+1  S  endS  Ѵ.

    ϸ,  Ƽ  ʰų, ׵ 
  ũⰪ  ̸,   ũ 뷮 M  Ȯ϶.

  Algorithm: H = M/(62*1024) (rounded up), S = M/(1024*H) (rounded up),
  C = M/(H*S) (rounded down). ̰ Ǹ ִ 1024  
   62    ϴ (C, H, S)   
  ´.

  11.   IDE Ʈѷ 8 GiB (The Linux IDE 8 GiB limit)

   IDE ̹ ũ  뷮  Ÿ  ATA
  IDENTIFY (?) ̿Ͽ ´.  ֱٱ ̹ C*H*S 
   뷮 ȯ lba_capacity  10% ̻ ū   
  ŷ ʾҴ.

  ·ų 谣  , 16514064 ͺ ū 뷮  뷮
  IDE ũ ׵  ũ⿡ ϰ 7.8 GB 뷮 Ÿ
  C=16383, H=16, S=63  ȯѴ.  ׷ ׵  ũ
  lba_capacity  Ѵ.

  ֱ  Ŀ(2.0.34, 2.1.90) ̷  ݿǾ ־
   óѴ.     Ŀ  ,
  ׷̵带  ʴ´ٸ, ׸  Ŀ ü 뷮
  ũ ũ 8 GiB  ν  ִٸ
  /usr/src/linux/drivers/block/ide.c  ִ lba_capacity_is_ok 
  κ   ϵ Ͽ.

         static int lba_capacity_is_ok (struct hd_driveid *id) {
                 id->cyls = id->lba_capacity / (id->heads * id->sectors);
                 return 1;
         }

    ġ ۾ Ѵٸ 2.1.90 ƶ

  11.1.  BIOS ⼺(complications)

  Ͽ, 뷮 ũ  ũ ϰ C=16383, H=16, S=63
    ȯѴ.  ݸ鿡  ũ LBAcapacity 
  ȯȴ.

   BIOS  ̰ ν ϰ 16383/16/63  Ǹ
  ̰,   ̴ ȯ Ѵ.

  ׷ Ŀ   16383/16/63 Ȯ  ȯϴ
  BIOS  νؾ Ѵ.

  Ŀ 2.2.2 ĺ ̷   ۵ȴ.  (BIOS H 
  S ϰ C  ü뷮 (H*S)  μ ذȴ.)

  12.   64 GiB 

  HDIO_GETGEO ioctl short   Ǹ  ȯѴ.  ̰
  65535  ̻ Ǹ   Ǹ  ©   ִٴ
  ̴.  ׷ 80 GiB ũ 16 GiB ũ   ִٴ
  ̴.  ϴ   νϰ    ذ ϴ.

  13.  Ȯ   Ƽ

  ``'' 츮 MBR(Master Boot Record)(sector 0)  
  Ҵ.  Ʈ δ ڵ Ŀ ġϴ 4 Ƽ ̺ ׸
   16Ʈ  ϰ ִ. ׸  AA55  ϵǾ
  ִ.  Ƽ ̺ ׸ 5̳ F Ǵ 85(hex)  Ƽ
  Ư ǹ̸ ´.  ̷  Ȯ(extended) Ƽ ǹѴ.
  ̰  (logical) Ƽ  ҵ Ű
  ǥ̴.  (׷Ƿ, Ȯ Ƽ ϳ ū  ̸, ̰
  ü  ʰ Ȯ Ƽ ο  Ƽ Ͽ
  Ѵ.)   Ȯ Ƽ ù° Ϳ  ġ ߿
  ̴.  ù° ʹ 4 ׸  Ƽ ̺ Ѵ :
  ϳ  Ƽǰ ϳ Ȯ Ƽ ׸ ΰ ̻
  Ƽ ȴ.  ̷  ϳ Ȯ Ƽ ũ
    Ƽ ̺ ͸ ´.

  ̰ ϴ  ſ ߿ϴ.:   ũ Ƽ  
  Ǽ  , Ͱ  ϴ ˰  ̴.  
  Ϲ Ѵٴ ̴.  ׷  Ƽ ǰ  
  Ƽ  Ÿ Ƽ ̺ Ͱ ̷  Ƽǵ
  ۿ ϵ ٸ  ִ ͸ Ҿ  ȴ.

  sfdisk α׷ ü    ̴.

    # sfdisk -l -x /dev/hda

    Disk /dev/hda: 16 heads, 63 sectors, 33483 cylinders
    Units = cylinders of 516096 bytes, blocks of 1024 bytes, counting from 0

       Device Boot Start     End   #cyls   #blocks   Id  System
    /dev/hda1          0+    101     102-    51376+  83  Linux
    /dev/hda2        102    2133    2032   1024128   83  Linux
    /dev/hda3       2134   33482   31349  15799896    5  Extended
    /dev/hda4          0       -       0         0    0  Empty

    /dev/hda5       2134+   6197    4064-  2048224+  83  Linux
        -           6198   10261    4064   2048256    5  Extended
        -           2134    2133       0         0    0  Empty
        -           2134    2133       0         0    0  Empty

    /dev/hda6       6198+  10261    4064-  2048224+  83  Linux
        -          10262   16357    6096   3072384    5  Extended
        -           6198    6197       0         0    0  Empty
        -           6198    6197       0         0    0  Empty
    ...
    /dev/hda10     30581+  33482    2902-  1462576+  83  Linux
        -          30581   30580       0         0    0  Empty
        -          30581   30580       0         0    0  Empty
        -          30581   30580       0         0    0  Empty

    #

    Ƽ ̺ ۼ  ִٸ Ȯ Ƽ ڽ
  ٽ Űų Ƽ  ʱ⸦ Ű ȴٸ  Ŀ
   ȯ   ̴.

  ΰ Ȯ Ƽ ̷ Ƽ ̺  ϳ 
  Ƽ ̺    ϴ.  (̷  5, F, 85 
  Ȯ Ƽ ν ϴ fdisk α׷ F  Ƽ
  5 ϴ  ߻  ִ.)  ̷ Ȳ ó  ִ
  ǥ fdisk type α׷ .  ̰ ġ ؼ ణ
  ۾ ʿϴ.

   Ŀ  ٱ  ũ ޾  ̴.  ٽ
  ϸ, ΰ  Ƽ    ִ.  δ ̰
  ϱ⵵ ϴ.   ϳ 5    ְ, DOS
  ȴ. ׸ ٸ  85 DOS  Ƿ DOS FDISK
   1024 Ǹ͸ ġ  Ƽ    
  ̴.

  14.   ذ

    ׵   ִٰ Ѵ.  
  ׷ ʴ. Ǵ ׵ ׵  ִ  ũ 
  ̶ Ѵ. ׷ ũ  ̷  
  .    ϰ 鸱 , ũ  
  ʹ  : ƹ ͵  ʿ䰡 . ׳ ״  
  ̴.  Ǵ ý `LI'  Ÿ  ̻  ʴ 
  LILO  `linear' Ű带 ֶ.  Ŀ  ޼ ƶ. ׸
  ϶.: LILO fdisk  head cylinder Էϴ 
    ð ϴ  ϸ    డɼ
  پ  ̴.   ϸ  ⺻ ̴.
  ׸ ϶: ũ  Ǵ   
  𿡵 . ׷Ƿ  ϴ  ũ  
   ްԵ  .  ũ   LILO fdisk
  ؼ ȴ.  ׷Ƿ LILO Ŀ ϴµ ϸ, ̰
    ̴.

   ٸ ü ý Ƽ ̺ ν  ̰
    ̴. Ư ٸ  .  Ʈ  
  ʴ ũ    ʿ䰡 .   ٸ 
  Ѵ.

  14.1.  :  ũ  ߸   

  ũ ߸    ϴ.   Ŀ BIOS
  hd0  hd1 䱸Ѵ.(BIOS 󿡼 ̺ 80H 81H ֵȴ)
  ׸  Ͱ hda hdb   Ѵ.  ׷ SCSI
  ϴ ýۿ ó ΰ ũ Ƹ SCSI ũ 
  ̴. ׷ ù° IDE ũ hda 5° ũ sda شǴ
    ȴ.  ̷   Ķ͸   Է
  ϹǷμ ذȴ.  C, H, S    `hda=C,H,S' ý Ǵ
  /etc/lilo.conf ϹǷμ ذȴ.

  14.2.  Nonproblem:  ũ ٸ  ´ ?

  `  10 GB IBM ũ  ֽϴ. ׷ fdisk ̵
  ũ ũ ̸ ݴϴ.'  Ʒó :

              # fdisk /dev/hdb
              Disk /dev/hdb: 255 heads, 63 sectors, 1232 cylinders
              Units = cylinders of 16065 * 512 bytes

                 Device Boot  Start      End   Blocks   Id  System
              /dev/hdb1           1     1232  9896008+  83  Linux native
              # fdisk /dev/hdd
              Disk /dev/hdd: 16 heads, 63 sectors, 19650 cylinders
              Units = cylinders of 1008 * 512 bytes

                 Device Boot  Start      End   Blocks   Id  System
              /dev/hdd1           1    19650  9903568+  83  Linux native

   ̷  ?

     ɱ ? ٵ  ̷ ̺  10
  Ⱑ ƮԴϴ.  hdb 255*63*1232*512 = 10133544960ũ⸦ ,
  hdd 16*63*19650*512 = 10141286400ũ⸦ ϴ. ׷Ƿ ߸
   ϴ. ׸ Ŀ   θ 10.1 GB νմϴ.  ׷
   ũ ̰ ִ ǰ ? װ Ŀ ó ΰ IDE
  ũ  BIOS    Դϴ.  ׸ BIOS hdb
   255  带   Ҵ߱ Դϴ.  (and
  16*19650/255=1232 cylinders).  ⿡ ڸ   8 MB 
   Խϴ.

   hdd   ҴǱ Ѵٸ Ķ͸
  `hdd=1232,255,63' Է ָ ˴ϴ.
  14.3.  Nonproblem: fdisk α׷ df α׷ Ÿ  
  ū  ǥմϴ. ?

  fdisk ũ 󸶳   ִ  Դϴ.  
   ũ Ͻý  mke2fs  ̿ϸ,  
  ý ý 뵵(bookkeeping)  ణ  ʿ մϴ.
  Ϲ Ͻý ũ 4%  մϴ. Դٰ mke2fs
    inode  䱸ϸ    
  ˴ϴ.

   :

         # sfdisk -s /dev/hda9
         4095976
         # mke2fs -i 1024 /dev/hda9
         mke2fs 1.12, 9-Jul-98 for EXT2 FS 0.5b, 95/08/09
         ...
         204798 blocks (5.00%) reserved for the super user
         ...
         # mount /dev/hda9 /somewhere
         # df /somewhere
         Filesystem         1024-blocks  Used Available Capacity Mounted on
         /dev/hda9            3574475      13  3369664      0%   /mnt
         # df -i /somewhere
         Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
         /dev/hda9            4096000      11 4095989     0%  /mnt
         #

  츮 4095976   Ƽ ´. ׸  Ƽǿ
  ext2  ý Ѵ.  ׸ Ʈ ϰ  ý
   3574475    ˰ Ǿ. 521501 (12%) inode
  ý 뵵(bookkeeping) 뵵 ̿Ǿ.  üũ 3574475 
  ڰ   ִ ũ ̴  13  Ʈ
    204798  ѰͰ ٴ  ָϱ ٶ.
  204798   ġ tune2fs   ϴ.   `-i 1024'
   news Ǯ̳ Ÿ ſ  ϵ  쿡 ϴ.
  ⺻  .

              # mke2fs /dev/hda9
              # mount /dev/hda9 /somewhere
              # df /somewhere
              Filesystem         1024-blocks  Used Available Capacity Mounted on
              /dev/hda9            3958475      13  3753664      0%   /mnt
              # df -i /somewhere
              Filesystem           Inodes   IUsed   IFree  %IUsed Mounted on
              /dev/hda9            1024000      11 1023989     0%  /mnt
              #

    137501 blocks (3.3%)  inode ȴ. ׷Ƿ 츮
   384 MB     ִ.  (Ȯϰ  inode 128
  byte ´) ݸ鿡  Ͻý  4096000   
  ũ 1024000     ִ.
  ִ.

