  n[hfBXNhCůbm
  앐r / Taketoshi Sano, (kgh12351@nifty.ne.jp)
  $Date: 1999/12/05 03:17:15 $, ($Revision: 1.4 $)

  n[hfBXNhCúuWIg[vƁup[eBVvɂĊ
  Pɐ邽߂ɁA̎QlȂǂ̏܂Ƃ߂̂
  Beѕ̍\ɂĂ̌ӌ҂Ă܂B

  1.  n[hfBXŃuWIg[vƂ ?

  ݁AʓIɎgĂn[hfBXNhCu (ȉ HDD) ́uWI
  g[v́A C/H/S (V_[AwbhAZN^[)  3 ̐l
  \܂BƂƂ̐l̑gݍ킹́A HDD ̍\
  ƂĕIȈӖA܂ȉ̂悤ȈӖlłB

  1.1.  V_[

  fBXNɑ݂gbN (q) Äʒu (gbNԍ) ɂ
  ĕނ́BhCuɕ̃fBXN݂ꍇAgbN
  ԍ (V_[ʒu) ɑΉegbNԂƉ~ɕԂƂ
  ̖̂悤łBʂɃhCůefBXNɑ݂gb
  N̖{͓łAuHDD ̃WIg[vƂĎguhCu
  V_[vƂ́uefBXÑgbNv̂ƂłB

  1.2.  gbN

  1 ̃fBXNɑ݂Ă铯S~̉~̂ЂƂЂƂw
  B̃gbNɏrbgPʂŋL^鎥C}̂ł܂B
  fBXN̉]ɂăgbNCwbhړȀ
  /ǂݏosȂ܂B

  1.3.  wbh

  }̂֏L^A}̂ǂݎ肷邽߂Ɏgh
  Cu̎CwbhBЂƂ̃hCuɕ̃fBXN݂A
  ЂƂ̃fBXN̗\Ƀwbh݂Ȃǂ̗RɂāAĂ
  hCuɂ͕̃wbh݂Ă܂BuHDD ̃WIg[vƂ
  gpuhCũwbhvƂ͂̂܂܁uhCuɑ݂鎥C
  wbȟvƎvĂėǂł傤B

       ŋ߂ HDD ̓{CXRCŃwbh쓮Ă邽߁Am
       ʒuړIƂT[{ʂʎĂ̂܂B
       ̏ꍇuHDD ̃WIg[vƂẴf[^ (wbh) ̐
       ͊ɂȂ܂BAT[{f[^ʂɖߍō
       x}hCȕꍇɂ̓wbh̐ɂȂ܂B

  1.4.  ZN^[

  fBXN̊egbN𕪊PʂłAfBXNANZX̊{I
  Pʂł܂B HDD ̏ꍇAʏ 1 ZN^[ 512bytes łB
  (640MB  MO ł 1 ZN^[ 2048bytes ƂȂ܂) ׂẴg
  bNɂăZN^[ꍇ (Â IDE HDD ł͂ȂĂ
  ł)AfBXN̊eZN^[͂ꂼ^̂悤Ȍ`ƂȂ܂B
  uHDD ̃WIg[vƂĎgpuZN^[v́AugbN
  ̃ZN^[v̂ƂłAꂪ (Â IDE HDD ̏ꍇ̂悤) h
  CuŜŋʂł邱ƂOƂĂ܂B

  JF  large-disk-mini-HOWTO ɂ SCSI fBXN̏ꍇÃgb
  NƊÕgbNŃZN^[قȂ邽߁AhCuŜɋʂug
  bÑZN^[vƂ݂̂͑܂B (ZN^[̋ʂ
  gbN܂Ƃ߂ "mb`" ƌĂт܂)

  ڂŌĂ킩ƂāA3.5C` 128MB MO  230MB ȏ MO 
  ܂B MO ̓ZN^̋EڂŌ܂BӐ[Vb^[JČ
  ݂ƁA 128MB MO ͐^ɍamb`͌܂񂪁A230MB ȏ
  MO ͊OɂgbÑZN^͑ȂAmb`
  B 230MBȏMO͂邱ƂőeʉvĂ̂łB # 
  AV[X[MOȂVb^[JȂĂ킩܂B

  āuHDD ̃WIg[v̒PʂƂĎgpugbN
  ZN^[vɂ́AȂƂ SCSI fBXN̏ꍇAIȈӖƂ̑
  ͈ʓIɑ݂APɃ}U[{[h BIOS dlɍ킹邽
  ɎgpĂ܂B

  ܂ IDE fBXNłȂȑO (504MB ̕ǂbɂȂĂ ?) 
  AfBXN̓ƊOŃZN^[قȂ邱Ƃ͒Ȃ悤łB
  (fBXN̂̍\ IDE ł SCSI ł܂肷ꍇ
  邱ƂlwEĒ܂B)

  2.  fBXNANZX

   HDD ւ̃ANZXł́AZN^[Pʂł̓ǂݏ{ɂȂ܂B
  ̃fBXNʂ\ʓIȃhCuł́Aǂ̖ʂɂAǂ
  gbŃAԖڂ̃ZN^[w肷邱ƂKvłB

  2.1.  3  (3D) AhX / CHS (V_[AwbhAZN^[)

  gbÑZN^[ׂẴgbNɂċʂ HDD ̏ꍇ
  ́Aǂ̃gbNw肷V_[ԍAǂ̃fBXNʂw肷
  wbhԍAĉԖڂ̃ZN^[w肷ZN^[ԍ 3 g
  ݍ킹 3  (3D) AhXƂăZN^[ʒuw肷Ƃ@
  RłB

  ͕W IDE C^[tFCXgpV_[ԍ:16bit, wbh
  ԍ:4bit, ZN^[ԍ:8bit ̌v 28bit ɂăZN^[ʒuw肷
  @ɌтĂ܂B 28bit ɂw肳ꂽeZN^[
  512byte ̃TCYƂ΁AANZX\ȃfBXNeʂ 512=2^9 
  28+9=37bit -> 2^37=128GB ƂȂ܂B

  AƂƂ BIOS ̎dlł̓V_[ԍw 10bitAwbh
  w 4bitAZN^[ԍw 1`63 g悤ɂȂĂAIDE 
  dlƃrbg̊蓖ĂقȂĂ܂B̂߂ɗŋʂɎg
  rbg̓V_[AwbhAZN^[ɑ΂Ăꂼ 10bit, 4bit,
  6bit ̍v 20bit (ZN^[ԍ 6bit = 64 ł͂ȂAЂƂ
   63 ܂łgȂ) ƂȂAANZX\ȃfBXNeʂ
  (2^14)*63*512/(1024*1024)=504MB ƂȂĂ܂܂Bꂪ (Ȃ
  ÔƂɂȂĂ܂܂) Lȁu504MB ̕ǁvłB

  2.2.  WIgϊ: ("LARGE")

  ́uǁv邽߂ɁABIOS ̃j[ "LARGE" ƕ\WI
  gϊ@ƁuLBAvƂ@pĂ܂B

  u"LARGE"vƂ́AfBXN (IDE Rg[) Ƃ̂ł E-IDE 
  dlɏ] 16bit  4bit ŕ\V_[ԍAwbhԍ
  gA INT13h oR OS Ƃ̂ł͂ƂƂ BIOS dl
  ɏ] 10bit  8bit ŕ\V_[ԍAwbhԍg
  AƂ@ł (ZN^[ԍBIOS dlɍ킹 1`63 ʂɎg
  ܂)B

  ̓Iɂ̓fBXN̎WIg[ƂɁAV_ 2 
  ăwbh 2 菇JԂAV_ 1023 ȉɂ
  邩A邢̓wbh 128 ȏ ɂȂ܂ő邩A邢̓wbh
   255 ƂāuV_~wbhvŋ߂SZN^[ 255 
  ăV_߂܂BĂ̎菇ŋ߂V_Awbh
  ɂWIg (L-CHS)  INT13h oR OS Ƃ̂Ŏg
  B̕@ɂ΁AANZX\ȃfBXNeʂ
  1023*255*63*512/1024/1024/1024=7.8GB ƂȂ܂Bꂪ΂炭b
  ɂȂ邱Ƃ̑u7.8GB (or 8GB) ̕ǁvłB

  2.3.  WIgϊ: LBA (Logical Block Addressing)

  (: ȑO LBA  "Linear Block Addressing" ƏĂ̂łA
  ͌pƂwE󂯂܂BłׂĂ݂܂Aǂ܂
  Ă悤Ȃ̂ŒĂ܂B񋟁A肪Ƃ܂
  B)

  AZN^[gbNɂĈقȂ HDD ̏ꍇɂ́A 3D AhX
  gpAނ낷ׂẴZN^[ɑ΂ĒʂԍtAZN^[
  ʒuꎟ (` = jA) ԍɂĊǗقA
  킩Ղłǂƍl܂B́uׂẴZN^[ɒʂԍ
  tA̔ԍɂăZN^[ʒuw肷v@ "LBA" ƌĂ΂
  ĂAׂĂ SCSI fBXNRg[A 504MB ȏ̑e
  fBXNɑΉ IDE Rg[̑͂̕@ɂăfBXN
  ANZX邱Ƃł܂B̃ZN^[ԍ̓p[eBVe[u
  ł 32bit ɂĕ\AZN^[TCY 512bytes OƂ΃A
  NZX\ȃfBXNeʂ 32+9=41bit -> 2^41=2TB (eoCg) ƂȂ
  ܂B

  AOS u[g[_ł͈ˑRƂď] BIOS dlɏ] 10bit
   8bit ŕ\V_[ԍAwbhԍgAƂ@
  ANZX̂߁ALBA ɂ郊jAAhX̓fBXNRg
  [Ƃ̂ł̂ݗpAINT13h oR OS Ƃ̂ł
  ŋ߂܂ŏL "LARGE" Ő菇ɂċ߂ CHS WIg
  [g܂B]ăANZX\ȃfBXNeʂ͐Ɠ 7.8GB 
  Ȃ܂B

  2.4.  BIOS Extended (INT13h AH=4xh)

  ŋ߂ł IBM  MS ɂAINT13h AH=42h (Extended READ)  INT13h
  AH=43h (Extended WRITE) Ȃǂ̋Ki񏥂AOS  INT13h BIOS R[
  oRĒځujAAhXv𗘗pł悤ɂȂĂĂ܂B

  Linux J[l̂悤ɋN BIOS oRAڃfBXNRg[
  ɃANZX OS ł́AȑOuJ[lNĂ܂΁v7.8GB
  ̕ǂCɂ邱ƂȂfBXN𗘗pł܂AV炵 BIOS call
  g BIOS oRŃfBXNɃANZX OS łĂu7.8GB ̕ǁv
  𒴂ăfBXN𗘗p邱Ƃł悤ɂȂ킯łB

  A BIOS call ۂɎgĂ\tgEFA͂܂
  A܂hCûقőΉĂȂꍇ悤łBɋNɎg
  u[g[_łɑΉĂ̂ Free Ȃ̂ł GRUB  extipl
  (extipl ł sample ƂĂ̂߂̃R[h܂܂Ă܂) 炢
  ͒m܂BLinux ̋NpɎg邱Ƃ̑ LILO  version 21
  ȑO͑ΉĂ܂BLILO Version 22 ł͑Ή邽߂̃R[h
  悤łB("edd" option)

  ܂Ãp[eBVk邽߂ɗpĂ FIPS ͂܂
  v2.0 ł LBA BIOS R[ɂ͑ΉĂȂ悤łB̂߁AHDD 
   8GB z̈ɑ΂Č FIPS gƃf[^j󂷂錋ʂ
  Ɨ\z܂B

  2.5.  s̂ BIOS

  uE-IDE ΉvȂ͂̃}U[{[hɂ́AɂđΉ\ȃV_
  [̏قȂ̂悤łB{Ȃ IDE ̎dlł
  65536 V_[܂őΉĂׂƎv̂łAȑObł
  fBXNRg[̖₢킹ɑ΂ăhCuV_[
   4096 ȏɂȂƖ\ƂוiIȑ㕨 BIOS Â
  ȏꍇ̑΍Ƃ BIOS ̖⍇ɑ΂ăhCuV_
  [ۂ菭Ȃݒ̂߂̃Wp[pӂĂ
  HDD 悤łB

  Ƃ낪 Linux gꍇɂ́Â悤ȕsRȃWp[ݒ肪
  ĎזɂȂāAg͂ LBA ANZXgȂȂ
  ̂ŗvӂłBŋ߂ɂ̓V_[ 16bit (65535)
  𒴂悤ȋȃfBXN悤ŁAꍇɂ̓J[l
  pb`𓖂ĂȂƂ܂ȂƂb܂BuBIOS Extended
  Read/WritevɂANZXyāACHS AhXgăANZX
  Ăނ悤ɂȂ΁A邾낤Ǝv܂B

  2.6.  BIOS ŕϊłȂꍇ

  ƈȑÓuE-IDE ΉvłȂ BIOS }U[{[hł́Ah
  Cȕ̂V_[ 1024 Ŋ]̃V_[F
  ƂႪ悤łB̂߁AV_[ 1100 x̃hC
  u BIOS ̔Feʂ10MB xčĂ܂Ƃb
  肪܂B

  ŁAꍇ̑΍ƂĂ͎蓮 BIOS  HDD ̃V_[ 1023
  ƂĐݒ肵Ă܂āAƂ肠 504MB ܂ł͐ BIOS F
  ł悤ɂĂA͂ݏo Linux  (Npɂ͎gȂ̂)
  f[^̈ƂĎgƂƂƈʓIƎv܂B

  3.  p[eBVɂ

  n[hfBXNgꍇA̗R畡̗̈ɕėp
  邱Ƃ܂B̈̕up[eBVvƌĂт܂B

  (MO ̏ꍇɂ̓p[eBVɕfBXNŜ܂邲ƃf[^̈
  ƂĎgꍇ܂)

  Linux VXeł͒ʏ "/" ([g) t@CVXep̃p[eBV
  ƃXbvp̃p[eBV̂ȂƂ 2 ̃p[eBVgp
  ܂B܂ "/home" t@CVXeƂă[U[̃f[^̈ʂ
  p[eBVɕ邱Ƃ́AobNAbvVXe̕ۑȂǂ
  LƂȂ܂B

  LDP/JF  Partitin-HOWTO ́u2. Ƃp[eBVƂ́Hv Disk-
  HOWTO ȂǂɃp[eBV̕@ɂĂ̐Ȃǂ܂B

  ƂŃp[eBVɂ́Au{ (primary)vAug (extended)vA
  u_ (logical)v̋ʂ܂Bł́Âꂼ̈Ⴂɂ
  ĐĂ݂܂B

  3.1.  {̈ (primary partition)

  u{̈vƂ͍̂ŏɒ`ꂽ`łB́u{̈v`
  up[eBVe[uv̓n[hfBXN̐擪 512 byte (ŏ
  ZN^) ̍Ō̂ق 64bytes (Ō 0xAA55  2bytes 
  ŁA447oCgڂ - 510oCgڂ܂) Ɏ܂悤ɒ`ĂāA
  P́u{̈v`邽߂ 16oCgKvȂ߁Au{
  v̓fBXNŜōő 4 ܂ł쐬ł܂B

   16bytes ̒g (ЂƂ́u{̈v`\) ͈ȉ̂
  ɂȂĂ܂B (̕ LDP/JF  large-disk-mini-HOWTO 
  p)

     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 */
     };

  ŁA CHS  Cylinder/Head/Sector ̗łB܂ active ͋N\
  ȗ̈ł邩ǂtbOŁA type ͂̃p[eBV̎
   ID (Linux  Ext2fs Ȃ 0x83) łBbegin[3]  end[3]  CHS
  AhXɂp[eBV̊JnʒuƏIʒuA܂ start  length
   LBA ANZX̂߂̃ZN^[ԍɂp[eBV̊JnʒuƃT
  CYłB (/]k)

  PC ܂ꂽ͂Ԃ񂱂Ŗ薳̂ł傤ǁA񂾂
  n[hfBXN̗eʂĂƁAƂ̃p[eBVg
  Ȃ܂BugvƁu_v̗͂v]ɉ邽߂ɁAŏ̌`
  ĝłB

  3.2.  g̈ (extended partition)

  ugv̈Ƃ͂̒Ɂu_v̈߂{̈łB
  ܂̐łAPɂꂾłBugv̈̏ꏊ傫Ap[
  eBV ID Ȃǂ́u{vƓn[hfBXN̐擪 512bytes (
  }X^[u[gR[hAMBR ƌĂ) ̃p[eBVe[uɋL
  ^܂B

  3.3.  _̈ (logical partition)

  u_v̈́u{vugvƈقȂÃTCYʒuȂǂ̏
  MBR ɋL^܂Bł́AǂɋL^Ă̂ ?

  (]k) ͂A͍ŋ߂悤₭mĖʔƎv̂łAȑO
   AT ݊@ɏڂɂ͓R̂ƂȂ̂܂B (/]k)

  ́Au_v̈́ueT̏ɎqTÂ܂ɑTvƂ
  A\ɂȂĂ܂B

  }ŏƁAȊ (tHgŌĂ _o_)

  1. ugv̈ɂЂƂ́u_v̈

     匳́ug̈v̒Ɂu擪gbNvɑTCỸXy[X
     (̒Ɂuvp[eBVe[u) ƁAɑĘ_
     悪܂܂Ă܂B

      |g̈S
      |----------------------------------------------------
      |擪gbN|_̈

  2. ugv̈ɂӂ́u_v̈

     匳́ug̈v̒Ɂu擪gbNvɑTCỸXy[X
     (̒Ɂuvp[eBVe[u) ƁAɑčŏ
     _̈AĂɎ́uvg̈悪܂܂Ă܂B

     ́uvg̈̓͏Ĺug̈ɂЂƂ̘_̈v
     łB

      |g̈S
      |----------------------------------------------------
      |擪gbN|_̈|uvg̈

                         |uvg̈
                         |--------------------------------
                         |擪gbN|2 Ԗڂ̘_̈

  3. ugv̈ 3 ́u_v̈

     匳́ug̈v̒Ɂu擪gbNvɑTCỸXy[X
     (̒Ɂuvp[eBVe[u) ƁAɑčŏ
     _̈AĂɎ́uvg̈悪܂܂Ă܂B͏
     Ĺug̈ɂӂ̘_̈vƓłB

     ́uvg̈̓ug̈ɂӂ̘_̈vƓ
     B

     3 Ԗڂ́uvg̈̓͏Ĺug̈ɂЂƂ̘_
     vƓłB

      |g̈S
      |-----------------------------------------
      |擪gbN|_̈|uvg̈

                 |uvg̈
                 |------------------------------------------------------
                 |擪gbN|2 Ԗڂ̘_̈|2 Ԗڂ́uvg̈

                            |2 Ԗڂ́uvg̈
                            |------------------------------------
                            |擪gbN|3 Ԗڂ̘_̈

  ugv̈̐擪ZN^[ (512 bytes) ɂ́Ä̗ɑ݂u_
  v̈ƁA̎́uvg̈̈ʒuƃTCYL^uvp[
  eBVe[u (512bytes ̂ 447 - 510 bytes, v 64bytes ̗
  ) ݂܂B

  uvg̈ƂÓA̕ŕ֋XIɕtOłB̗̈
  ̍\͑匳̊g̈Ƃ܂ŁȂŜʂ (uv) g
  ̈Ɋ܂܂Ƃ_Ⴂ܂B

  uvp[eBVe[ǔ` MBR ɂfBXNŜ̃p[eB
  Ve[uƂقړ (AZN^[AhX̌vZ@ɂ
  ӂKv) łB

  4.  

  4.1.  肢

  ܂ŁAƂ肠ł܂Ƃ߂Ă݂܂A܂܂s
  Ă񂪂͂łBuǉė~vƂӌ
  ͐񋳂ĉB낵肢܂B

  4.2.  ӎ

  ̕ LDP/JF  large-disk-mini-HOWTO ₻̑̎Ql瓾
  ꂽ܂Ƃ߂̂łBLinux [U[̖ɗ𐔑W
  AEɔMĂ LDP  JF ݂̂ȂɊӂ܂B܂A
  un[hfBXNhCůbmvɂāAȉ̕XLvȃtB
  [hobN𒸂܂BɊӂ̕\܂B

  1999 10/06 C: ``ZN^['' ``fBXNANZX''͂̕
  񂩂̎wEQlɏC܂B

  1999 12/5 ǉ: ``ZN^[''ɂ MO ̗͔ђ˂񂩂̏񋟂ɂ
  ܂B

  4.3.  ̔̕zzɂ

   copyrighted (c) 1999 Taketoshi Sano

  ̕ GNU pubNCZX (GPL) o[W 2 ȍ~̏
  A邢͕WI Linux hLgvWFNg (LDP) ̏Ɋ
  zzȂΎRɂĂĂ܂܂B̃CZX͂
  ̃hLgł悤ȃTCgł܂BLDP ̏
  (|̂) ȂCĂ܂BCꂽo[W
  GPL ̊ł̂ݔzẑƂ邱Ƃ\łB

