Large Disk HOWTO Andries Brouwer, aeb@cwi.nl v2.2j, 12 September 1999 ½{ õñ hiramoto@nanako.or.jp ó 2000N218úì¬ fBXNÌWIgÆ1024V_§ÀÌ·×ÄB ±Ì¶ÌÅVo[WÍA www.win.tue.nl ðQƵľ³¢B (ó : IWiÌpêÅ̱ÆBú{êÅÌÅVo[WÉ¢ÄÍ www.linux.or.jp ðQƵľ³¢) 1. âè á¦Î Ƚª 1024 V_ð´¦éfBXNðÁÄ¢éƵܵå¤B »Ìã ȽªfBXN I/O ̽ßÉâ INT13 BIOS C^[tF[Xð g¤ OS ðÁÄ¢éƵܵå¤B±êÍâèÅ·BȺÈçA±ÌC^ [tF[XÍ I/O ®ìÌV_wèÉ 10 rbgÌtB[hðg¤Ì ÅA 1024 ÔÈ~ÌV_ÉÍANZXÅ«È¢ÌÅ·B (ó: 2^10 = 1024) K¢ALinux Í BIOS ðg¢Ü¹ñÌÅâè èܹñB ÜAÌñ_ð¢ÄÅ·ªB 1. VXeN®ÉÍ Linux ÍܾҮµÄ¢Ü¹ñÌÅA BIOS âè©ç ¦°çêܹñB±êÍ LILO â»êÉÞ·éu[g[_ÉÆÁÄâè ÉÈèÜ·B 2. ¡Ì OS ÅêÂÌfBXNðg¢Üí·êADZÉp[eBVª éÌ©A»ê¼êÌ OS ªµÁ©èc¬µÄ¢È¯êÎÈèܹñB¾ ¢·¦éÆALinux Æ DOS ðêÂÌfBXNãÅgp·éêA¼Òͯ ¶û@Åp[eBVe[uððß·éKvª èÜ·B±êÍ Linux J[lÆ fdisk ÉÆÁÄâèÉÈèÜ·B ȺÉAÖA·éâèÌÚ×ð¦µÜ·BȨAÍJ[lÌo[W 2.0.8 ðQƵĢܷB¼Ìo[WÅ͵ᤩàµêܹ ñB 2. vñ Vµ¢åeÊfBXNðpӵܵ½BǤ·ê΢¢ñµå¤? »¤A\ tgEFAIÉÍAfdisk (cfdisk Ìûªæèæ¢) Åp[eBVðì¬ µAmke2fs Åt@CVXeðìèA mount ÅVµ¢t@CVXeð t@CKwÉÇÁ·ê΢¢ñÅ·B ÅßÅÍåeÊn[hfBXNÉ¢ÄâèÉÈé±ÆÍܸ³¢ÌÅA±Ì HOWTO ðÇÞKvàܸ³¢Åµå¤BâèÌæ¤ÉvíêéàÌÌåª ÍAåeÊn[hfBXNðgp·éãÅâèÉÈé¾ë¤Æv¢ñÅfB XN}l[WðCXg[µ½èA fdisk ÌGLXp[g[hÉ¢Á ¿áÁ½èA¾¦IÉfBXNÌWIgð LILO âJ[lÌR}h CÅwèµ½è·é±ÆÉæÁÄø«N±³êÜ·B µ©µAT^IÈâèÍȺÌæ¤ÈàÌÅ·B 1. ¾ÃÌn[hEFAðgÁÄé 2. ¯¶fBXNãÉ¢Â©Ì OS ðÚ¹é 3. N®(XN«é) AhoCX: åeÊ SCSI fBXNÉ¢Ä: Linux ͸ÁÆÌ©çT|[gµÄ¢Ü·B ÁÊȱÆð·éKvÍ èܹñB (8.4GB ðz¦éæ¤È) åeÊ IDE fBXNÉ¢Ä: ÅVÌÀèÅJ[l (2.0.34 ©»êÈ~)ðgÁľ³¢BÊíÍ»êªêÔÅ·BÁ ÉABIOS É LBA ÈÇÌfBXN (WIg) Ï·ðvµÈ¢Æ¢¤«¾ ÈIðªÅ«éæ¤ÈêÉÍB (33.8GB ðz¦éæ¤È) ÆÄàåeÊÌ IDE fBXNÉ¢Ä: ãqÌ ``34GB ðz¦éfBXNÅÌ IDE Ìâè'' ðQƵľ³¢B àµN®É LILO ªnOµ½çAÝèt@CÌ /etc/lilo.conf É ``linear'' àwèµÄ¾³¢B J[l/LILO/fdisk ɾ¦IÉWIgð^¦é±ÆÉæèð·éæ¤ ÈWIgÌâèÅ é©àµêܹñB â fdisk ðgÁÄ¢ÄAp[eBVªdÈÁÄ¢é(``overlapping'') Æ¢¤xªo½ç: xͳ·é©Acfdisk ðgÁľ³¢(±¿çÌ ûªæ¢)B fBXNÌTCYª½©Ï¾Æv¤ÍAñiÆ\iÌ ``PÊ'' ð¬¯µÄ ¢È¢©mFµÄ¾³¢B»µÄAó«Ìæð²×é½ßÉ df ðgp·é ÍA df ÍÇãÌI[o[wbh̽ßÉóÌfBXNãÅàp[eB VTCYæèp[Zg¬³¢lðñ·é±Æðo¦Ä¨¢Ä¾³ ¢B (ó: Ú×Í ``uâèȵ: df æè fdisk Ìûªp[eBVª å«©¦év'' ÌÍðQƵľ³¢) ³A±êÅàܾ½©âèª éÆvíêéÌÈçÎA é¢Í ȽªP Ém轪èâÈçÎAȺàÇñž³¢B 3. PÊÆTCY 1LoCg (kB) = 1000oCgB 1KoCg (MB) = 1000 kBB 1MKoC g (GB) = 1000 MBB 1eoCg (TB) = 1000 GBB±êÍ SI PÊnÅ·B µ©µA1 MB = 1024000oCgðKpµÄ 1.44 MB tbs[Æ\»µ½ èA 1 MB = 1048576oCgÆl¦élª¢Ü·B±Ì¶ÅÍAñi@Ìû ð Ki, Mi, Gi, Ti Æ\»µÄA±êðWƵܷB»¤·éÆAtbs [Í 1440 KiB (1.47 MB, 1.41 MiB) ÆÈèA 1 MiB = 1048576 oC g (1.05 MB) 1 GiB = 1073741824 oCg (1.07 GB) 1 TiB = 1099511627776 oCg (1.1 TB) ÆÈèÜ·B ÜÁ½³µ¢±ÆÉAfBXNhCuÌ[JÍ SI PÊnÉ]¢\i@ ðgÁĢܷBµ©µALinux ÌN®bZ[Wâ¢Â©Ì fdisk Ìæ ¤ÈvOÍñi@ð\»·é½ßÉ MB â GB Æ¢¤V{ðgpµ ĽèAñi@Æ\i@ª²¿á¬ºÉÈÁĽèµÜ·BæÁÄA Ƚª fBXNðÁ½É\L³êÄ¢½eÊæèàÀÛÌeÊÌûª¬³¢Æl ¦éOÉAܸ\i@Å(ܽÍPÉoCgPÊÅ)ÀÛÌTCYðvZµÄÝ Ä¾³¢B ñiPÊÌêåpêâȪ`ÉÖµÄÍA Knuth ÉãĪ èÜ·B KKB, MMB, GGB, TTB, PPB, EEB, ZZB, YYB ÆLqµÄA[W LoCg(large kilobyte), [W KoCg(large megabyte), ... [W ^oC g(large yottabyte( ÆÇÞÆ¢¤àÌÅ·BÞͱÌæ¤É¢Ä¢Ü·: u¶ðñdɵĢéÌÍAñiÆ¢¤«¿ÆA (ó: 10iÅÌlæ è)å«¢«¿ðæµÄ¢éÌÅ·v±êÍæ¢ñÄÅ· - u[WMKo Cg (large gigabyte)vÍuMroCg (gibibyte)væ蹵ⷢŷ ©çBµ©µÈªçAäXÌÚI̽ßɽ¾êÂdvȱÆÍAKoCg (megabyte) ª¿å¤Ç 1000000 oCgÅ é±Æð²·é±ÆÅAൽ ©¼Ì±ÆðÓ¡·éÌÈçμÌpêâȪ`ªKvÅ éÆ¢¤±ÆÅ ·B 3.1. ZN^TCY ±Ì¶ÅÍZN^Í 512 oCgÅ·B±êÍåïÌêÍ^Å·ªA¢ ç©Ì MO fBXNÍ 2048 oCgÌZN^TCYðgpµÄ¢éÌÅ (ó : 640MB â 1.3GB(GIGAMO) Ì 3.5 C` MOEPDEDVD-RAM ÈǪYµ Ü·)AȺÌà¾É¨¢ÄÍÀÛÌeÊÍ 4{ɵÄl¦éKvª èÜ ·B (±Ìæ¤ÈfBXNÉ fdisk ðgp·éÍAo[W 2.9i ©» êÈ~ðgpµA `-b 2048' IvVð^¦È¯êÎÈèܹñ) 3.2. fBXNTCY C V_AH wbhAS ZN^gbNÌfBXNÍASÌÅ C*H*S Z N^ð¿AC*H*S*512 oCgði[·é±ÆªÅ«Ü·Bá¦ÎAfBXN ÌxÉ C/H/S=4092/16/63 Æ©êÄ¢½çA±ÌfBXNÍ 4092*16*63=4124736 ZN^ð¿A 4124736*512=2111864832 oCg (2.11 GB) ði[·é±ÆªÅ«Ü·B 8.4GB æèåeÊÈfBXNÉÍ C/H/S=16383/16/63 ð^¦éÆ¢¤HÆKi (industry convention) ª é ÌÅA»Ìæ¤ÈfBXNÌTCYÍàÍâfBXN©çñ³ê½ C/H/S l©çÍÇÝæé±ÆÍūܹñB 4. fBXNANZX fBXNÉεĽ©ðÇÝ«·é½ßÉÍAá¦ÎZN^âubNÌÔ ð^¦éÈÇÌû@ÅAfBXNãÌÊuðwè·éKvª èÜ·BfB XNª SCSI fBXNÌêͱÌZN^ÔÍ¼Ú SCSI R}hÉ·é± ÆªÅ«AfBXNÍ»êððµÜ·BfBXNª IDE fBXN Å LBA ðgpµÄ¢éêÍ SCSI ÌêÆܳɯ¶û@Å·Bµ©µfBXNª ÃARLL â MFM âALBA ãÈOÌ IDE ¾Á½è·éêÍAfBXNã Ìó]ÌÊuðwè·é½ßÉAfBXNÌn[hEFAÍ(V_Awb hAZN^Ì)OÂÌlðvµÜ·B jAioOƱÌO³\LÌÎÍÌæ¤ÉÈÁĢܷ: C V _ H wbh S ZN^gbNðÂfBXNÉÆÁÄAO³Ü½Í CHS \LÉæéÊu (c,h,s) ÍAjAÜ½Í LBA \LÉæéÊu c*H*S + h*S + (s-1) Ư¶Å·B (}CiX 1 ·éRÍA±ÌO³\LÅÍ` IÉ 0 ÅÍÈ 1 ©çZN^ð¦nßé©çÅ·) »êä¦AÆÄàâñ SCSI fBXNÉANZX·é½ßÉÍA»ÌWI gAÂÜè C,H,S Æ¢¤lðmÁÄ¢éKvª èÜ·B 4.1. BIOS ÉæéfBXNANZXÆ 1024 V_§À Linux Í BIOS ðgÁĢܹñªA¢Â©Ì¼ÌVXeÍgÁÄ¢Ü ·B LBA ãÈOÌ BIOS ÍAüÍÆµÄ (c,h,s) ðv·é INT13 Æ¢ ¤fBXN I/O [`ðñµÄ¢Üµ½B (æè³mÉ¢¤ÆAAH ( WX^)ÅÀs·ét@NVðA CH ÅV_ÌºÊ 8rbgðA CL Ì 7-6 rbgÅV_ÌãÊ 2rbgðA5-0rbgÅZN^ðA DH ÅwbhðA»µÄ DL ÅhCuio[(80h © 81h)ðwèµÜ ·B±êÍp[eBVe[uÌÝvÌÍÅྵĢܷB) ©µÄA10 rbgÌV_A8 rbgÌwbhA»µÄ 6 rbgÌ gbNZN^(1-63 ÌlðÆé)©çÈé 3 oCgÉ CHS ÍGR[h ³êÜ·BÂÜèV_Í 0 ©ç 1023 ÌlðÆé±ÆªÅ«A 1024 V_æèãÍ BIOS ÅÍ\»Å«È¢Æ¢¤±ÆÉÈèÜ·B DOS â Windows (ó: Windows95 ÈOÌ Windows 3.1 )Æ¢Á½\tg EFAÍA LBA ðT|[gµ½ IDE fBXNª±ü³ê½ÉàÏX³êÜ ¹ñŵ½ÌÅAfBXNWIgðKvƵ±¯Üµ½B»êÍA(LBA ðgÁ½) ÀÛÌfBXN I/O ÌÛÉÍ(WIgÍ) àÍâKvÅ颃 àÖíç¸A BIOS ðʶÄÌÝfBXN I/O ðsÁÄ¢½©çÅ·B±ê ͳçÉA¡ÌfBXNðgÁÄ¢ÄàA BIOS Æïb·éæ¤Èêâ¼ Ì OS ªKvÆ·éêÉÍA Linux àWIgðKvÆ·é±ÆðÓ¡ µÜ·B ±ÌóÔÍ 4Nç¢OÜű¢Ä¢ÄA INT13 t@NVŵ¦È¢ TCYÌfBXN (ÂÜè (c,h,s) ̽ßÌ 10+8+6=24rbgÅÍ 8.5GB È ãðµ¦È¢) ªsêÉoêµAVµ¢ BIOS C^[tF[XªfUC³ êܵ½B»êÍg£ INT13 t@NVÆÄÎêAâÎubNÅn Üé 8oCgðÜÞ 16oCgÌfBXNAhXpPbgð DS:SI ªw·Æ ¢¤àÌÅ·B Microsoft Ì¢Eª±êçÌg£ INT13 t@NVÉÚs·éÌÍñí Éx¢Å· (ó: Windows95 È~ÅÍεĢܷ)B¨»çufBX NWIgvÆ¢¤RZvgÍ ÆNÍKvŵå¤B 4.2. BIOS Æ IDE ÌuÇv(ãÀ)Ìðj ATA dl (IDE fBXNp) - 137 GB ÜÅ 65536 V_ (0-65535 ÌÍÍ)A16 wbh (0-15 ÌÍÍ)A 255 ZN^gbN (1-255 ÌÍÍ) Üŵ¦Ü·BæÁÄÅåÅ 267386880 ZN^Ìeʪ è(512 oCgPÊÅ)A 136902082560 o Cg (137 GB) ÉÈèÜ·B±êÍ(¼ï1999NÌ_ÅÍ)ܾâèÆ ÍÈÁĢܹñªA ÆNൽçâèÉÈé©àµêܹñB BIOS Int 13 - 8.5 GB ÜÅ 1024 V_ (0-1023 ÌÍÍ), 256 wbh (0-255 ÌÍÍ), 63 Z N^gbN (1-63 ÌÍÍ) Üŵ¦Ü·BæÁÄÅåÅ 8455716864 oCg (8.5 GB) ÉÈèÜ·B±êÍ¡úÅÍ[ȧÀ ÅA DOS ÅÍ¡úÌåeÊfBXNªg¦È¢±ÆðÓ¡µÄ¢Ü ·B 528 MB ÌÇ BIOS Int 13 R[Æ IDE fBXN I/O ̼ûɯ¶ c,h,s Ìlð gÁ½êA¼û̧ÀªgÝí³êA 1024 V_E16 wb hE63 ZN^gbNÜŵ©gpÅ«¸AÅåeÊÍ 528482304 oCg (528MB) ÆÈèÜ·B±êª DOS Æâ BIOS ÌgÝí¹É æ髼¢ 504MiB ÌÇÅ·B±êÍ 1993N²ëÉâèÆÈèAl XÍ·×ÄÌíÞÌØÄñÉi¦Üµ½B·Èí¿n[hEF A(LBA)At@[EFA(BIOSÉæéÏ·)A»µÄ\tgEFA(fB XN}l[W)Å·BuÏ·vÌTOÍ 1994NÉÅÁ¿ °çêܵ ½: BIOS ÍAhCuÆïb·éÌWIgÆA»êÆÍÙÈ éAUÌA DOS Æïb·éÌWIgðg¢A»µÄ»Ì 2ÂÌ ÔÅÏ·ðs¢Ü·B 2.1GB ÌÇ (1996N 4) ¢Â©Ìâ BIOS ÅÍAV_ði[·é½ßÌ CMOS RAM à ÌtB[hð 12 rbgªµ©m۵ĢܹñB»Ì½ßA±Ì ÍÅåÅà 4095 ȺÆÈèA½Á½ 4095*16*63*512=2113413120 oCgµ©ANZXÅ«ÈÈèÜ·BåeÊfBXNðÚ±µ½ ÉAu[gÉnOµ½è·éÆ¢¤e¿ªoÜ·B±Ì§ÀÉæÁ ÄA©¦ÁÄ 4092/16/63 Æ¢¤WIgðÂfBXNªêÊIÉ Èèܵ½B»µÄ¡úÅàA½ÌfBXNhCuª 4092/16/63 É©¹©¯é½ßÌWpðÁĢܷB over2gb.htm àQƵ ľ³¢B»Ì¼Ì BIOS ÍnO͵ܹñªA2.5 GB Ìãíè É 429 MB Æ¢Á½æ¤ÉñíɬeÊÈfBXNƵÄoµÄµÜ ¢Ü·B (ó: ÂÜè±ÌáÅÍAãLÌ 2113413120 ÅÁ½è] ªfBXNÌeÊƵÄo³êÄ¢éí¯Å·) 3.2 GB ÌÇ ±êÍ Phoenix BIOS t@[EFAÌ 4.03 Æ 4.04 ÌoOÅA 3277 MB ðz¦éeÊÌhCuðq¢Å CMOS ZbgAbvðs¤Æ VXeªbNµÄµÜ¢Ü·B over3gb.htm ðQƵľ³ ¢B 4.2 GB ÌÇ (1997N 2) PÈ BIOS Ï· (ECHS=g£(Extended)CHSAµÎµÎ `Large disk support' â é¢ÍPÉ `Large' ÆÄÎêÜ·)ÍAwbhð 2{ µV_ð¼ªÉ·éÆ¢¤®ìðA DOS ©ç©¦éV_ ª 1024 ȺÉÈéÜÅJèԵܷB»Ý DOS Æ Windows 95 Í 256 wb_ðµ¦Ü¹ñµAêÊIÉfBXNÍ 16 wbhÅ éÆ ¦éÌÅA±êÍÂÜè±ÌPÈJjYª 8192*16*63*512=4227858432 oCg(UÌWIgÍ 1024 V _E128 wbhE63 ZN^/gbN) Üŵ©®ìµÈ¢±ÆðÓ¡ µÜ·B ECHS ÍZN^gbNÌÍÏXµÈ¢±ÆÉ ¾³¢B»µÄ±êª 63 ÅÍÈ¢êͧÀÍàÁÆ«ÂÈèÜ ·B over4gb.htm ðQƵľ³¢B 7.9 GB ÌÇ ÅÉwbhð 15 ɲ®·é±ÆÅãLÌæ¤Èâè (ECHS ð KµÄ¾³¢)ðð¯é±ÆÌū鵫¢ BIOS ÍA»êÉæÁ Ä 240 wbhÜÅÌUÌWIgð¾é±ÆªÅ«éÌÅA 1024*240*63*512=7927234560 oCgÜÅLøÆÈèÜ·B 8.4 GB ÌÇ ÅãÉABIOS ªÂ\ÈÀèÌϷɬ÷µA 255 wbhÆ 63 ZN^ gbNðg¤Æ (`assisted LBA' é¢ÍPÉ `LBA' ÆÄÎê é)A 1024*255*63*512=8422686720 oCgÜÅBÅ«Ü·B 8.5GB §ÀÌ¿åÁÆèOÅ·ªA±êÍ 256 wb_ÌWIgðð¯È ¯êÎÈçÈ¢©çÅ·B (±ÌÏ·ÍܸAfBXNeʪ 1024*H*63*512 ÉûÜéæ¤Éwbh H ð 16, 32, 64,128, 255 © çIÑAÉeÊð (H*63*512) ÅÁÄV_ C ðvZµÜ ·B) 33.8 GB ÌÇ (1999N 8) Ìn[hÍ 33.8GB ðz¦éTCYÅKêܵ½B±ÌâèÍAf tHgÌ 16 wbh 63 ZN^gbNÅÍAV_ª short int É[ßé±ÆªÅ«È¢ 65535 æèå«¢ÉÈÁĵܤ±Æ Å·B¡úÅÍAÙÆñÇÌ BIOS ª»Ìæ¤ÈfBXNðµ¦È¢Å µå¤B (á¦Î³íÉ®ì·éVµ¢tbV (ROM)ÌC[Wð ¾éÉÍ Asus upgrades ðQƵľ³¢) 2.2.14 / 2.3.21 æè â Linux J[lÅÍpb`ªKvÅ·BãqÌ ``34 GB ´ÌfB XNɨ¯é IDE Ìâè'' ðQƵľ³¢B ±ÌgsbNÉ¢Ä̻̼Ìc_É¢ÄÍA Breaking the Barriers ðQƵľ³¢B³çÉÚ×É¢ÄÍA IDE Hard Drive Capacity Barriers ðQƵľ³¢B 8.4 GB ðz¦én[hfBXNÍA©ªÌWIgð 16383/16/63 Ʀ éÆvíêÜ·B±êÍv·éÉuWIgvÆ¢¤à̪ãxêÅ é ±ÆðÓ¡µAfBXNÌeÊÍàÍâWIg©çÍvZūܹñB 5. u[g VXeðu[g·éÆA BIOS ÍêäÚÌfBXN(ܽÍtbs[â CDROM)©çZN^ 0 (MBR - Master Boot Record ƵÄmçêÄ¢é)ðÇÝ oµA»±É éR[h - Êíͽç©Ìu[gXgbv[_ - ÖW vµÜ·B±Ì¬³Èu[gXgbvvOÍÊÍ»ê©gÌfB XNhCoÍÁÄÈ BIOS T[rXðpµÜ·B±êÍALinux J[ lªÅÌ 1024 V_àÉ®SÉûÜÁÄ¢éÌÝu[gÂ\Å é ±ÆðÓ¡µÜ·B ±ÌâèÍÆÄàÈPÉðÅ«Ü·: BIOS ªANZXÂ\ÈfBXN - ¨ »çêäÚ©ñäÚÌfBXN - ÌÅÌ 1024 V_àÉ®SÉûÜ ép[eBVÉAJ[l(ÆALILO Ì}bvt@CÌæ¤É൩µ ½çu[gAbvÌÅÉgp³êé©àµêÈ¢¼Ìt@C) ðzu·ê ΢¢ÌÅ·B µ½ªÁÄAJ[lpÌÌæÆµÄ 10 MB ç¢Ì¬³Èp[eBV ðAêäÚ©ñäÚÌfBXNÌ檩ç 1024 V_àÉ®SÉûÜéæ ¤É쬵ľ³¢B±êð /boot ƵÄ}EgµA LILO ª±±ÉJ [lðuæ¤ÉµÄ¾³¢B 5.1. LILO Æ `linear' IvV à¤êÂÌÓ_ÍAu[g[_Æ BIOS ªfBXNWIgÉ¢ÄÓ ©ªêvµÄ¢éKvª é±ÆÅ·B LILO ÍWIgÉ¢ÄJ[l Éâ¢í¹Ü·ªAfBXNhCoÌìÒÌå½ÍA BIOS ªgp·é Å ë¤ LILO ª°élÌãíèÉAp[eBVe[u©çWIg ð¾éÆ¢¤«¢Èðó¯p¢Å¢Ü·Bµ½ªÁÄAJ[l©ç³ êéWIg͵εÎðɧ¿Ü¹ñB±Ìæ¤ÈêALILO É `linear' IvVð^¦Üµå¤B±ÌøÊÍAu[g[_ÌCXg [É LILO ªWIgîñðKvƹ¸ (}bvÉjAAh X(ó: ̤¿ºÊ 24bit)ði[·é)Aµ©µu[gÉjAAhX ðÏ··éAÆ¢¤àÌÅ·B½Ì±êªftHgÅÍÈ¢Ìŵå¤? »¤Å·ËAêÂsïª éÌÅ·: `linear' IvVðt¯é ÆALILO ÍV_ðméKvªÈÈèAµ½ªÁÄJ[lÌêª 1024V_§Àðz¦Äi[³êÄàxðo³ÈÈèAµÜ¢ÉÍu[ gµÈ¢VXeªoÄIíéÂ\«ª éÌÅ·B 5.2. 1024 V_ª 1024 V_ÅÍÈ¢ Tim Williams ͱ¤¢ÁÄÜ·: uÍ Linux Ìp[eBVðÅÌ 1024 V_ÈàÉ쬵ܵ½ªA»êÅàȨN®µÜ¹ñŵ½B1GB ÈàÉÚ®µ½çâÁÆ®«Üµ½BvǤµÄÈñŵå¤? »¤A±ê Í AHA2940UW Rg[ÉÚ±³ê½ SCSI fBXNÅA±ÌRg[ Ít@[EFAÆ BIOS ÌÝèIvVÉ˶µÄ H=64, S=32 (1V _Í 1 MiB = 1.05 MB ÉÈé)©A H=255, S=63 (1V_Í 8.2 MB É Èé)ÌÇ¿ç©gpµÜ·BÔá¢È BIOS ªOÒÌÝèÉÈÁÄ¢ÄA æÁÄ 1024 V_§Àª 1 GiB ÉÈÁĢܷBµ©µ Linux ªãÒÌ lðgÁÄ¢éÔÍ LILO ͧÀª 8.4GB Å éÆvÁÄ¢éí¯Å·B 6. fBXNWIgAp[eBVAd¡(overlap) fBXNãÉ¢Â©Ì OS ª¶Ý·éêA»ê¼êÌ OS Íê©»êÈ ãÌfBXNp[eBVðgpµÜ·B±êçÌp[eBVÌsêv ÍjÅIÈÊðà½ç·±Æª èÜ·B MBR ÉÍ(î{)p[eBVªÇ±É¶Ý·é©ðLqµ½p[eBV e[uª¶ÝµÜ·B 4ÂÌî{p[eBV̽ßÉ 4ÂÌe[uÌ Ggª èA»êÍȺÌæ¤ÉÈÁĢܷB struct partition { char active; /* 0x80: u[gÂ, 0: u[gs */ char begin[3]; /* ÅÌZN^Ì CHS */ char type; char end[3]; /* ÅãÌZN^Ì CHS */ int start; /* 32 bit ÌZN^Ô (0 ©ç¦nßé) */ int length; /* 32 bit ÌZN^ */ }; (CHS Í V_/wbh/ZN^ð\µÜ·B) ±ÌîñÍç·Å·: 24rbgÌ begin ¨æÑ end tB[hÉæÁÄÆA 32rbgÌ start ¨æÑ length tB[hÉæÁÄ̼ûÅAp[eB VÌÊuª^¦çêĢܷB Linux Í start Æ length ÌtB[hÌÝðgp·éÌÅA»êä¦É 2^32 ZN^ÜÅÌp[eBVðæ赤±ÆªÅ«Ü·BÂÜèA2 TiB (= 2048 GiB) Ìp[eBVÅ·B±êÍ»ÝpÅ«éfBXNÌ 100 {ç¢å«¢ÌÅA Æ 8NÔç¢Íåävŵå¤B (»¤Ap[eB VÍñíÉå«Å«Ü·Bµ©µ[ȧÀª èÜ·B©RÈ®ª 32bit Ìn[hEFA(ó: á¦Î CPU ª Intel x86 nÌ}V) ãÌ ext2 t@CVXeãÅÍA 2 GiB ÈãÌt@CÍì¬Å«È¢ÌÅ ·B) DOS Í begin Æ end tB[hðgpµAfBXNANZX̽ßÉ BIOS INT13 R[ðgpµÜ·ÌÅA BIOS Ï·ðgÁÄà 8.4GB ȺÌfBX Nµ©§äūܹñB (FAT16 t@CVXȩÀÉæèAp[eB VÍ 2.1GB æèå«Å«Ü¹ñB) ¯¶±Æª Windows 3.11EWfWG (Windows for WorkGroup)E Windows NT 3.* ÉࢦܷB Windows 95 Íg£ INT13 C^[tF[XðT|[gµÄ¨èAp[eB Vð»Ìû@ÅANZX·éKvª é±Æ𦷽ßÌÁÊÈp[eB V^Cvðg¢Ü·(b, 6, 5 ÌãíèÉ c, e, f)B±êçÌp[eB V^CvªgíêÄ¢éêA begin Æ end tB[hÉÍ_~[Ìî ñ (1023/255/63) ªi[³êÜ·B Windows 95 OSR2 ©çÍ FAT32 t@C VXe (p[eBV^CvÍ b Ü½Í c)ª±ü³êA 2 TiB ÜÅ Ìp[eBVðì¬Å«Ü·B ÀÛÉͽà«È¢ÌÉud¡(overlapping)vp[eBVÉ墀 fdisk ©ç½í²Æð·©³êéÌÍȺŵå¤? âêâê - ½©u« ¢vÌÅ·: DOS ªµÄ¢éæ¤ÉA»Ìp[eBVÌ begin Æ end tB[hð©½êA»êªI[o[bvµÄ¢éÌÅ·B (»µÄ»ê ͳµ èܹñBȺÈç»êçÌtB[hÍ 1024 ÈãÌV_ ði[·é±ÆªÅ«Ü¹ñ - 1024 V_Èã̪ðg¤ÆAíÉI[ o[bvª¶·éÌÅ·B) µ©µALinux âAp[eBV^Cvª c, e, f Å ép[eBVÌêÉ Windows 95 ªµÄ¢éæ¤ÉA start Æ length tB[hð©éêÉÍA»êÍÜÁ½âè èܹ ñB»¤Acfdisk ª[¾µÄ¢Ä Linux ŵ©fBXNðgíÈ¢ÌÈç ÎAxͳµÄ¾³¢BDOS ƤLµÄ¢éêÍӵľ³¢B /dev/hdx Ìp[eBVe[uð©éÉÍ cfdisk -Ps /dev/hdx Æ cfdisk -Pt /dev/hdx R}hðgÁľ³¢BB 7. Ï·ÆfBXN}l[W (wbhAV_AgbNÆ¢¤æ¤È) fBXNWIgÍ MFM â RLL ãÌY¨ÅAͨIÈn[hEFA\¢ð½fµÄ¢Ü µ½B»ÝÅÍAIDE Åà SCSI ÅàAfBXNÌu{ÌvWIgÉ ¢Ä»¡ðÂlܹ͢ñBÀÛÌƱëA1gbN ½èÌZN^Í ÂÏÅAfBXNÌOüÌûªæèZN^ª½ÈÁĢܷBÂÜèAê ÓÉÜéæ¤Èu{Ìv 1gbN ½èÌZN^Æ¢¤àÌͶݵ ܹñB»êÆÍÜéÁ«è½ÎÉ: IDE R}h INITIALIZE DRIVE PARAMETERS (91h) Í»ÝÅÍAwbhÆ 1gbN ½èÌZN^ðÇ ê¾¯ÁÄ¢é±ÆÉÈÁÄ¢é©ðfBXNÉÝè·é½ßÉñ³êÄ ¢Ü·B¡ÌåeÊfBXNªÀÛÉÍwbhð 2µ©ÁÄ¢ÈÄà BIOS ÉεÄÍ 15 © 16 wbhÅ éÆñµ½èAܽ BIOS ª[U Ì\tgEFAÉεĻêð³çÉ 255 wbh¾Æñµ½è·éÌÍA ²ÊÅ·B [U[ÉÆÁÄÅPÈÌÍAfBXNãÉ ½©àê¼üÉZN^ÔªÀ ñÅ¢é(0, 1, ...)ƵÄfBXNãÌDZÉZN^ª¶Ý·é©Æ¢Á½ ±Æðt@[EFAÉC¹çêé±ÆÅ·B±ÌjAioOÍ LBA ÆÄÎêÜ·B TOÍȺÌÊèÅ·B DOS â¢Â©Ìu[g[_Í (c,h,s) \Lð gÁÄ BIOS ÆïbµÜ·B BIOS ÍA[Uªgp·éUÌWIgð gÁÄ (c,h,s) ð LBA \LÉÏ·µÜ·BfBXNª LBA ðó¯t¯éê ÍA±ÌlðfBXN I/O ÉgpµÜ·B³àȯêÎAfBXNªgÁ Ä¢éWIgðgÁÄ (c',h',s') ÉÏ·µ¼µAfBXN I/O Ég¢ Ü·B `LBA' Æ¢¤\»Ìgpɨ¯é¿åÁƵ½¬ª é±ÆÉӵľ ³¢: fBXNÌ«\ðLq·épêƵÄÈçÎ `Linear Block Addressing' (CHS AhbVOÌt)ðÓ¡µÜ·BBIOS ÝèÅÌpêÆ µÄÈçÎAµÎµÎ `assisted LBA' ÆÄÎêéÏ·û®ðÓ¡µÜ·B - OqÌ ```8.4 GB ÌÇ''' ð©Ä¾³¢B (ó: n[hfBXNÌ)t@[EFAª LBA ððµÈ¢¯ÇA BIOS ªWIgÏ·ðpÅ«éêÍA½æ¤È±ÆªN«Ü·B (BIOS ÝèÅͱê͵εΠ`Large' Æ\¦³êÜ·B) ¡ABIOS ª OS ÉWI g (C,H,S) ð¦µÄAfBXNRg[Æb·É (C',H',S') ð g¤ÆµÜ·BÊíÍ S=S', C=C'/N, H=H'*N ÆÈèÜ·B N ÍAC' <= 1024 ÆÈéÅଳ¢ 2 ÌæÅ·B (±êÍAC' = C/N Æ·éÛÌÛ ß(ØÌÄ)ÉæÁijÊÉÈéeÊðŬÀÉ·é½ßÅ·B) ³çÉA±Ì û@ÅÍ 8.4GB (7.8 GiB) ÜÅANZXÅ«Ü·B (BIOS Ì OÂÚÌÝèIvVÍÊí `Normal' ÆÄÎêAÇñÈÏ·à s¢Ü¹ñB) BIOS Å `Large' â `LBA' ðpÅ«È¢êÍA\tgEFAÉæéð û@à èÜ·B OnTrack â EZ-Drive Ìæ¤ÈfBXN}l[WÍ BIOS ÌfBXN§ä[`𩪩gÌàÌÆu«·¦Ü·BʱêÍAfB XN}l[WÌR[hð MBR Æ»êɱZN^ (OnTrack ÅͱÌR[ hð DDO: Dynamic Drive Overlay ÆÄñŢܷ) Ézu·é±ÆÅÀ»³ êĨèA¼Ì·×ÄÌ OS ÌOÉN®³êÜ·BfBXN}l[WªC Xg[³êÄ¢éÅA OS ðtbs[©çN®·éÆA½©âèª é ©àµêܹñB fBXN}l[WÌøÊͽ©êÈ©ê BIOS ÉæéϷƯ¶Å· - µ©µÁÉA¯¶fBXNãŢ©ÌÙÈé OS ð®ì³¹éÆAfBX N}l[WÉR·é½ÌguªN«éÂ\«ª èÜ·B Linux Í OnTrack Disk Manager Ìo[W 1.3.14 ©çÆA EZ-Drive Ì o[W 1.3.29 ©çðT|[gµÄ¢Ü·BÚ×ðȺÉq×Ü·B 8. IDEfBXN̽ßÌJ[lÅÌfBXNÏ· Linux J[lª IDE fBXNãɽç©ÌfBXN}l[W̶Ýð oµ½êA»ÌfBXN}l[Wª·éÌƯ¶û@ÅfBXNðÄ}b vµæ¤Æ·éÌÅALinux Íá¦Î OnTrack â EZ-Drive ðgÁÄ¢é DOS Ìæ¤É¯¶fBXNp[eBVð©é±ÆÉÈèÜ·Bµ©µAW Igª(ó: LILOÌ)R}hC©çwè³ê½êÍÄ}bvÍs íêܹñ - ÂÜè `hd=cyls,heads,secs' (ó: `hdx=cyls,heads,secs' ª³µ¢) Æ¢¤R}hCIvVÍfBXN}l[WÆÌÝ·« ð¸í¹ÄµÜ¢Ü·B Ä}bvÍAC <= 1024 ÉÈé© H = 255 ÉÈéÜÅA (H*C ªêèÅ é æ¤É) wbh(H)ð 4, 8, 16, 32, 64, 128, 255 ÆâµÄ¢«Ü·B Ú×ÍȺÌæ¤ÉÈèÜ· - ȺÌTuZNVÌè¼Íu[g}l[ WÉηéÆvíêé¶ñÅ·BÈ~Ap[eBV^CvÍ·×Ä 16 iÅ çíµÜ·B 8.1. EZD ÅÌî{p[eBV^Cvª 55 Å éÆ«A EZ-Drive ª¶Ý·éÆ »f³êÜ·BWIgÍãÅྵ½æ¤ÉÏ·³êAZN^ 0 É é p[eBVe[uͳ³êÜ·B»ÌãíèÉAp[eBVe[ uÍZN^ 1 ©çÇÝo³êÜ·BfBXNÌubNÔÍÏX³êÜ ¹ñªAZN^ 0ÖÌ«ÝÍAZN^ 1 ÖÌ«Ýɧ³êÜ·B ±ÌUé¢ÍAide.c (ó: J[l 2.2.12 ÅÍ drivers/block/ide.h) ÌÅ #define FAKE_FDISK_FOR_EZDRIVE 0 ƵÄJ[lðÄ\z·êÎØèÖ ¦çêÜ·B 8.2. DM6:DDO (êäÚÌhCuÌ)ÅÌî{p[eBV^Cvª 54 Å éÆA OnTrack fBXN}l[WªgÝÜêÄ¢éÆ»f³êÜ·BWIg Í·ÅÉq×½û@ÅÏ·³êAfBXNS̪ 63 ZN^ª¸ç³êÜ· (ÂÜèA³XÌZN^ 63 ÍZN^ 0 ÆÄÎêé±ÆÉÈèÜ·)B±Ì ÊAVµ¢(p[eBVe[uðÜÞ) MBR ÍAVµ¢ZN^ 0 ©çÇ ÝÜêÜ·Bà¿ëñA±Ì¸çµÍ DDO ̽ßÌóÔðmÛ·é½ß ÅA±êªêäÚÌfBXNÈOÉ͸絪üçÈ¢RÅ·B 8.3. DM6:AUX (êäÚÌfBXNÈOÌ)î{p[eBVª^Cv 51 © 53 ÌÆ«É ÍA OnTrack fBXN}l[Wªø¢Ä¢éÆ»f³êÜ·BWIg ÌÏ·ÍãÉq×½ÊèÅ·B 8.4. DM6:MBR â OnTrack fBXN}l[WÍAp[eBV^CvÅÍÈVOl `Åo³êÜ·B (oû@: MBR ÌoCg 2,3 É éðItZbg Æl¦A±ÌItZbglª430ȺŠé©mFµÜ·BɱÌItZb gÊuÉ é short int lª 0x55AA ÅAȨ©ÂAÌ 1 oCgªï© Ǥ©ðĸµÜ·B) Ï·û@ÍAãÉq×½ÊèÅ·B 8.5. PTBL ÅãÉAî{p[eBVÌ start Æ end Ìl©çAÏ·ªsíêÄé± Æðméû@ª é±Æð²ÐîµÜµå¤BàµA ép[eBVª start Æ end É»ê¼êZN^Ô 1 Æ 63 ðÁÄ¢ÄA³çÉ end Ì wbhÔÆµÄ 31, 63, 127, Ü½Í 254 ðÁÄ¢éÆ·éÆAp[ eBVÌIíèÍV_«Eɨ©êéµKÅ é±ÆA IDE C^ [tF[XÍÅå 16 wbhÅ é±Æ©çA BIOS ÉæéÏ·ª¨±Èíê Ä¢é±Æªª©èAܽAWIgÍwbh 32, 64, 128, Ü½Í 255 ðgÁÄÄ}bv³êÄ¢é±Æªª©èÜ·Bµ©µA»ÝÌWIgª ·ÅÉgbN ½è 63 ZN^ÅA½³ñÌwbhª éÆ¢¤ÈçAÏ ·Ís¢Ü¹ñ (wbhª½³ñ éÆ¢¤ÌÍA·ÅÉÏ·ªsíêÄ¢ éÆ¢¤±ÆÅ·©ç)B 9. _ ÇǤ¾Æ¢¤Ìŵå¤? Linux pÒÉÆÁÄÍê_¾¯ªdvÅ·B »êÍALILO Æ fdisk ª³µ¢WIgðgíȯêÎÈçÈ¢±ÆÅ ·B±±ÅÌu³µ¢vÆÍAfdisk ÉÖµÄͯ¶fBXNãÌ¼Ì OS ª »ÌWIgðgpµÄ¢éÆ¢¤Ó¡Å èAܽ LILO ÉÖµÄÍN® É BIOS ÆâèæèµÄN®ª¬÷·éWIgÅ éÆ¢¤±ÆÅ ·B(ÊÍ±Ì 2ÂÍêvµÜ·B) fdisk ÍAǤâÁÄWIgð²×éÌŵå¤? HDIO_GETGEO ioctl ðgpµÄJ[lÉâ¢í¹éÌÅ·Bµ©µApÒÍÎbIÉA é ¢ÍR}hC©çWIgð§Å«Ü·B LILO ÍAǤâÁÄWIgð²×éÌŵå¤? HDIO_GETGEO ioctl ð gpµÄJ[lÉâ¢í¹éÌÅ·Bµ©µApÒÍ /etc/lilo.conf àÌ "disk=" IvVðgÁÄAWIgð§Å«Ü· (lilo.conf(5) ðQƵľ³¢)B linear IvVð LILO Éwè· é±ÆàÅ«Ü·B»ÌêALILO Í CHS AhXÌãíèÉ LBA Ah Xð}bvt@CÉi[µAN®·éÆ«É»êðgpµÜ·B (hCu ÌWIgðâ¢í¹é½ßÉ INT 13 Ìt@NV 8 ðg¢Ü·) J[lÍ(fdisk â LILO Éu©ê½)ðǤâÁIJ×éÌŵ天? ¦¦ÆA¨»ç让AÜ½Í J[lÉ»Ìæ¤ÈIvVðn·æ ¤Éu[g[_É¿â³êÄAÅÉpÒª `hda=cyls,heads,secs' Æ ¢¤J[lR}hCIvV(bootparam(7) ðQÆ̱Æ) ÉæÁ ľ¦Iɱêðwè·é©àµêܹñBá¦ÎA/etc/lilo.conf àÉ `append = "hda=cyls,heads,secs"' Æ¢¤æ¤ÈsðÇÁ·é±ÆÉæèA »Ìæ¤ÈIvVð LILO É^¦é±ÆªÅ«Ü·(lilo.conf(5) ðQÆ Ì±Æ)BÅȯêÎAJ[lÍ BIOS ©n[hEFA©çæ¾µ½lð gÁĽƩµÄÊ·éŵå¤B (Linux 2.1.79 ©çÍ) /proc t@CVXeðgp·é±ÆÉæÁÄWI gÉ¢ÄÌJ[lÌ©ððÏX·é±ÆªÂ\Å·Bá¦Î±ñÈ´ ¶Å·B # sfdisk -g /dev/hdc /dev/hdc: 4441 cylinders, 255 heads, 63 sectors/track # cd /proc/ide/ide1/hdc # echo bios_cyl:17418 bios_head:128 bios_sect:32 > settings # sfdisk -g /dev/hdc /dev/hdc: 17418 cylinders, 128 heads, 32 sectors/track # 9.1. LILO Ìp[^ðvZ·é J[lÌR}hCÉ `hda=cyls,heads,secs' ÆÇÁ·é±ÆÉæÁ ÄMÅ«éWIgðv·éÌÍAÉÍÖÅ·BÙÆñÇåïÌê Í secs=63 ɵܷB»ê©ç heads ðwèµÜ·B (¡úÅÌÖÈl Í heads=16 Æ heads=255 Å·) cyls Éwè·×«lͽŵå¤? ±Ì lÍ C*H*S ZN^ÌeÊ©ç³mÉßé±ÆªÅ«Ü·Bá¦Î 71346240 ZN^ (36529274880 oCg)ÌhCuÅÍA C Í 71346240/(255*63)=4441 ƵÄvZÅ« (vZÉÍ bc vOðg¦Ü ·)A hdc=4441,255,63 Æ¢¤u[gp[^ð¾é±ÆªÅ«Ü·BÇÌ æ¤ÉµÄ³mÈeÊðmé±ÆªÅ«éÌŵå¤? á¦ÎA # hdparm -g /dev/hdc | grep sectors geometry = 4441/255/63, sectors = 71346240, start = 0 # hdparm -i /dev/hdc | grep LBAsects CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=71346240 Æ¢¤æ¤Ég[^Å 71346240 ZN^Å é±Æðmé 2ÂÌû@ª è Ü·BJ[lÌoÍ # dmesg | grep hdc ... hdc: Maxtor 93652U8, 34837MB w/2048kB Cache, CHS=70780/16/63 hdc: [PTBL] [4441/255/63] hdc1 hdc2 hdc3! hdc4 < hdc5 > ... Í(ÈÆà) 34837*2048=71346176 ©(ÈÆà) 70780*16*63=71346240 ZN^Å é±Æð³¦ÄêÜ·B±ÌêÅÍA2ÔÚÌlÍ (ó: ã L hdparm ÅÌlÆ) ôRÉàÜÁ½¯¶Å·ªAêÊIɱêçÌlÍ[ ªØèÌÄçêĢܷB±êÍ hdparm ªpÅ«È¢ÉfBXNTC YðTZ·é¢¢û@Å·BµÄ cyls Éå«·¬élð^¦È¢æ¤É! SCSI fBXNÌêÉÍA³mÈZN^ÍJ[lÌu[gbZ[WÉ \¦³êÜ·: SCSI device sda: hdwr sector= 512 bytes. Sectors= 17755792 [8669 MB] [8.7 GB] (MB â GB ÍÛßçêĢܷªAØèÌÄçêÄܹ͢ñBܽ 2iÅv ZµÄ¢Ü·) 10. Ú× 10.1. IDE ÌÚ× - 7ÂÌWIg IDE hCoÍWIgÉÖ·é 5 ÂÌîñ¹ðÁĢܷBêÂÚ (G_user) ÍR}hCÅ[UÉæÁÄwè³ê½àÌBñÂÚ (G_bios) Í BIOS Ì Fixed Disk Parameter Table (êäÚÆñäÚÌfBX NÉÀé) ÅA 32 rbg[hÉÚs·éOÌVXeN®ÉÇÝÜê Ü·BOÂÚ (G_phys) ÆlÂÚ (G_log) Í IDENTIFY DEVICE R}hÉÎ µÄ IDE Rg[ª¦éîñÅA»ê¼êu¨vu»óÌ_vW IgÅ·B êûAhCoÍWIgƵÄñÂÌlðKvƵܷBê (G_fdisk) Í HDIO_GETGEO ioctl ªÔ·lAà¤ê (G_used) Í I/O ðs¤ÛÉÀÛ Égp³êélÅ·B G_user ª^¦çêÄ¢êÎA G_fdisk Æ G_used Í »êÅú»³êÜ·B G_user ª^¦çê¸ACMOS ©çîñ (G_bios) ª æ¾Å«êÎA»êÉÝè³êÜ·B»êÈOÌÆ«ÉÍAG_phys ÉÝè³ êÜ·B G_log ªÃÅ éæ¤ÈçAG_used Í»êÉÝè³êÜ·B é ¢ÍAG_used ÌlªÃÅÍÈAG_phys ªÃÅ éæ¤ÈçA G_used ÉÍ G_phys ÌlªÝè³êÜ·B±±ÅÌuÃvÆÍAwbhª 1-16 ÌÍÍÉüÁÄ¢é±ÆÅ·B ¾¢·¦éÆAR}hCÅÌwèÍABIOS ©çÌlðã«µÄ fdisk ªÇÌæ¤ÉfBXNðÆç¦é©ðßÜ·Bµ©µAàµA(wb hª 16 ð´¦é)Ï·ãÌWIgðwè·éÆJ[l I/O ÅÍ»Ìl Íjü³êAIDENTIFY DEVICE R}h©çÌlªgp³êÜ·B G_bios Í»ñÈÉMpÅ«È¢±ÆÉӵľ³¢: SCSI ©çVXe ðN®·é½ßÉêäÚÆñäÚÌfBXNª SCSI fBXN¾Á½ÆµÄ àA sda ̽ßÉ BIOS ªñ·éWIgÍJ[lÅÍ hda ̽ßÉ gíêÜ·B»Ì¤¦ABIOS ZbgAbvÅF¯³¹Ä¢È¢fBXNÍ BIOS ©çÍ©¦Ü¹ñB±êÍÌæ¤È±ÆðÓ¡µÜ·Bá¦ÎABIOS ZbgAbvÅ hdb ªF¯³êĢȢ IDE I[ÌVXeÅÍAêä ÚÆñäÚÌfBXNÉ墀 BIOS ªñ·éWIgÍ hda Æ hdc Ì àÌŵå¤B (ó: ÂÜèfBXN hdb ÉεÄA hdc ÌWIgª Kp³êéÆ¢¤±ÆÅ·B) 10.2. SCSI ÉÖ·éÚ× SCSI ÅÌÔ͵áÁÄ¢ÄA SCSI R}hÍùÉ_ubNÔð gÁÄ¢éÌÅAWIgÍÀÛÌ I/O ÉÖµÄÍÜÁ½sKØÈàÌ Å·Bµ©µAp[eBVe[uÌtH[}bgÍ¢¾É IDE Ư¶ ÈÌÅA fdisk ͢©ÌWIgðÅÁ¿ã°È¯êÎÈç¸Aܽ HDIO_GETGEO àgíȯêÎÈèܹñ - m©ÉAfdisk Í IDE fBXNŠ뤪 SCSI fBXNŠ뤪æÊ͵ܹñBȺÌÚ×ÈLqðÇß ÎAíXÌhCoª»ê¼êA¿åÁƸÂÙÈÁ½WIgðÅÁ¿ã °é̪ª©èÜ·B{É¢Á½àñ¾B DOS â»ÌÞðgíÈ¢ÌÈçÎA·×ÄÌg£Ï·Ýèðð¯ÄA 64 wb h 32 ZN^gbNðgÁľ³¢ (±ê¾Æ 1 MiB/V_ÆÈè ÆÄàÖÅ·)Bܽ±êÈçÎAfBXNð éRg[©ç¼ÌR g[Éq¬·¦ÄàâèÍN«È¢Åµå¤B¢Â©Ì SCSI fBX NhCo(aha152x, pas16, ppa, qlogicfas, qlogicisp)Í DOS ÆÌÝ·« ÉÆÄà_o¿ÅA Linux ÌÝÌVXeÅà 8 GiB ðz¦éfBXNÌg pðµÄêȢŵå¤B±êÍoOÅ·B {ÌWIgÍǤÈÁÄ¢éÌŵå¤? »êÍÈPA»ñÈàÌÍ èܹñB½ªmè½àȢŵ太AÜA»ñÈà̪ Á½Æµ ÄàâÎÉ µÄ fdisk â LILO âJ[lÉ»ñÈàÌðwèµÈ¢Å ¾³¢BWIgÍ SCSI Rg[ÆfBXNÌÔž¯g¤×«àÌ Å·BÇ¢æ¤Å·ªA SCSI fBXNÌWIgð fdisk â LILO â J[lÉwè·éæ¤ÈzÍ¢ð¾¯Å·B »êÅàDïSÌ ÜèǤµÄàƾ¢£éÌÅ êÎAfBXN©gÉâ ¢í¹é±ÆªÅ«Ü·B SCSI R}hÉÍAeÊð²×é READ CAPACITY R}hª èÜ·BܽAMODE SENSE R}hÌ Rigid Disk Drive Geometry y[W(y[W04) ÍV_Æwbhð³¦Äê(Ï XÍūܹñ)A Format y[W(y[W03)ÍZN^ ½èÌoCgÆg bN ½èÌZN^ð³¦ÄêÜ·BãÒÍÊmb`É˶µÜ·B ÂÜèAgbN ½èÌZN^ÍÂÏŵÄAO¤ÌgbNÉÍà¤æ è½³ñÌZN^ªüÁĢܷB Linux Ì scsiinfo vOͱ¤ ¢Á½îñð³¦ÄêÜ·B±¤¢Á½îñÍÚ×ðÉß½ãÉ¡G±Ìã ÈA¨Ü¯É¾ç©ÉNà(½ª OS Å·ç)±ñÈîñÍg¢Ü¹ñB»Ì ãAfdisk Æ LILO ÉÖ·éÀèAÊÉÔ³êé C/H/S = 4476/27/171 È ÇÆ¢¤lÍg¢¨ÉÈèܹñBÆ¢¤ÌÍAp[eBVe[uÍ C/H/S É 10/8/6 rbgõ©èÄĢȢ©çÅ·B (óF´Ò Éâ¢í¹½Æ±ëAmb`ÆÍuêÂÌfBXNÌÅAgbN ½è ÌZN^ª¯¶ÌævÆ̱ÆÅ·B) ÅÍAJ[lÍ HDIO_GETGEO ̽ßÌîñðDZ©çÁÄéÌÅµå ¤? ±êÍ SCSI Rg[©çÁÄé©A½ç©Ì«¢û@ÅìÁ ĵܢܷBhCoÉæÁÄÍäXªu^Àvð~µªÁÄ¢éÆl¦Ä ¢éæ¤Å·ªAÇÁ±¢AäXÍ DOS â OS/2 Ì FDISK (âAAdaptec Ì AFDISK Èñ©) ªg¤ª~µ¢¾¯Å·B Linux Ì fdisk Í H Æ S ÂÜèAwbhÆgbN ½èÌZN^¾ ¯ðgÁÄ LBA ð C/H/S AhXÉÏ·µÜ·ªAV_ C Ígpµ È¢±ÆÉӵľ³¢BhCoÉæÁÄÍAhCoª 1023*255*63 ZN^ÉÎÅ«é±Æðmç¹é½ßÉA (C,H,S) = (1023,255,63) Å éÆñµÄ«Ü·BsKȱÆÉA±ê©çÍÀÛÌeÊÍí©èܹñ µA fdisk ÌÙÆñÇÌÅÅAæ赦éeÊð 8 GiB ÉÀèµÄµÜ¢Ü ·B±êÍA¡úÌÀÛÌãÀÆÈÁĢܷB ȺÌLqÅÍAM ðfBXNÌeÊAC,H,S ðV_AwbhAgb N ½èÌZN^ƵܷB C ð M / (H*S) Åè`³êéÆl¦éÈ çAH,S ð¾é¾¯Å\ªÅ·B H=64, S=32 ðúlƵܷB aha1740, dtc, g_NCR5380, t128, wd7000: H=64, S=32 Å·B aha152x, pas16, ppa, qlogicfas, qlogicisp: C > 1024 ÉÈéÜÅÍAH=64, S=32B»êÈ~ÍAH=255, S=63, C = min(1023, M/(H*S))B (±Ì½ßAC ÍÛßçêĨèA H*S*CÍfB XNÌeÊ M ÆÍÈèܹñB±êÍA½¢Ä¢ÌÅÌ fdisk Åâ èÆÈèÜ·)B ppa.c ÌR[hÅÍAM ÅÍÈAM+1 ðgpµÄ¨ èA sd.c ÌoOÉæèA M Í 1 ÌItZbgðÁÄ¢éÆ©ê ĢܷB advansys: C > 1024 ÉÈéÜÅÍAH=64, S=32B»êÈ~Í BIOS Ì `> 1 GB' IvVªüÁÄ¢êÎ H=255, S=63 Å·B aha1542: Rg[É 2 ÂÌàÌÇ¿çÌÏ·û@ðp¢Ä¢é©â¢ í ¹A H=255, S=63 ©AH=64, S=32 ̽ê©ðgpµÜ·BOÒðgÁ Ä¢éêÍAN®bZ[WÆµÄ "aha1542.c: Using extended bios translation" Æ\¦³êÜ·B aic7xxx: C > 1024 ÉÈéÜÅÍ H=64, S=32B»êÈ~Í A"extended" N®p [^ªhCoÉ^¦çêÄ¢é©A SEEPROM © BIOS Ìug £vrbgª§ÄçêÄ¢éÈçÎA H=255, S=63Å·B Linux 2.0.36 ÅÍA SEEPROM ª©t©çÈ¢êͱÌg£Ï·ðíÉLø ɵܷªA Linux 2.2.6 ÅÍASEEPROM ª©t©çÈ¢êÍg£ Ï·ÍA[Uªðêðgp·éæ¤ÉN®p[^ðwèµ½Ì ÝLøÉÈèÜ· (SEEPROM ª©t©Á½êÍN®p[^ͳ ³êÜ·)B±êÍA2.0.36 ÅÝèµ½à̪ 2.2.6 ÅÍN®É¸s ·é©àµêÈ¢ (»µÄALILO É `linear' L[[hªKvÉ ÈÁ½èAJ[lÌN®p[^ `aic7xxx=extended' ªKvÉ ÈÁ½è·é©àµêÈ¢) ±ÆðÓ¡µÄ¢Ü·B buslogic: C >= 1024 ÉÈéÜÅÍ H=64, S=32B»êÈ~ÍRg[Ìg£ Ï·ªgp³êÄ¢éêA M < 2^22 (ó: 2 GiB) ÈçÎ H=128, S=32 ÅA³àȯêÎ H=255, S=63 Å·Bµ©µA±Ì (C,H,S) Ý èðsÁ½ãAp[eBVe[uðÇÝoµÜ·B»µÄAÂ\ È 3 ÂÌgÝí¹A(H,S) = (64,32), (128,32), (255,63) ̤¿ ©çAendH=H-1 ÉÈ軤ÈàÌðTµÜ·B»µÄAÌæ¤ÈN ®bZ[Wð\¦µÜ·B "Adopting Geometry from Partition Table" (p[eBVe[uÌWIgðÌpµÜ·) fdomain: BIOS ÌhCup[^e[uÌWIgîñðT·©Ap[ eBVe[uðÇñÅAp[eBVª éÈçÅÌp[ eBVÌ(endH+1,endS) ð (H,S) ƵÄgpµÜ·Bp[eB VªÈ¢ÈçÎÌæ¤ÉÈèÜ·: M < 2^21 (1 GiB) ÈçÎ H=64, S=32 A M < 63*2^17 (3.9 GiB) ÈçÎ H=128, S=63 A³àÈ ¯êÎ H=255, S=63 B in2000: (H,S) = (64,32), (64,63), (128,63), (255,63)̤¿A C <= 1024 ÆÈéÅÌàÌðgpµÜ·BÅãÌàÌðg¤Æ«ÉÍAC Í 1023 ÉÛßçêÜ·B seagate: C,H,S ðfBXN©çÇÝÜ·(С¡¡¡Á!)B C © S ªå«·¬ êÎA S=17, H=2 ƵÄA C <= 1024 ÆÈéÜÅ H ð{ɵĢ« Ü·B±êÍ M > 128*1024*17 (1.1 GiB) ÌÆ«A H ª 0 ÉÝè³ êé±ÆðÓ¡µÜ·B±êÍoOÅ·B ultrastor and u14_34f: Rg[Ì}bsO[hÉ¶Ä (H,S) = (16,63), (64,32), (64,63) ̤¿Ìêªgp³êÜ·B hCoªWIgðwèµÈ¯êÎAp[eBVe[u©fBXN eÊ©ço±IÉlðßÜ·B p[eBVe[uð©ÄÝܵå¤Bp[eBVÌIíèðV _«EÉuÆ¢¤K¥©çAÇÌæ¤Èp[eBVÅ ÁÄàp[eB VÌIíèª end = (endC,endH,endS) Å éÆ«APÉ H = endH+1 ÅS = endS ÆvZ·é±ÆªÅ«Ü· (JèԵܷªAZN^Í 1 ©ç ¦Ü·)Bवµ§É¢¤ÆAȺÌæ¤ÉÈèÜ·Bàµp[eBV ª¶Ý·éÈçÎA beginC ªàÁÆàå«¢p[eBVðIÑÜ·B »¤µÄAend+1 ðAstart Æ length ð«·û@ÆAp[eBVÌIí èªV_«EÉ éƼè·éû@ÅvZµÜ·Bർû̦ªêv ·é©AendC = 1023 ©Â start+length ª (endH+1)*endS Ì®{Èç ÎA±Ìp[eBVÍ{ÉV_«EÉ»ë¦çêÄ¢éÆl¦çê Ü·BàµA±êª¾ßÈæ¤ÈçÎAÂÜèp[eBVªSR³¢©A 嫳ªÈñ©ÏÈçÎAfBXNeÊ M ÌÝð©Ü·BASYÍÈ ºÌæ¤ÉÈèA±Ìû@ÍAC ðÅå 1024, S ðÅå 62 ɳ¦éæ¤ Èøʪ èÜ·: H = M/(62*1024) ÅØèã°A S = M/(1024*H) ÅØèã ° C = M/(H*S) ÅØèÌÄB 11. Linux Ì IDE 8 GiB ÌÇ Linux Ì IDE hCoÍ ATA IDENTIFY DEVICE NGXgðgp·é±ÆÉ æèAfBXNÌWIgÆeÊ(ƻ̼½Ìîñ)ð¾Ü·BÅßÜ ÅAC*H*S ÉæèvZ³ê½eÊæèà 10% Èãå«¢êÍAhCoÍ Ô³ê½ lba_capacity ÌlðMpµÜ¹ñŵ½Bµ©µAÆEÌKèÉæ è (16514064 ZN^ðz¦é) å«È IDE fBXNÍAÀÛÌTCYÆͳ ÖWÌAv 16514064 ZN^ (7.8 GB (ó: 7.8 GiB Ü½Í 8.4 GB ª³µ ¢)) ÆÈé C=16383, H=16, S=63 ðÔµAÀÛÌTCYÍ lba_capacity ŠԵܷB ÅßÌ Linux J[l (2.0.34 â 2.1.90) ͱ̱ÆðmÁĢijµ¢ ®ìðµÜ·BàµÃ¢ Linux J[lðgÁÄ¢ÄAbvO[hൽ ÈA»ÌÊ 8 GiB ðz¦éåeÊfBXNÌ 8 GiB µ©µ¦È¢æ¤ ÈçÎA /usr/src/linux/drivers/block/ide.c àÌ[` lba_capacity_is_ok ðȺÌæ¤ÉÏXµÄ¾³¢B (ó: ÅàÁÊÈ RªÈ¢ÀèAǤ¹J[lÌÄRpCðs¤ÌÈçÎAf¼ÉAb vO[hµ½ûª¢¢Æv¢Ü·) static int lba_capacity_is_ok (struct hd_driveid *id) { id->cyls = id->lba_capacity / (id->heads * id->sectors); return 1; } æèÇ¢pb`É¢ÄÍAJ[l 2.1.90 ð©Ä¾³¢B 11.1. BIOS Ì¡G» ¡¢Á½æ¤ÉAåeÊfBXNÍÀÛÌTCYÆͳÖWÈWIg C=16383, H=16, S=63 ðÔµAÀÛÌTCYÍ LBAcapacity ÌlÅ﵆ ·B¢Â©Ì BIOS ͱêðð¹¸A±Ì 16383/16/63 ðæ謳¢V _Ææèå«¢wbhAá¦Î 1024/255/63 â 1027/255/63 Æ¢Á ½lÉÏ·µÜ·B»¤AJ[lÍPêÌWIg 16383/16/63 ¾¯Å ÍÈA BIOS ÉæÁÄÏ·³êĵÜÁ½WIg੪¯È¯êÎÈè ܹñBJ[l 2.2.2 ©ç±êͳµ³êÜ·( BIOS Éâ¢í¹ Ä H Æ S ð¾AC = capacity/(H*S) ÆvZ·é±ÆÉæÁÄ)BÊí±Ìâ èÍABIOS ÝèÅfBXNð Normal ÆÝè·é±ÆÅðµÜ· ( é¢ ÍAæèæ¢û@ÍANone ÆÝèµÄ BIOS ÉêØF¯³¹È¢)B±Ì HDD ©çN®³¹È¯ê΢¯È¢Æ©A DOS/Windows Åàg¤ÈÇÌRű êªsÂ\ÅA³çÉJ[lð 2.2.2 ©»êÈ~ÉAbvO[h·éÆ ¢¤Iðà³ÈçÎAJ[lÌN®p[^ðgÁľ³¢B BIOS ª 16320/16/63 Æñ·éêÍA»êÍÏ·ãÉ 1024/255/63 ð¾ éÚIÅñ³êÄ¢éÌÅ·B 11.2. wbhðßé½ßÌWp ½ÌfBXNÍ 15 wbh© 16 wbh©ÌWIgðIðÂ\É·é WpðpӵĢܷBftHgÌÝèÍ 16 wbhÌfBXNÉÈÁ Ä¢éŵå¤B¢¸êÌWIgÅ௶ZN^Ìà êÎA 15 wbhÌûªZN^ªÈ¢à èÜ·B±ñÈZbgAbvÌÛÉÍ æ¢Rª é©àµêܹñ: Petri Kaukasoina ͱ¤¢ÁÄÜ·: u10.1 GB Ì IBM Deskstar 16 GP (model IBM-DTTA-351010) ÍftHgÅ Í 16 wbhÉWpªÝè³êÄ¢éªA±Ì (AMI BIOS Ì) â PC ÅÍu[gµÈ¢ÌÅA 15 wbhÌûÉWpðÝè·éKvª Á½B hdparm -i Í RawCHS=16383/15/63 Å LBAsects=19807200 ÆñµÄ¢éB Í·×ÄÌeÊð¾é½ßÉ 20960/15/63 ÅgÁÄ¢éBvWpÌÝ èÉ¢ÄÍAȺðQƵľ³¢B http://www.storage.ibm.com/techsup/hddtech/hddtech.htm. 11.3. eÊðB·½ßÌWp ½ÌfBXNÍfBXNðæ謳©¹©¯é±ÆðÂ\É·éWp ðpӵĢܷB»êÍΩ°½±ÆÅA±êðgpµ½ªé Linux [ Uͨ»ç¢È¢Åµå¤ªAåeÊfBXNðÚ±·éÆêÌ BIOS Í NbV µÄµÜ¢Ü·BÊíÌðû@ÍAfBXNð®SÉ BIOS ÉF ¯³¹È¢±ÆÅ·Bµ©µ±êÍN®fBXNÅÍÈ¢µ©pÅ«È¢ ŵå¤B ÅÌ[ȧÀÍ 4096V_§ÀÅ· (±êÍ 16 wbhÆ 63 ZN^ gbNÌê 2.11GB Å·)Bá¦ÎAxmÊ MPB3032ATU Æ¢¤ 3.24 GB ÌfBXNÍftHgÅ 6704/15/63 Æ¢¤WIgÅ·ªAW pðÝè·é±ÆÅ 4092/16/63 É©¹©¯é±ÆªÂ\Å·B»µÄ LBAcapacity É뵀 4124736 ZN^Æñ·éÌÅA OS ͱÌfBXN ªÀÛÍàÁÆåeÊÅ éÆmé±ÆÍūܹñB (ÀÛÉfBXNÌe ʪ嫷¬Ä BIOS ªNbV ·éÌÅAWpªKvÉÈéÆ¢ ¤)±Ìæ¤ÈP[XÅÍAfBXNÌTCYÉ墀 Linux ɳ¦é½ßÉ u[gp[^ðwè·éKvª èÜ·B ±êÍ ÜèæÈ¢áÅ·B½ÌfBXNÍWpðÝè·é±ÆÉæ èA 2GB ÌfBXNÅ é©Ìæ¤É©¹A 4092/16/63 â 4096/16/63 Æ ¢Á½Øèlß½WIgðñµÜ·Bµ©µ LBAcapacity ÅÍ®SÈ lðñ·éÌÅ·B±Ìæ¤ÈfBXNͳíÉ®ìµÜ·µAWpÌ ÝèÉÖíç¸ Linux ̺ÅÍ·×ÄÌeÊðpÅ«Ü·B àÁÆàÅß̧ÀÍ ``33.8 GB ÌÇ'' Å·B 2.3.21 æèâ Linux J [lÅÍA±êæèeÊÌå«È IDE fBXNð¤Ü·éÉÍpb `ªKvÅ·B±Ì§Àæèå«ÈfBXN̢©ÅÍ 33.8GB fBXN É©¹©¯é½ßÌWpÝèªÂ\Èà̪ èÜ·Bá¦ÎAIBM Deskstar 37.5 GB disk (DPTA-353750) Æ¢Á½æ¤È±Ì§Àæèå«È fBXNÍA 33.8 GB ÌfBXNÉ©¹©¯é½ßÌWpÝèªÂ\ ÅA (ó: 2.1 GB É©¹©¯é±ÆÌÅ«é) ¼ÌåeÊfBXNÌæ¤ É 16383/16/63 Æ¢¤WIgðñµÜ·ªA LBAcapacity Í (ó: 33.8GB É·é) 66055248 ÆñµÜ· (65531/16/63 â 4111/255/63 ɵܷ)B 33.8GB É©¹©¯é½ßÌWpÝèðµ½±êçÌ fBXNàܽA Linux ̺ŷ×ÄÌeÊðp·é½ßÉu[gp [^ðKvƵܷB the BIOS 33.8 GB limit àQƵľ³¢B 12. Linux Ì 65535 V_ÌÇ HDIO_GETGEO ioctl Í short (ó: short int ÂÜè 16rbg) ÅV _ðԵܷB±êÍA65535 V_æè½¢êÉͪØèÌÄç êÄAá¦Î(T^IÈ SCSI ÌÝèÅÍ 1 V_ 1 MiB ÈÌÅ) 80 GiB ÌfBXNÍ 16 GiB É©¦é©àµêÈ¢±ÆðÓ¡µÜ·B¢Á½ñ½ª âèÈÌ©ª©ÁĵܦÎA»êðñð·é±ÆÍÈPÅ·B 12.1. 34 GB ´ÌfBXNɨ¯é IDE Ìâè 33.8 GB æèåeÊÈhCuÍA2.3.21 æèâJ[lÅÍ¤Ü®ì µÜ¹ñB (ó: ±ÌÍÌÅãÌûÉà¢Ä èÜ·ªA2.2.14 È~Å àT|[gµÄ¢Ü·B) »ÌÚ×ÍȺÌÊèÅ·B éú ȽªV½É 66835440 ZN^ (34.2 GB) Ì IBM-DPTA-373420 fBXNðÁÄ«½Æµ ܵå¤B 2.3.21 ÈOÌJ[lÍA»êÌTCYð 769*16*63 = 775152 ZN^ (0.4 GB) ÆñµA¿åÁƪÁ©è·éŵå¤B»µÄR}h Cp[^ hdc=4160,255,63 ð^¦ÄàAÔÍÜÁ½ðµÈ¢ ÌÅ· - ±êͳ³êÜ·Bê̽ªN«Ä¢éÌŵå¤? [` idedisk_setup() ÅÍAfBXNªñ·éWIg(16383/16/63 Å·)ð ó¯æèA[UªR}hCÅwèµ½lÅ㫵ܷB±ÌlÍ BIOS WIg̽߾¯Égp³êéàÌÅ·B[` current_capacity() â idedisk_capacity() ÍA 66835440/(16*63)=66305 Æ¢¤´¶ÅV_ðÄvZµÜ·ªA±ÌlÍ short Åi[³êéÌ ÅA 769 ÉÈÁĵܢܷB lba_capacity_is_ok() Í id->cyls ðjó ·éÌÅA»ÌãÌÄÑoµ·×ÄÉεÄRÌlðÔµA»ÌÊfBXN ÌeÊÍ 769*16*63 ÉÈèÜ·B¢Â©ÌJ[lÉεÄÍpb`ªñ ³êĢܷB 2.0.38 pÌpb`Í ftp.kernel.org ÉpÓ³êÄ¢Ü ·B 2.2.12 pÌpb`Í www.uwsg.indiana.edu. ÉpÓ³êĢܷB 2.2.14pre J[lͱêçÌfBXNðT|[gµÄ¢Ü·B 2.3.* J[ lV[YÅÍA2.3.21 ©ç±êçÌfBXNðT|[gµÄ¢Ü·BÜ ½AfBXNÌTCYð 33.8GB ÉØèlßé½ßÉAn[hEFAIÉ ``WpðÝè·é'' ±ÆÅàâèðuðv·é±ÆªÅ«Ü·Bn[ hfBXN©çu[gµæ¤Æ·éÌÈçÎA½Ìê ``BIOS AbvO [h'' ªKvÉÈéŵå¤B 13. g£p[eBVÆ_p[eBV ``OqÌÊèA'' äXÍ MBR (ZN^ 0) Ì\¢ðmÁĢܷ: VOl ` AA55A±¯Ä 16 oCg¸ÂÌ 4 ÂÌp[eBVe[uÌGg A±¯Äu[g[_ÌR[hB^Cvª(16iÅ) 5 © F © 85 Ìp[ eBVe[uGg (ó: 5, F, 85 ÍÉg£p[eBV AWindows95 g£p[eBVA Linux g£p[eBV)ÍÁÊÈÓ ¡ª èÜ·B±êçÍA»Ìàð³çÉ_p[eBVƵĪ³ êéóÔÅ éAg£p[eBVÅ é±ÆðÓ¡µÄ¢Ü·B (»¤A g£p[eBVÆÍPÈé ÅA»ê©gðgp·é±ÆÍÅ«¸A»Ì Ì_p[eBVðg¤±ÆÉÈèÜ·B) g£p[eBVÌêÔ ÚÌZN^ÌÊuÌݪdvÅ·B±ÌêÔÚÌZN^ÍAlÂÌp[eB Ve[uðÜñŢܷ: êÂÍ_p[eBVAêÂÍg£p[ eBVA»µÄñÂÍ¢gpÅ·B±Ìæ¤ÉµÄAfBXNSÌÉUç ÎÁ½p[eBVe[uZN^ÌA½\¢ªÅ« ªèÜ·BÅÌZ N^Í 3 ÂÌî{p[eBVÆÐÆÂÌg£p[eBVðKèµÜ ·B±êɱp[eBVe[uZN^Í»ê¼êAÐÆÂÌ_p[ eBVÆÌp[eBVe[uZN^ÌÊuðKèµÜ·B ±êÍ̱Æðð·é½ßÉdvÅ·: fBXNÌp[eBVðØé ÛÉÔ²¯È±Æðµ½ (ó: p[eCVðíµÄµÜÁ½È Ç)AlXÍuÌf[^Íܾ»±É éÌ?vÆ¢¤±Æðm轪èÜ ·B»µÄ»ÌÍÜÁı¤Å·BuÍ¢Aܾ èÜ·Bµ©µ_p [eBVð쬵½çA»êðLq·ép[eBVe[uZN^Í ±êçÌ_p[eBVÌæªÉ«ÜêéÌÅAÈO»±É Á½f [^͸íêÜ·æBv vO sfdisk Í®SÈ`F[ð\¦Å«Ü·Bá¦ÎA # 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 # ¨©µÈp[eBVe[uð\z·é±ÆàÂ\Å·Bg£p[eB VÌ`F[ª©ª©gðw·©A é¢ÍàÁÆOÌp[eBVð w·êA½ÌJ[lÍ[vÉ×èÜ·B 1ÂÌp[eBVe[u àÉ 2ÂÌg£p[eBVð±ÆàÂ\Å·B±êÍp[eBV e[uÌ`F[ªªò·é±ÆðÓ¡µÜ·B (±êÍá¦ÎA5, F, 85 Ì»ê¼êðg£p[eBVƵÄF¯Å«È¢ fdisk ÅAF ÌÉ 5 ðìéAÆ¢¤û@ÅÂ\ÉÈèÜ·) ÊÌ fdisk ^CvÌvO ÅÍ»Ìæ¤Èóµðæ赤±ÆªÅ«È¢ÌÅA»êðC·é½ßÉÍ èìƪKvÆÈèÜ·B Linux J[lÍAêÔO¤Ìxɨ¢Äª òðó¯t¯Ü·B±êÍA2ÂÌ_p[eBVÌ`F[ð屮 ªÅ«é±ÆðÓ¡µÜ·BXA±êÍÖÅ· - á¦ÎAêûÅÍ^C v 5 ðgpµÄ DOS ©çQÆÅ«éæ¤ÉµAà¤ÐûÅÍ^Cv 85 ðg pµÄ DOS ©ç©¦È¢æ¤ÉµÜ·BÂÜèADOS Ì fdisk ªA1024 V _ðz¦é_p[eBVÉæÁÄNbV µÈ¢æ¤ÉÅ«éÌ Å·B 14. âèÌð âèðø¦½Æv¤l̽ÍAµ©µÀÛÉͽૢ_Í èܹñBÜ ½Aø¦Ä¢éâèÌ´öªfBXNÌWIgÉ éÆvíêéêÅ àAÀÛÉÍfBXNÌWIgÉͽÌâèà èܹñBãÅq×½æ ¤È·×Ä̱ƪÔð¡GɵĢܷªAfBXNÌWIg̵¢ ÍñíÉÈPÅ·: ÜÁ½\µªÈ¯êνà·éKvÍ èܹñ; ൠN®É `LI' ÌæÉiÜÈ¢êÍ LILO ÉL[[h `linear' ð^¦Ä ¾³¢BJ[lÌN®bZ[Wð©Äv¢oµÄ¾³¢: (LILO â fdisk âJ[lR}hCÅwbhâV_ð^¦Ä)WIg ð¢¶ê΢¶éÙÇA³íÉÍ®ìµÈÈéŵå¤B¨¨´ÁÏ É¢¦ÎAftHgªêÔÈÌÅ·B ³çÉv¢oµÄ¾³¢: Linux ªfBXNÌWIgðgíÈ¢A ÜèLinux ª®ìµÄ¢éÔÍAfBXNÌWIgÉæÁÄâèªø«N ±³êé±ÆÍ èܹñB»êDZë©AfBXNÌWIgÍ LILO Æ fdisk ¾¯Égp³êÜ·B»¤ALILO ªJ[lÌN®É¸s·éê ÍAWIgÉâèª é©àµêܹñBÙÈé OS ªp[eBVe [uððµÈ¢êÍAWIgÉâèª é©àµêܹñBÅ໠꾯ŷBÆèí¯Amount ª®ìµÈ¢æ¤Év¦éêÅàAfBXN ÌWIgÉͽÌÖWà èܹñ - âèͼÌÉ èÜ·B 14.1. âè: SCSI ©çN®µ½AIDE fBXNªÏÈWIgðÁÄ ¢é fBXNªÏÈWIgðÂÌÍÆÄà 調ŷB Linux J[l Í hd0 Æ hd1 (80H Æ 81H ̪Óçê½ BIOS hCu) É墀 BIOS Éâ¢í¹A±Ìf[^ª hda Æ hdb Ìà̾ƼèµÜ·Bµ© µ SCSI ©çN®µ½VXeãÅÍAÅÌñÂÌfBXNª SCSI fBX Nŵ天çAÅÌ IDE fBXN hda Å é 5ÔÚÌfBXNÉ뵀 sda ÌWIgªèÄçêéÈñıƪN«é©àµêܹñB±ê ÍAN®â /etc/lilo.conf ɨ¢ÄAKØÈ C, H, S ðgÁÄu[ gp[^ `hda=C,H,S' ð^¦é±ÆÅÈPÉðÅ«Ü·B 14.2. âèȵ: ¯¶fBXNªÙÈéWIgðÁÄ¢é? uÍÜÁ½¯¶ IBM »ÌfBXNð 2äÁĢܷBµ©µAfdisk ª\¦·éTCYÍÙÈÁĢܷB±ñÈ´¶: # fdisk -l /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 -l /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 ½Åŵå?v ½ªN«Ä¢éÌŵå¤? »¤AܸæêÉA±êçÌhCu͵Á© è 10 MKoCgg¦Ä¢Ü·: hdb Í 255*63*1232*512 = 10133544960 o CgÅA hdd Í 16*63*19650*512 = 10141286400 oCgÅ·ªA½à«¢ ÍÈ¢µJ[lÍÇ¿çà 10.1 GB Å éÆðµÄ¢Ü·BÅͽÌT CYªá¤Ìŵå¤? »êÍAJ[lÍÅÌñäÌ IDE fBXNÉ ¢ÄÍ BIOS ©çîñð¾A»Ì BIOS Í hdb ð 255 wbhÅÄ}bvµÄ ¢é©çÅ· (16*19650/255=1232 V_)B±ÌÛßÉæé¹¸Í 8MB ã Å·B hdd ௶û@ÅÄ}bvµ½¢ÌÈçÎAJ[lÌu[gp[^É `hdd=1232,255,63' ð^¦Ä¾³¢B 14.3. âèȵ: df æè fdisk Ìûªp[eBVªå«©¦é fdisk ÍubNªfBXNãɢ¶ݷé©ðñµÜ·B mke2fs ð gÁÄfBXNãÉt@CVXeðìÁ½êAt@CVXeÍë L(bookkeeping)̽ßÌ¢ç©ÌXy[XðKvƵܷ - ÊíÍt@C VXeÌTCYÌ 4% ç¢ÅA mke2fs ·éÛÉ½Ì inode ðìé Ææè¦Ü·BȺÍáÅ·: # 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 # ܸA4095976 ubNÌp[eBVª èÜ·B±±É ext2 t@C VXeð쬵AKÈÉ}EgµÜ·B·éÆ 3574475 ubNÉ ÈÁĵܢܷ - 521501 ubN (12%) Í inode ƼÌëLpXy[X ÉÁï³ê½ÌÅ·Bv 3574475 Æ 3369664 ÌÔÌ·ÍA[Uª 13 u bNðgpµÄ¢ÄA³çÉ 204798 ubNª root ̽ßÉ\ñ³êÄ ¢é½ßÅ é±ÆÉӵľ³¢BãÒÍ tune2fs ÅÏXÅ«Ü·B ±Ì `-i 1024' Íj [XXv[ÈÇ̬³¢t@CªRÙÇ éê ÉÌÝKµÄ¢Ü·BftHgÅͱ¤ÈèÜ·: # 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 # ¡xÍ 137501 ubN(3.3%)Ìݪ inode ̽ßÉgp³êA»ÌÊÈ Oæè 384 MB à¦ÄÜ·B (inode 1ÂÉ« 128 oCggÁÄéݽ¢ Å·B) êûAæÌêÅÍ 4096000 t@C۶ūéÌÉε(Ǥ©Ä ཷ¬)A±Ìt@CVXeÅÍÅå 1024000 t@CªÛ¶Å«Ü· (±êÅà\ª·¬Ü·)B 15. ú{êÅÉ墀 |óÉÖ·é²Ó©Í JF vWFNg <JF@linux.or.jp> ¶ÉAµÄ¾ ³¢B v2.2j Ì|óÉ ½ÁÄÍAx]½ê³ñ shorie@ibm.net Éæé Large Disk mini HOWTO v1.0 Ì|ó©ç½Ìªð¬p³¹Ä¢½¾«Üµ½B [´ÓµÜ·B