








			 Large Disk mini-HOWTO Ķ

		      @: Andries Brouwer, jaeb@cwi.nl

		   Ķ: Asd L. Chen, asdchen@ms1.hinet.net

	       v1.0, 26 June 1996 ½Ķ: 10-13 November 1997



				   Abstract

     Ҧ disk geometry  1024 cylinder D



1.  DҦb

pAϺжWL 1024 ӺL(cylinders)D ٦,
pA@~tΨϥΰ򥻿XJt(BIOS)DA|J@ӰD,
]@ϺпXJJҨϥΪ INT13 BIOS H@ 10 줸(bit)
Ӿާ@L, ҥHLks 1024 Τ᪺LD

BO, Linux ϥ BIOS,  ҥHSDD

ܬOo, ƨҥ~:

(1) AbҰʨtή, Linux ٨S}lҥHLkAקKoӰDDo LILO
HҰʸJ{(boot loaders)ǼvTD

(2) ϥκϺЪҦ@~tΥPNΰϪmDyܻ,
pGAb@ϺФWϥ Linux  H, Ҧp DOS,
̥HۦP覡ŪΪơDo Linux  ֤ߥH fdisk  ǼvT.

UOҦӸ`ԲӪyzD`N, ڨϥ 2.0.8
֤߭l{ѦҡD䥦i঳@IIXJD


2.  Ұ

tαҰʮ,  BIOS qĤ@ӺϺ(αqn)Ūϰ 0 (@q٪ MBR - Master
Boot Record, DҰʺϰ)øܦbӳB{X - q`O@ǱҰʸJ{(bootstrap
loader)D oǤppҰʵ{@뤣|ۤvϺXʵ{ӷ|ϥ BIOS
ҴѪAȡDoN׵ۥu Linux ֤߳}Y 1024
ӺLɤ~QҰʡD

oӰDܮeѨM: Tw֤(]\٥]A䥦ҰʮɥΨ쪺ɮ,  O LILO map )
Ob@ BIOS iHs, b}Y  1024 ӺLΰϸ -
oiH(i)OĤ@өβĤGӺϺСD

t@IOҰʸJ{P BIOS PNϺ޿(geometry)WݪkD  LILO
`linear' oӿﶵѼƥi|UDӸ`zD


Large Disk mini-HOWTO Ķ						      1





Large Disk mini-HOWTO Ķ						      2



3.  Ϻ geometry HΤΰ

pGAϺФWnXا@~t,
C@بϥΤ@өΦhӤΰϡDΰϦBPݪkiɭPaʪGD

MBR ]t@ӤΪyzΰ(Dΰ: primary)
b̡D|Ӫ浹|ӥDnΰϨϥ, ̬ݰ_ӹ

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


(䤤 CHS OLYϰ: Cylinder/Head/Sector Yg)

], TOЪ: ΰϪmiH 24 줸 begin H end , M 32
줸 start H length 쵹wD

Linux uϥ start H length , G̦hiHBz]t 2^32 ӺϰϪΰ,
]NO, ̤j 2 TB ΰϡDoO{Ϻоʭ,
ҥH]\Q~ݨDD

O, BIOS INT13  IsϥΤTӦ줸ժ CHS	sX,  10 Ӧ줸@LX, 8
Ӧ줸@YX,  6  Ӧ줸@ϭyWϰϸXD i઺LXO 0-1023,
i઺YXO 0-255, ӺϭyWi઺ϰϸX 1-63(O, ϭyWϰϬO 1
_, O 0)D Ho 24 줸̦hiHw} 8455716864 Ӧ줸(7.875 GB), oO
1983 ~ϺоʭD

󤣩O, зǪ IDE	e\ 256  Ӻϰϡϭy, 65536 ӺLH 16
ӺYDۤviHs 2^37 = 137438953472	Ӧ줸(128 GB), O[W BIOS
譱 63 ӺϰϻP 1024 ӺLu 528482304 Ӧ줸(504
MB)iHw}D

oHI{Ϻ, H̨ϥΦUصwγnWkӧJAD


4.  ഫPϺк޲z{

SHϺЪ'u' geometry DϭyϰϼƳq`Oܰʪ -
ϺХ~򪺺ϭyhϰ -  ҥHS'u'CϭyϰϼơD
ϥΪ̦Ө̦nOϺз@s 0,1,..., ϰϲզXuʰ}C,
hXϰϨsϺЪ̡D

uʽs@q٬ LBAD geometry  (C,H,S)  ϺЦӨ(c,h,s)
uʦ} c*H*S+h*S+(s-1)DҦ SCSI ϥ LBA, Y IDE
]OD

pG BIOS o 24 Ӧ줸(c,h,s) ഫ LBA  o LBA  ,
SiHw} 7.875 GB DäHIҦϺ, MOӧiD`NB








Large Disk mini-HOWTO Ķ						      3



BIOS ϥΪ CHS, AP''YD

 LBA  O BIOS DpഫɦkiD(b BIOS
]wq`٬ 'Large'D){b BIOS Ne{ geometry (C',H',S')@~t,
ӦbPϺбqɫhϥ(C,H,S)D q` S=S', C'=C/N   H'=H*N,  䤤 N
OTO C'<=1024  2  ̤p(ҥH C'=C/N ɱ˥hƮOֳ\eq)DA@,
o\șhF 7.875 GBD

pG BIOS D 'Large'  άO 'LBA', ٬On骺ѨMסDO OnTracker
 EZ-Drive oǭӺϺк޲z{|H̦ۤv禡(routines) BIOS D
q`oOǥѱNϺк޲z{b MBR  ΨXӺϰ(OnTrack ٳoǵ{X DDO:
Dynamic Drive Overlay )ӹF, ҥH|b䥦@~tΤeQҰʡD
o]NObw˺Ϻк޲z{qnбҰʥi|XDD

ovTihΤ֩ BIOS ഫ -  SOObۦPϺФW]ƺؤP@~tή,
Ϻк޲z{iް_\hDD

Linux q 1.3.14 }l䴩 OnTrack  Ϻк޲z{, q 1.3.29 }l 䴩 EZ-Drive
DUǧi@BTD


5.  ֤ߪ IDE Ϻഫ

pG Linux   IDE	ϺФWYǺϺк޲z{sb,
N|յۨϥλPӺϺк޲z{ۦP覡ӭsϺ, ҥH Linux  ݨP,
Ҧp DOS  tX OnTrack	άO EZ-Drive ۦPϺФΡD M, AbOCWw
geometry , N|󪺭s -  ҥH@ `hd=cyls,heads,secs'
OCﶵiPϺк޲z{ۮeD

s覡O 4,8,16,32,64,128,255 Y(H*C O) C <= 1024
άO H = 255D

Ӹ`pU -
p`YOX{b۹ҰʰT̪rDbHΦbo䥦a褤ΪAHQiƦrܡD

5.1  EZD

 EZ-Drive , ]Ĥ@ӥDnΰϫA 55 DpWzs geometry,
Bq 0  ϰŪJΪ -  H 1
ϰϪΪNDϺЪ϶X(block numbers) S, ϰ 0
gJ|Vϰ 1Dʧ@iHǥѭקb ide.c 

      #define FAKE_FDISK_FOR_EZDRIVE  0


íssĶ֤ߨӧܡD

5.2  DM6:DDO

 OnTrack DiskManager(bĤ@ӺϺФW), ]Ĥ@ӥDnΰϫA 54
DpWzs geometry ӥBӺϺХ 63 ӺϰϡD (ҥHªϰ 63
ܦϰ 0)Mqs 0  ϰŪJs MBR (PΪ)DMO DDO
dŶ -  o]NO䥦ϺФD









Large Disk mini-HOWTO Ķ						      4



5.3  DM6:AUX

 OnTrack DiskManager(b䥦ϺФW), ]Ĥ@ӥDnΰϫA 51 
53DpWzs geometry D

5.4  DM6:MBR

Yª OnTrack DiskManager, ëDǥѤΰϫA, ӬOñW(signa
ture)D(զb MBR  ̲ 2,3  줸ժȬO_j 430,
ӥBb}쪺 short  0x55AA, ᭱øۤ@ө_ƪ줸)
A@pWzs geometry D

5.5  PTBL

̫, ֤߷|ձqDΰϪ start H end ȱ_ഫ覡: YYǤΰϪ
start H end Lp 256, ӥB start H end ϰϸXO 1  M 63 , ӥB
end  Y 31, 63,   127, , ]̺DҤΰϷ|bLɵ, ӥB]
IDE  ̦hϥ 16  ӺY, G} BIOS ഫ, Oϥ 32, 64  128
Yƭs geometryD (]\o̦I岫,  genhd.c
ӴպLXeӦ줸?)Lצp, ثe geometry wgCϭy 63
ӺϰϥBܤֳohY, |s (]oiN׵ۭw)D


6.  

o쩳N׵ۤ?  Linux  ϥΪ̦Өu@: NOL̥oTO LILO
H fdisk  ϥΥT geometry , 䤤'T'wq fdisk
ӨOP䥦bP@ӺϺФW@~tΩҨϥΪ geometry ۦP, ӹ LILO
ӨObҰʮɴ\aP BIOS ͪ geometryD(o̳q`۲šD)

fdisk po geometry ? ߰ݮ֤, ϥ HDIO_GETGEO
ioctlDϥΪ̥iHͦaΦbOCWw geometryD

LILO  po geometry ? ߰ݮ֤, ϥ HDIO_GETGEO ioctlD ϥΪ̥iH
`disk=' ﶵwD]iH LILO @ linear ﶵ, pNb map  ɤxs
LBA  }HN CHS  }, åBbҰʮɴX geometry Өϥ(ǥ INT 13
\Is 8 Ӹ߰ݺϺЪ geometry)D

֤ߦp󪾹Dӫ^? , ϥΪ̥iH `hd=cyls,heads,secs'
OCﶵTaw geometry, _h֤߱N߰ݵwD

6.1  IDE Ӹ`

ڸԲӻDIDE Xʵ{| geometry
TӷDĤ@(G_user)OϥΪ̦bOCWҫwD ĤG(G_bios)O BIOS
TwϺаѼƪ(uΩĤ@βĤGӺϺ), btαҰʮ,  32
줸ҦeŪJD ĤT(G_phys)βĥ|(G_log) O IDE  Ǧ^, @
IDENTIFY O^ -  ̬O '骺' H 'ثe޿W' geometriesD

t@譱,  geometry Xʵ{ݭnӭ: 䤤@O G_fdisk,  HDIO_GETGEO
ioctl  Ǧ^, t@ӬO G_used , oOXJɹڨϥΪD pGw G_user
h G-fdisk  H G_used ̳|] G_user, TOھ CMOS ҴѮɫh]
G_bios , 䥦γ] G_physDpG G_log  ݰ_ӦXzh G_used N] G_logD
M, pG G_used  Xz G_phys ݰ_ӦXz G_used N]








Large Disk mini-HOWTO Ķ						      5



G_physDB'Xz'NYƦb 1-16 d򤺡D

Ӥ覡: OCﶵj BIOS , åBMw fdisk  ݨ쪺ˤl,
pGwഫ geometry(YƤj 16),  h֤߷|ǥ IDENTIFY
OXwD

6.2  SCSI Ӹ`

b SCSI 譱p@IIP, ] SCSI Owgϥ޿϶X, ҥH 'geome
try' ڪXJSYD M, ΰϪ榡MOۦP, ҥH fdisk
oy geometry , åB]bϥ HDIO_GETGEO - u, fdisk | IDE
H SCSI ϺСD AiHqUԲӴyzUXʵ{y@ǭӤP geome
try DuO, @βVáD

pGASϥ DOS  γot, קKϥΩҦB~ഫ]w, i઺,
ިϥ 64 Y, Cϭy 32 ϰ (}n, KCL 1 MB),
pAϺбq@ӱt@ӥhɤ|JDD Y SCSI
ϺXʵ{ (aha152x,pas16,ppa,qlogicfas,qlogicisp)D`bNP DOS
ۮeʦӤ\u Linux  tΨϥζWL  8 GB eq, oOΡD

uꪺ geometry O? ²檺׬OSoتFDpGu, A|QD,
ӥBTTq, äݧiD fdisk  άO LILO ή֤ߦơDoO SCSI
PϺФơD ڭгoy: uJ|iD fdisk/LILO/Kernel SCSI
ϺЯuꪺ geometry D

pGAnǥB, iHݺϺоۤvDӭnO READ CAPACITY
N|Ǧ^ϺЪ`eq, ӥB MODE SENSE O	Rigid Disk Drive Page(page 04)
|Ǧ^LHκYƥ(oOܪT), Ӧb Format Page(page
03)CϰϪ줸, HΨCϭyϰϼơD oƦr@P notch  ,
ӥBCϭyϰϼƬOܰʪ -  ~򪺺ϭy֦񤺰ϭyhϰϡDLinux {
scsiinfo |oTD 䤤\hcӸ`, ӥBܩժ,
SH(]\ƦܬO@~t)ݭnϥγoTD ٦, ]ڭ̥u fdisk  H
LILO , @o쪺^ C/H/S=4476/27/171 - o˪ fdisk  ڥϥ,
]ΪuOd 10resp. 8resp. 6 bits	 C/H/SD

֤ߤ HDIO_GETGEO qBoT? , Oq SCSI , NOײqD
Xʵ{G{ڭ̷QD 'u' , ڭ̷MuQD DOS	 OS/2 FDISK
( Adaptec AFDISK )ҥΪD

`N, Linux fdisk ݭnY H	HΨCϭyϰϼ S  HKഫ LBA ϰϸX
c/h/s  }, L C  bഫåt򨤦D Xʵ{ϥ (C,H,S)
= (1023,255,63)  ӪܺϺЮeqܤ֬ 1023*255*63 ӺϰϡDoO,
]oܹڪjp, ӥBNj fdisk	ϥΪ̨Ϻг̤j 8
GB - {ڪD

bUyz, M ܺϺЪeq,  C,H,S	OL,
YHΨCϭyϰϼơDpGڭ̧ C  @ M/(H*S)  H,S NiHD

̹w], H=64, S=32.

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










Large Disk mini-HOWTO Ķ						      6



      aha152x, pas16, ppa, qlogicfas, qlogicisp:
	    H=64, S=32 D C > 1024, pU H=255, S=63, C = min(1023,
	    M/(H*S)).  (G C QI_, B H*S*C OϺЮeq.
	    oN|Vncj fdisk.)  ppa.c {Xϥ M+1 N M
	    û{oO]b sd.c ̪@Ψ M Ȥ֤@D

      advansys:
	    H=64, S=32 D C > 1024 ӥBٶ} BIOS  `> 1 GB' ﶵ,
	    pU H=255, S=63.

      aha1542:
	    ߰ݱϥΨإi઺ schemes @, åBϥ H=255, S=63
	     H=64, S=32. e̦ӱҰʰT "aha1542.c: Using extended bios
	    translation".

      aic7xxx:
	    H=64, S=32 D C > 1024, ӥBٵF "extended" ҰʰѼ, Φb
	    SEEPROM  BIOS ]F `extended' 줸, pU H=255, S=63.

      buslogic:
	    H=64, S=32 D C >= 1024, ӥBٱҰʱXRഫ, pUY M
	    < 2^22 h H=128, S=32; _h H=255, S=63. M,  (C,H,S) ,
	    ŪJΪ, YTإi઺ (H,S) = (64,32), (128,32), (255,63) 
	    endH=H-1 Ȭݨӥihϥθӹ (H,S) , æLXҰʰT "Adopting
	    Geometry from Partition Table".

      fdomain:
	    q BIOS Drive Parameter Table X geometry T,
	    αqΪŪèϥ H=endH+1, S=endS Ĥ@Ӥΰ, YD,
	    Ψϥ H=64, S=32 for M < 2^21 (1 GB), H=128, S=63 for M < 63*2^17
	    (3.9 GB) and H=255, S=63 otherwise.

      in2000:
	    ϥ (H,S) = (64,32), (64,63), (128,63), (255,63) Ĥ@ C <=
	    1024 .  pU, b 1023 I C .

      seagate:
	    qϺŪ C,H,S. (u۹!) pG C  S Ӥj, J S=17, H=2 íW
	    H  C <= 1024. o H N 0 pG M > 128*1024*17 (1.1 GB).
	    oO.

      ultrastor and u14_34f:
	    Tع@ ((H,S) = (16,63), (64,32), (64,63))
	    ھڱҦөw.

pGXʵ{Sw geometry , ڭ̴N^ϥΤΪκϺ`eqӱ_qD

JӬݬݤΪD]̺DҤΰϦbLɵ, ڭ̥iHΰϩw
end=(endC,endH,ednS) , unJ H = endH+1  S = endSD (Ooϰϥ 1
_D)TaDpGӤOŪΰ, hH̤j beginC pD
󦹤ΰ, ݬ end+1, p[W start H length
åB]ΰϦbYLɵD pGӭȳ۲,  endC = 1023 B
start+length O (endH+1)*endS  , 򰲩wΰϯuObL, éJ
H = endH+1 H S = endSD pG, O]Sΰ,








Large Disk mini-HOWTO Ķ						      7



NO]̪jpܩ_, uݺϺЮeq MD tk: J H =
M/(62*1024)(Li),S = M/(1024*H)(Li), C =
M/(H*S)(L˥h)Doಣͤ@ (C,H,S) 䤤 C ̤j 1024  S ̤j 62D



























































Large Disk mini-HOWTO Ķ						      8





































































				   CONTENTS



1. DҦb ................................................................. 1

2. Ұ ..................................................................... 1

3. Ϻ geometry HΤΰ ................................................. 2

4. ഫPϺк޲z{ ....................................................... 2

5. ֤ߪ IDE Ϻഫ ...................................................... 3
   5.1 EZD .................................................................. 3
   5.2 DM6:DDO .............................................................. 3
   5.3 DM6:AUX .............................................................. 4
   5.4 DM6:MBR .............................................................. 4
   5.5 PTBL ................................................................. 4

6.  ..................................................................... 4
   6.1 IDE Ӹ` ............................................................. 4
   6.2 SCSI Ӹ` ............................................................ 5


































				       i


