Åëëçíéêü Large Disk HOWTO Andries Brouwer, aeb@cwi.nl v2.2m, 15 Öåâñïõáñßïõ 2000 ¼ëá ôá ó÷åôéêÜ ìå ôç ãåùìåôñßá ôïõ äßóêïõ êáé ôï üñéï ôùí 1024 êõëßíäñùí. --- Ãéá ïðïéáäÞðïôå ó÷üëéá, äéïñèþóåéò, êëð ó÷åôéêÜ ìå ôçí åëëçíéêÞ ìåôÜöñáóç åðéêïéíùíÞóôå ìå ôïí Ðáíáãéþôç Âïõäïýñç óôç äéåýèõíóç: panos@panos.uklinux.net [1m1. Ôï ðñüâëçìá[0m Áò ðïýìå üôé Ý÷åôå Ýíá äßóêï ìå 1024 êõëßíäñïõò. Áò õðïèÝóïõìå üôé Ý÷åôå êé Ýíá ëåéôïõñãéêü ðïõ ÷ñçóéìïðïéåß ôçí ðáëéÜ INT13 BIOS äéáóýíäåóç ìå ôï É/Ï ôïõ äßóêïõ. Ôüôå Ý÷åôå ðñüâëçìá, áöïý áõôÞ ç äéáóýíäåóç ÷ñçóéìïðïéåß ðåäßá ìå 10-bit ãéá ôïõò êõëßíäñïõò ãéá ôï É/Ï, ïðüôå êýëéíäñïé ðÝñá ôùí 1024 äåí åßíáé ðñïóâÜóéìïé. Åõôõ÷þò, ôï Linux äå ÷ñçóéìïðïéåß ôï BIOS, ïðüôå äåí õðÜñ÷åé ðñüâëçìá. ÄçëáäÞ, åêôüò áðü äõï ðñÜãìáôá: (1) ¼ôáí îåêéíÜ ôï óýóôçìá, ôï Linux äåí ôñÝ÷åé áêüìá ïðüôå äåí ìðïñåßôå íá áðïöýãåôå ôá ðñïâëÞìáôá ôïõ BIOS. Áõôü Ý÷åé ìåñéêÝò åðéðôþóåéò óôï LILO êáé ðáñüìïéïõò öïñôùôÝò åêêßíçóçò. (2) Åßíáé áðáñáßôçôï ãéá üëá ôá ëåéôïõñãéêÜ ðïõ ÷ñçóéìïðïéïýí Ýíá äßóêï íá óõìöùíïýí ðïõ âñßóêïíôáé ïé êáôáôìÞóåéò. Ìå Üëëá ëüãéá, åÜí ÷ñçóéìïðïéåßôå Linux êáé, áò ðïýìå, DOS óå Ýíá äßóêï, ôüôå ðñÝðåé êáé ôá äõï íá ìåôáöñÜæïõí ôïí ðßíáêá êáôáôìÞóåùí ìå ôïí ßäéï ôñüðï. Áõôü Ý÷åé ìåñéêÝò åðéðôþóåéò ãéá ôïí ðõñÞíá ôïõ Linux êáé ôï fdisk. ÐáñáêÜôù áêïëïõèåß ìéá ëåðôïìåñÞò ðåñéãñáöÞ üëùí ôùí ó÷åôéêþí èåìÜôùí. Óçìåéþóôå üôé ÷ñçóéìïðïßçóá ôïí ðõñÞíá 2.0.8 ùò áíáöïñÜ. ¶ëëåò åêäüóåéò ìðïñåß íá äéáöÝñïõí ëéãÜêé. [1m2. Ðåñßëçøç[0m ¸÷åôå Ýíáí êáéíïýñéï ìåãÜëï äßóêï. Ôé êÜíåôå; Áðü ôçí ðëåõñÜ ôïõ ëïãéóìéêïý: ÷ñçóéìïðïéåßôå ôï fdisk (Þ, êáëýôåñá, cfdisk) ãéá íá äçìéïõñãÞóåôå ôéò êáôáôìÞóåéò, êáé ìåôÜ ôï mke2fs ãéá íá äçìéïõñãÞóåôå Ýíá óýóôçìá áñ÷åßùí, êáé Ýðåéôá mount ãéá íá ðñïóáñôÞóåôå ôï êáéíïýñéï óýóôçìá óôçí éåñáñ÷ßá. [4m¸íá[24m [4m÷ñüíï[24m [4mðñéí[24m [4mèá[24m [4mìðïñïýóá[24m [4míá[24m [4mãñÜøù:[24m Äå ÷ñåéÜæåôáé íá äéáâÜóåôå áõôü ôï HOWTO åöüóïí [4mäåí[24m [4mõðÜñ÷ïõí[24m ðñïâëÞìáôá ìå ìåãÜëïõò äßóêïõò áõôÝò ôéò ìÝñåò. Ç ðëåéïøçößá ôùí ðñïâëçìÜôùí äçìéïõñãïýíôáé áðü ÷ñÞóôåò ðïõ íïìßæïõí üôé ìðïñåß íá Ý÷ïõí ðñüâëçìá êáé åãêáèéóôïýí Ýíá äéá÷åéñéóôÞ äßóêïõ Þ ÷ñçóéìïðïéïýí ôï fdisk óå expert mode, Þ äçëþíïõí ôç ãåùìåôñßá ôïõ äßóêïõ óôï LILO Þ óôïí ðõñÞíá. Ðáñüëá áõôÜ, ôõðéêÜ ðñïâëÞìáôá åßíáé: (á) áðáñ÷áéùìÝíïò åîïðëéóìüò, (â) ðïëëÜ ëåéôïõñãéêÜ óôïí ßäéï äßóêï êáé, ìåñéêÝò öïñÝò, (ã) ç åêêßíçóç. [4mÁõôÝò[24m [4môéò[24m [4mìÝñåò[24m [4mç[24m [4mêáôÜóôáóç[24m [4måßíáé[24m [4m÷åéñüôåñç.[24m ºóùò ï 2.3.21 êáé íåüôåñïé ðõñÞíåò íá åßíáé êáëïß ãéá üëïõò ôïõ äßóêïõò. ÓõìâïõëÞ: Ãéá ìåãÜëïõò äßóêïõò SCSI: ôï Linux ôïõò õðïóôçñßæåé áðü ðïëý íùñßò. Äåí ÷ñåéÜæåôáé íá êÜíåôå ôßðïôá. Ãéá ìåãÜëïõò IDE äßóêïõò (ðÜíù áðü 8.4GB): âñåßôå ìéá íÝá óôáèåñÞ Ýêäïóç ðõñÞíá (2.0.34 Þ íåþôåñç). ÓõíÞèùò üëá èá äéïñèùèïýí, åéäéêÜ áí äå æçôÞóåôå áðü ôï BIOS ìåôáöñÜóåéò LBA êáé ôá ó÷åôéêÜ. Ãéá ðïëý ìåãÜëïõò IDE äßóêïõò (ðÜíù áðü 33.8 GB): äåßôå ôï ``IDE ðñïâëÞìáôá ìå 34+ GB äßóêïõò'' ðáñáêÜôù. ÅÜí ôï LILO êñåìÜåé êáôÜ ôçí åêêßíçóç, äçëþóôå êáé óôï linear áñ÷åßï ñõèìßóåùí etc/lilo.conf Ìðïñåß íá õðÜñîïõí ðñïâëÞìáôá ìå ôç ãåùìåôñßá ðïõ ìðïñïýí íá ëõèïýí ìå ôç äÞëùóç óôïí ðõñÞíá /LILO/fdisk. ÅÜí Ý÷åôå ðáëéü fdisk êáé ðñïåéäïðïéåß ãéá ``åðéêáëõðôüìåíåò'' êáôáôìÞóåéò: áãíïÞóôå ôï, Þ åëÝãîôå ÷ñçóéìïðïéþíôáò ôï cfdisk üôé üëá åßíáé ðñÜãìáôé åíôÜîåé. ÅÜí íïìßæåôå üôé êÜôé ðÜåé ëÜèïò ìå ôï ìÝãåèïò ôïõ äßóêïõ, óéãïõñåõôåßôå üôé äå ìðåñäåýåôå ôéò äõáäéêÝò ìå ôéò äåêáäéêÝò ``'', êáé ìÜèåôå üôé ï åëåýèåñïò ÷þñïò ðïõ áíáöÝñåé ôï df óå Ýíáí Üäåéï äßóêï åßíáé ëßãï ôïéò åêáôü ìéêñüôåñï áðü ôï ìÝãåèïò ôçò êáôÜôìçóçò áöïý õðÜñ÷ïõí êñáôÞóåéò áðü ôï óýóôçìá. Áí áêüìá íïìßæåôå üôé õðÜñ÷åé ðñüâëçìá, Þ áðëÜ åßóôå ðåñßåñãïé, äéáâÜóôå ðáñáêÜôù. [1m3. ÌïíÜäåò êáé ÌåãÝèç[0m ¸íá kilobyte (kB) åßíáé 1000 bytes. ¸íá megabyte (MB) åßíáé 1000 kB. ¸íá gigabyte (GB) åßíáé 1000 MB. ¸íá terabyte (TB) åßíáé 1000 GB. Áõôü åßíáé ôï SI óýóôçìá. Ðáñüëá áõôÜ, õðÜñ÷åé êüóìïò ðïõ ÷ñçóéìïðïéåß ôï 1 MB=1024000 bytes êáé ìéëÜ ãéá 1.44 MB äéóêÝôåò êáé êÜðïéïé ðïõ íïìßæïõí üôé 1 MB=1048576 bytes. Åäþ áêïëïõèþ ôï ðñïôåéíüìåíï standard êáé ãñÜöù Ki, Mi, Gi, Ti ãéá ôéò äõáäéêÝò ìïíÜäåò, þóôå ïé äéóêÝôåò åßíáé 1440 KiB (1.47 MB, 1.41 MiB), 1 MiB åßíáé 1048576 bytes (1.05 MB), 1 GiB åßíáé 1073741824 bytes (1.07 GB) êáé 1 TiB åßíáé 1099511627776 bytes (1.1 TB). ÓùóôÜ, ïé êáôáóêåõáóôÝò äßóêùí áêïëïõèïýí ôï SI óýóôçìá êáé ÷ñçóéìïðïéïýí äåêáäéêÝò ìïíÜäåò. Ðáñüëá áõôÜ, ìåñéêÜ ìõíÞìáôá ôïõ Linux êáé ìåñéêÜ fdisk ðñïãñÜììáôá ÷ñçóéìïðïéïýí ôá óýìâïëá MB êáé GB ãéá äõáäéêÜ, Þ êáé ìéêôÝò äõáäéêÝò-äåêáäéêÝò ìïíÜäåò. Ãéá áõôü, ðñéí íïìßóåôå üôé ï äßóêïò óáò åßíáé ìéêñüôåñïò áðü áõôüí ðïõ óáò õðïó÷Ýèçêáí, õðïëïãßóôå ðñþôá ôï ðñáãìáôéêü ôïõ ìÝãåèïò óå äåêáäéêÝò ìïíÜäåò (Þ áðëÜ bytes). Ó÷åôéêÜ ìå ôçí ïñïëïãßá êáé ôéò óõíôïìåýóåéò ôùí äõáäéêþí ìïíÜäùí, ï Knuth Ý÷åé ìéá åíáëëáêôéêÞ ðñüôáóç, óõãêåêñéìÝíá íá ÷ñçóéìïðïéïýìå KKB, MMB, GGB, TTB, PPB, EEB, ZZB, YYB êáé íá ôá êáëïýìå [4mìåãÜëï[0m [4mkilobyte[24m, [4mìåãÜëï[24m [4mmegabyte[24m, ... [4mìåãÜëï[24m [4myottabyte[24m. ÃñÜöåé `Óçìåéþóôå üôé ôï íá ãñÜöïõìå äõï öïñÝò ôï êÜèå ãñÜììá õðïíïåß êáé äõáäéêü êáé ìåãÜëï. Åßíáé ìéá êáëÞ ðñüôáóç, áöïý ôï `ìåãÜëï gigabyte' áêïýãåôáé êáëýôåñï áðü ôï `gibibyte'. Ãéá ôçí ðåñßðôùóÞ ìáò ôï ìüíï ðïõ ðñÝðåé íá ðñïóÝîïõìå åßíáé üôé Ýíá megabyte Ý÷åé áêñéâþò 1000000 bytes, êáé êÜðïéïò Üëëïò üñïò êáé óõíôüìåõóç ÷ñåéÜæåôáé áí åííïïýìå êÜôé Üëëï. [1m3.1. ÌÝãåèïò ôïìÝá[0m Óôï ðáñüí êåßìåíï Ýíá ôïìÝáò Ý÷åé 512 bytes. Áõôü åßíáé ó÷åäüí ðÜíôá áëÞèåéá, åêôüò áðü ìåñéêïýò MO ðïõ ÷ñçóéìïðïéïýí 2048 bytes, êáé üëåò ïé ÷ùñçôéêüôçôåò ðïõ äßíïíôáé ðáñáêÜôù ðñÝðåé íá ðïëëáðëáóéáóôïýí åðß ôÝóóåñá. (¼ôáí ÷ñçóéìïðïéåßôå ôï fdisk óå ôÝôïéïõò äßóêïõò , óéãïõñåõôåßôå üôé Ý÷åôå Ýêäïóç 2.9i êáé Üíù , êáé äþóôå ôçí ðáñÜìåôñï `-b 2048'.) [1m3.2. ÌÝãåèïò äßóêïõ[0m ¸íá äßóêïò ìå C êõëßíäñïõò, Ç êåöáëÝò êáé S ôïìåßò áíÜ ß÷íïò Ý÷åé C*H*S ôïìåßò óõíïëéêÜ êáé ÷ùñçôéêüôçôá C*H*S*512 bytes. Ãéá ðáñÜäåéãìá, áí ç åôéêÝôá ëÝåé C/H/S=4092/16/63 ôüôå ï äßóêïò Ý÷åé 4092*16*63=4124736 ôïìåßò êáé ÷ùñÜåé 4124736*512=2111864832 bytes (2.11 GB). ÊáôÜ óýìâáóç, äßíåôáé C/H/S=16383/16/63 ãéá äßóêïõò ìåãáëýôåñïõò ôùí 8.4 GB, êáé ôï ìÝãåèïò ôï äßóêïõ äå ìðïñåß ðéá íá äéáâáóôåß áðü ôéò ôéìÝò C/H/S ðïõ áíáöÝñïíôáé áðü ôï äßóêï. [1m4. Ðñüóâáóç äßóêïõ[0m Ãéá íá äéáâÜóåôå Þ íá ãñÜøåôå êÜôé áðü ôï äßóêï, ðñÝðåé íá äåßîïõìå ôç èÝóç óôï äßóêï, äßíïíôáò ãéá ðáñÜäåéãìá ôïí ôïìÝá Þ ôçí åíüôçôá. Áí ï äßóêïò åßíáé SCSI, ôüôå ï áñéèìüò ôïõ ôïìÝá ðçãáßíåé êáôåõèåßáí óôçí åíôïëÞ SCSI êáé ï äßóêïò ôçí êáôáëáâáßíåé. Áí ï äßóêïò åßíáé IDE ÷ñçóéìïðïéþíôáò LBA, éó÷ýåé ôï ßäéï. ÁëëÜ áí ï äßóêïò åßíáé ðáëéüò RLL Þ MFM Þ IDE ôçò ðñï-LBA åðï÷Þò, ôüôå ï äßóêïò ðåñéìÝíåé Ýíá ôñéðëü áñéèìü (êýëéíäñï, êåöáëÞ, ôïìÝá) ãéá íá êáôáäåßîåé ôï óçìåßï. Ç áíôéóôïé÷ßá ìåôáîý ãñáììéêÞò äéåýèõíóçò êáé ôçò 3D óçìåéïãñáößáò åßíáé: ãéá Ýíá äßóêï ìå C êõëßíäñïõò, H êåöáëÝò êáé S ôïìåßò/ß÷íïò Þ èÝóç (c,h,s) óå 3D Þ CHS åßíáé ç ßäéá èÝóç ìå c*H*S + h*S + (s-1) óå ãñáììéêÞ Þ LBA. (Ôï ìåßïí Ýíá åßíáé åðåéäÞ ïé ôïìåßò áñ÷ßæïõí êáôÜ ðáñÜäïóç áðü ôï 1, ü÷é ôï 0 üðùò óôï 3D). ÊáôÜ óõíÝðåéá, ãéá íá ðñüóâáóç óå Ýíáí ðïëý ðáëéüo ìç-SCSI äßóêï, ðñÝðåé íá îÝñïõìå ôçí [4mãåùìåôñßá[24m, äçëáäÞ, ôéò ôéìÝò C, H êáé S. [1m4.1. Ðñüóâáóç ôïõ BIOS êáé ôï üñéï ôùí 1024 êõëßíäñùí[0m Ôï Linux äå ÷ñçóéìïðïéåß ôï BIOS, áëëÜ Üëëá óõóôÞìáôá ôï ÷ñçóéìïðïéïýí. Ôï BIOS, ðïõ ðñïàðÜñ÷åé ôïõ LBA, ðñïóöÝñåé ôéò ñïõôßíåò äßóêïõ INT13 ðïõ äÝ÷ïíôáé (c,h,s) ðáñáìÝôñïõò. (ÁêñéâÝóôåñá: ôï AH äéáëÝãåé ôç ëåéôïõñãßá ðïõ èá åêôåëåóôåß, ôï CH åßíáé ôá êÜôù 8 bits ôïõ ïíüìáôïò ôïõ êõëßíäñïõò, ôï CL Ý÷åé óôá bits 7-6 ôá Üíù äõï bits ôïõ áñéèìïý ôïõ êõëßíäñïõ êáé óôá bits 5-0 ôïí áñéèìü ôïõ ôïìÝá, DH åßíáé ï áñéèìüò ôçò êåöáëÞò, êáé DL åßíáé ï áñéèìüò ôïõ äßóêïõ (80h Þ 81h). Áõôü åîçãåß ìåñéêÜ ôç äéÜôáîç ôïõ ðßíáêá êáôáôìÞóåùí.) ¸ôóé, Ý÷ïõìå ôï CHS êùäéêïðïéçìÝíï óå 3 bytes, ìå 10 bits ãéá ôï üíïìá ôïõ êõëßíäñïõ , 8 bits ãéá ôçí êåöáëÞ êáé 6 bits ãéá ôïí áñéèìü ß÷íïõò ôïìÝá (1-63). Åîõðáêïýåôáé üôé ïé êýëéíäñïé ìðïñåß íá åßíáé áðü 0 Ýùò 1023 êáé äå ìðïñïýí íá áñéèìçèïýí ðÜíù áðü 1024 êýëéíäñïé áðü ôï BIOS. Ôï DOS êáé ôá Windows äåí Üëëáîáí üôáí IDE äßóêïé ìå õðïóôÞñéîç LBA åìöáíßóôçêáí, ïðüôå ôï DOS êáé ôá Windows óõíÝ÷éóá íá ÷ñåéÜæïíôáé ãåùìåôñßá äßóêïõ, áêüìá êé üôáí áõôü äå ÷ñåéáæüôáí áðü ôï É/Ï ôïõ äßóêïõ, áëëÜ ìüíï ãéá íá åðéêïéíùíïýí ìå ôï BIOS. Áõôü îáíÜ óçìáßíåé üôé ôï Linux ÷ñåéÜæåôáé ôç ãåùìåôñßá üðïõ åðéêïéíùíßá ìå ôï BIOS Þ ìå Üëëá ëåéôïõñãéêÜ áðáéôåßôáé, áêüìá êáé óå ìïíôÝñíïõò äßóêïõò. ÁõôÞ ç êáôÜóôáóç êñÜôçóå ãéá ôÝóóåñá ÷ñüíéá ðåñßðïõ êáé ìåôÜ åìöáíßóôçêáí óôçí áãïñÜ äßóêïé ðïõ äå ìðïñïýóáí íá êëçèïýí ìå ôéò óõíáñôÞóåéò INT13 (êáèüôé ôá 10+8+6=24 bits ãéá (c,h,s) äåí ìðïñïýí íá áñéèìÞóïõí ðÜíù áðü 8.5 GB) êáé ìéá íÝá äéáóýíäåóç ìå ôï BIOS ó÷åäéÜóôçêå: ïé áðïêáëïýìåíåò Extended INT13 óõíáñôÞóåéò, üðïõ ôï DS:SI äåß÷íåé óôï 16-byte Disk Address Packet ðïõ ðåñéëáìâÜíåé Ýíáí 8ìðéôï áñéèìü åíïôÞôùí. Ðïëý áñãÜ ï êüóìïò ôçò Microsoft êéíåßôáé ðñïò ôç ÷ñÞóç áõôþí ôùí Extended INT13 óõíáñôÞóåùí. ÌÜëëïí óå ìåñéêÜ ÷ñüíéá áðü óÞìåñá, êáíÝíá ìïíôÝñíï óýóôçìá äå èá ÷ñåéÜæåôáé ôç ãåùìåôñßá ôïõ äßóêïõ. [1m4.2. Éóôïñßá ôïõ BIOS êáé ôùí ïñßùí ôïõ IDE[0m [1mATA Specification (ãéá IDE äßóêïõò) - ôï üñéï ôùí 137 GB[0m Ôï ðïëý 65536 êýëéíäñïé (áñéèìçìÝíïé 0-65535), 16 êåöáëÝò (áñéèìçìÝíåò 0-15), 255 ôïìåßò/ß÷íïò (áñéèìçìÝíïé 1-255) ãéá ìéá ìÝãéóôç ÷ùñçôéêüôçôá 267386880 ôïìÝùí (512 bytes ï êáèÝíáò), äçëáäÞ, 136902082560 bytes (137 GB). Áõôü áêüìá äåí åßíáé ðñüâëçìá (ôï 1999), áëëÜ èá åßíáé óå ìåñéêÜ ÷ñüíéá áðü óÞìåñá. [1mBIOS Int 13 - ôï üñéï ôùí 8.5 GB[0m Ôï ðïëý 1024 êýëéíäñïé (0-1023), 256 êåöáëÝò (0-255), 63 ôïìåßò/ß÷íïò (1-63) ãéá ìÝãéóôç ÷ùñçôéêüôçôá 8455716864 bytes (8.5 GB). Áõôüò åßíáé Ýíáò áñêåôÜ óïâáñüò ðåñéïñéóìüò óÞìåñá. Óçìáßíåé üôé ôï DOS äå ìðïñåß íá ÷ñçóéìïðïéÞóåé ôïõò íÝïõò ìåãÜëïõò äßóêïõò. [1mÔï üñéï ôùí 528 MB[0m Áí ïé ßäéåò ôéìÝò c,h,s ÷ñçóéìïðïéïýíôáé ãéá ôï BIOS Int 13 call êáé ãéá ôï É/Ï ôïõ ÉDE äßóêïõ, êáé ïé äõï ðåñéïñéóìïß óõíäõÜæïíôáé êáé ìðïñïýìå íá ÷ñçóéìïðïéÞóïõìå ôï ðïëý 1024 êõëßíäñïõò, 16 êåöáëÝò êáé 63 ôïìåßò/ß÷íïò ãéá ìÝãéóôç ôåëéêÞ ÷ùñçôéêüôçôá 528482304 bytes (528MB), ôï ðåñßöçìï üñéï ôùí 504 MiB ãéá DOS ìå ðáëéü BIOS. Áõôü Ýãéíå ðñüâëçìá ôï 1993 êáé åöåõñÝèçêáí ðïëëÜ ôå÷íÜóìáôá, êáé óå õëéêü (LBA), êáé firmware (ìåôáöñÜæïíôáò ôï BIOS) êáé óå software (äéá÷åéñéóôÝò äßóêùí). Ç Ýííïéá ôçò 'ìåôÜöñáóçò' åöåõñÝèçêå (1994): ôï BIOS ìðïñïýóå íá ÷ñçóéìïðïéåß ìßá ãåùìåôñßá üôáí åðéêïéíùíïýóå ìå ôï äßóêï êáé Üëëç, øåõäÞ, ãåùìåôñßá üôáí ìéëïýóå óôï DOS, êáé íá ìåôáöñÜóåé ìåôáîý ôïõò. [1mÔï üñéï ôùí 2.1 GB (Áðñßëéïò 1996)[0m ÌåñéêÜ ðáëéÜ BIOS ÷ñçóéìïðïéïýí ìüíï 12 bits ãéá ôï ðåäßï óôç CMOS RAM ðïõ äßíåé ôïí áñéèìü ôùí êõëßíäñùí. ÊáôÜ óõíÝðåéá, ï áñéèìüò áõôüò ìðïñåß íá åßíáé ôï ðïëý 4095, êáé ìüíï 4095*16*63*512=2113413120 bytes åßíáé ðñïóâÜóéìá. Ôï íá õðÜñ÷åé ìåãáëýôåñïò äßóêïò Ý÷åé ùò áðïôÝëåóìá ôï êñÝìáóìá êáôÜ ôçí åêêßíçóç. Áõôü Ýêáíå äßóêïõò ìå ãåùìåôñßá 4092/16/63 áñêåôÜ äçìïöéëÞò. Áêüìá êáé óÞìåñá õðÜñ÷ïõí ìåãÜëïé äßóêïé ðïõ Ýñ÷ïíôáé ìå äéáêüðôç ãéá åìöáíßæïíôáé ùò 4092/16/63. Äåßôå êáé ôï over2gb.htm. [1mÔï üñéï ôùí 3.2 GB[0m ÕðÞñ÷å Ýíá ìåãÜëï bug óôï Phoenix 4.03 êáé 4.04 BIOS ðïõ ôá Ýêáíå íá êïëëÜíå óôï CMOS setup ãéá äßóêïõò ìåãáëýôåñïõò ôùí 3227MB. Äåßôå ôï over3gb.htm. [1mÔï üñéï ôùí 4.2 GB (ÖåâñïõÜñéïò 1997)[0m Ç áðëÞ ìåôÜöñáóç ôïõ BIOS (ECHS=Extended CHS, ìåñéêÝò öïñÝò ëÝãåôáé êáé `Large disk support' Þ áðëÜ `Large') ëåéôïõñãåß ìå ôïí óõíå÷Þ äéðëáóéáóìü ôïõ áñéèìïý ôùí êåöáëþí êáé ôïí õðïäéðëáóéáóìü ôïõ áñéèìïý ôùí êõëßíäñùí ðïõ äåß÷íïíôáé óôï DOS, ìÝ÷ñé ïé êýëéíäñïé íá åßíáé ôï ðïëý 1024. Ôï DOS êáé ôá Windows 95 äå ìðïñïýí íá äéá÷åéñéóôïýí 256 êåöáëÝò, êáé óôçí ðåñßðôùóç ðïõ ï äßóêïò áíáöÝñåé 16 êåöáëÝò, áõôü óçìáßíåé üôé ï áðëüò áõôüò ìç÷áíéóìüò ìðïñåß íá äïõëÝøåé ãéá ìÝ÷ñé 8192*16*63*512=4227858432 bytes (ìå øåõäÞ ãåùìåôñßá ìå 1024 êõëßíäñïõò, 128 êåöáëÝò, 63 ôïìåßò/ß÷íïò). Óçìåéþóôå üôé ôï ECHS äåí áëëÜæåé ôïí áñéèìü ôùí ôïìÝùí áíÜ ß÷íïò, ïðüôå áí äåí åßíáé 63, ôï üñéï èá åßíáé áêüìá ÷áìçëüôåñï. Äåßôå ôï over4gb.htm. [1mÔï üñéï ôùí 7.9 GB[0m Ëßãï ðéï Ýîõðíá BIOS áðïöåýãïõí áõôü ôï ðñüâëçìá ìå ôç ñýèìéóç ðñþôá ôïõ áñéèìïý ôùí êåöáëþí óå 15 (`revised ECHS'), þóôå ç øåõäÞò ãåùìåôñßá íá äéáôçñåßôáé ìå 240 êåöáëÝò, áñêåôü ãéá 1024*240*63*512=7927234560 bytes. [1mÔï üñéï ôùí 8.4 GB[0m Ôåëåéþíïíôáò, áí ôï BIOS êÜíåé ü,ôé ìðïñåß ãéá ìéá åðéôõ÷Þ ìåôÜöñáóç, ÷ñçóéìïðïéåß 255 êåöáëÝò ìå 63 ôïìåßò/ß÷íïò (`assisted LBA' or just `LBA') êáé öôÜíåé ôá 1024*255*63*512=8422686720 bytes, ëßãï ìéêñüôåñï áðü ôï ðñïçãïýìåíï üñéï ôùí 8.5 GB, åöüóïí ãåùìåôñßåò ìå 256 êåöáëÝò ðñÝðåé íá áðïöåýãïíôáé. (Ç ìåôÜöñáóç èá ÷ñçóéìïðïéÞóåé ãéá ôïí áñéèìü êåöáëþí ôïí áñéèìü Ç áðü ôçí áêïëïõèßá 16, 32, 64, 128, 255 ãéá ôçí ïðïßá ç óõíïëéêÞ ÷ùñçôéêüôçôá öôÜíåé óôá 1024*H*63*512, êáé ìåôÜ õðïëïãßæåé ôïí áñéèìü ôùí êõëßíäñùí C ùò ôçí ÷ùñçôéêüôçôá äéáéñïýìåíç ìå (H*63*512).) [1mThe 33.8 GB limit (August 1999)[0m Ôï åðüìåíï åìðüäéï Ýñ÷åôáé ìå ìåãÝèç Üíù ôùí 33.8 GB. Ôï ðñüâëçìá åßíáé üôé ìå 16 êåöáëÝò êáé 63ôïìåßò/ß÷íïò áõôü áíôéóôïé÷åß óå áñéèìü êõëßíäñùí ðÜíù áðü 65535, ðïõ äå ÷ùñÜåé óå short áñéèìü. Ôá ðåñéóóüôåñá BIOS óÞìåñá äå ìðïñïýí íá ÷åéñéóôïýí ôÝôïéïõò äßóêïõò. (Äåßôå Asus upgrades ãéá íÝåò åêäüóåéò ðïõ äïõëåýïõí.) ÐõñÞíåò ðáëáéüôåñïé ôùí 2.2.14 / 2.3.21 ÷ñåéÜæïíôáé patch. Äåßôå ``IDE ðñïâëÞìáôá ìå 34+ GB äßóêïõò'' ðáñáêÜôù. Ãéá ðåñáéôÝñù óõæÞôçóç áõôïý ôïõ èÝìáôïò äåßôå Breaking the Barriers êáé, ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò, IDE Hard Drive Capacity Barriers. Äßóêïé ìåãáëýôåñïé ôùí 8.4 GB áíáöÝñïõí ôç ãåùìåôñßá ôïõò ùò 16383/16/63. Áõôü óçìáßíåé üôé ç 'ãåùìåôñßá' åßíáé áíåðáñêÞò êáé üôé ç óõíïëéêÞ ÷ùñçôéêüôçôá äå ìðïñåß íá õðïëïãéóôåß áðü ôç ãåùìåôñßá. [1m5. Åêêßíçóç[0m ¼ôáí ôï óýóôçìá îåêéíÜ, ôï BIOS äéáâÜæåé ôïí ôïìÝá 0 (ãíùóôüò êáé ùò MBR - Master Boot Record) áðü ôïí ðñþôï äßóêï (Þ áðü äéóêÝôá Þ CD-ROM) êáé äéáâÜæåé ôïí êþäéêá ðïõ âñßóêåé åêåß - óõíÞèùò Ýíáí öïñôùôÞ. ÁõôÜ ôá ðñïãñáììáôÜêéá óõíÞèùò äåí ðåñéÝ÷ïõí ïäçãïýò êáé ÷ñçóéìïðïéïýí ôï BIOS. Áõôü óçìáßíåé üôé ï ðõñÞíáò ôïõ Linux ìðïñåß íá öïñôùèåß ìüíï üôáí âñßóêåôáé ïëüêëçñïò óôïõò ðñþôïõò 1024 êõëßíäñïõò. Ôï ðñüâëçìá áõôü ëýíåôáé ðïëý åýêïëá: óéãïõñåõôåßôå üôé ï ðõñÞíáò (êáé ßóùò êáé Üëëá áñ÷åßá ðïõ ÷ñåéÜæïíôáé êáôÜ ôçí åêêßíçóç, üðùò ôá áñ÷åßá ôïõ LILO) âñßóêïíôáé óå ìéá êáôÜôìçóç ðïõ ðåñéÝ÷åôáé åî ïëïêëÞñïõ óôïõò ðñþôïõò 1024 êõëßíäñïõò êáé üôé ôï BIOS ìðïñåß íá Ý÷åé ðñüóâáóç - áõôü óçìáßíåé ôïí ðñþôï Þ äåýôåñï äßóêï. ¸ôóé: äçìéïõñãÞóôå ìéá êáôÜôìçóç, áò ðïýìå 10MB, þóôå íá õðÜñ÷åé ÷þñïò ãéá ìåñéêïýò ðõñÞíåò, óéãïõñåýïíôáò üôé âñßóêåôáé ïëüêëçñç óôïõò ðñþôïõò 1024 êõëßíäñïõò ôïõ ðñþôïõ Þ äåýôåñïõ äßóêïõ. ÐñïóáñôÞóôå ôçí óôï /boot þóôå ôï LILO íá âÜëåé ü,ôé ÷ñåéÜæåôáé åêåß. [1m5.1. Ôï LILO êáé ç åðéëïãÞ `linear'[0m ¶ëëï Ýíá óçìåßï óôï ïðïßï ï öïñôùôÞò êáé ôï BIOS ðñÝðåé íá óõìöùíïýí åßíáé ç ãåùìåôñßá ôïõ äßóêïõ. To LILO ñùôÜ ôïí ðõñÞíá ãéá ôç ãåùìåôñßá, áëëÜ üëï êáé ðåñéóóüôåñïé ðñïãñáììáôéóôÝò ïäçãþí Ý÷ïõí ôçí êáêÞ óõíÞèåéá íá ðáßñíïõí ôç ãåùìåôñßá áðü ôïí ðßíáêá êáôáôìÞóåùí, áíôß íá ëÝíå óôï LILO ôé èá ÷ñçóéìïðïéåß ôï BIOS. ¸ôóé, ç ãåùìåôñßá áðü ôïí ðõñÞíá åßíáé óõ÷íÜ Ü÷ñçóôç. Óå áõôÝò ôéò ðåñéðôþóåéò åßíáé ÷ñÞóéìï íá âÜëåôå óôï LILO ôçí åðéëïãÞ `linear'. Ôï áðïôÝëåóìá åßíáé üôé ôï LILO äå ÷ñåéÜæåôáé ôç ãåùìåôñßá êáôÜ ôçí åãêáôÜóôáóç ôïõ öïñôùôÞ áëëÜ êÜíåé ôç ìåôáôñïðÞ ôçò ãñáììéêÞò äéåýèõíóçò êáôÜ ôçí åêêßíçóç. Êáé ãéáôß áõôü äåí éó÷ýåé åî ïñéóìïý; ÕðÜñ÷åé Ýíá ìåéïíÝêôçìá: ìå ôçí åðéëïãÞ `linear' ôï LILO äåí îÝñåé ãéá ôïí áñéèìü ôùí êõëßíäñùí, ïðüôå äåí ìðïñåß íá óáò ðñïåéäïðïéÞóåé áí ìÝñïò ôïõ ðõñÞíá åßíáé åãêáôåóôçìÝíï ìåôÜ ôï ðÝñáò ôùí 1024 êõëßíäñùí êáé ìðïñåß íá êáôáëÞîåôå ìå Ýíá óýóôçìá ðïõ äåí îåêéíÜ. [1m5.2. ¸íá bug ôïõ LILO[0m Ìå åêäüóåéò ôïõ LILO êÜôù ôïõ v21 õðÜñ÷åé Ýíá áêüìá ðñüâëçìá: ç ìåôáôñïðÞ äéåõèýíóåùí ðïõ ãßíåôáé êáôÜ ôçí åêêßíçóç åßíáé ðñïâëçìáôéêÞ: üôáí ôï c*H åßíáé 65536 Þ ðáñáðÜíù, äçìéïõñãåßôáé ëÜèïò óôïí õðïëïãéóìü. Ãéá Ç ìåãáëýôåñá ôïõ 64 äçìéïõñãåßôáé áõóôçñüôåñï üñéï ãéá ôï c áðü ôï ãíùóôü c < 1024; ãéá ðáñÜäåéãìá, ìå Ç=255 êáé Ýíá ðáëéü LILO ðñÝðåé íá Ý÷åôå c < 258. (c=ï êýëéíäñïò üðïõ âñßóêåôáé ï ðõñÞíáò, Ç=áñéèìüò êåöáëþí). [1m5.3. Ïé 1024 êýëéíäñïé äåí åßíáé 1024 êýëéíäñïé[0m Ï Tim Williams ãñÜöåé: `Åß÷á ôçí êáôÜôìçóç ôïõ Linux óôïõò ðñþôïõò 1024 êõëßíäñïõò êáé ðÜëé äåí îåêéíïýóå. Ìüíï üôáí ôï Ýâáëá ðñéí ôï 1 GB äïýëåøå'. Ðþò ãßíåôáé áõôü; Áõôüò Þôáí Ýíáò SCSI äßóêïò ìå AHA2940UW åëåãêôÞ ðïõ ÷ñçóéìïðïéåß åßôå H=64, S=32 (äçëáäÞ êýëéíäñïé ôïõ 1 MiB = 1.05 MB), Þ H=255, S=63 (äçëáäÞ êýëéíäñïé ôùí 8.2 MB), áíÜëïãá ìå ôéò åðéëïãÝò óôïí äßóêï êáé ôï BIOS. ÁíáìöéóâÞôçôá ôï BIOS õðïèÝôåé ôï ðñþôï, ïðüôå ïé 1024 êýëéíäñïé öôÜíïõí ìÝ÷ñé ôï 1 GiB, åíþ ôï Linux ÷ñçóéìïðïéåß ôï äåýôåñï êáé ôï LILO íüìéæå üôé ôï üñéï Þôáí óôá 8.4 GB. [1m6. Ãåùìåôñßá äßóêïõ, êáôáôìÞóåéò êáé `åðéêáëýøåéò'[0m ÅÜí Ý÷åôå áñêåôÜ ëåéôïõñãéêÜ óõóôÞìáôá óôïõò äßóêïõò óáò, ôüôå êáèÝíá ÷ñçóéìïðïéåß ìßá Þ ðåñéóóüôåñåò êáôáôìÞóåéò. Ìéá áóõìöùíßá ãéá ôï ðïõ âñßóêïíôáé áõôÝò ïé êáôáôìÞóåéò èá Ý÷åé êáôáóôñïöéêÜ áðïôåëÝóìáôá. Ôï MBR ðåñéÝ÷åé Ýíáí [4mðßíáêá[24m [4mêáôáôìÞóåùí[24m ðïõ ðåñéãñÜöåé ðïõ âñßóêïíôáé ïé (ðñùôáñ÷éêÝò) êáôáôìÞóåéò. ÕðÜñ÷ïõíå 4 åããñáöÝò ãéá 4 ðñùôáñ÷éêÝò êáôáôìÞóåéò, ìå êÜèå ìßá íá åßíáé 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 åßíáé Cylinder/Head/Sector). ÁõôÝò ïé ðëçñïöïñßåò åßíáé ðåñéôôÝò: ç ðåñéï÷Þ ôçò êáôÜôìçóçò äßíåôáé êáé áðü ôï ðåäßá ôùí 24-bit begin êáé end, êáé áðü ôá ðåäßá ôùí 32-bit start êáé length. Ôï Linux ÷ñçóéìïðïéåß ìüíï ôá ðåäßá start êáé length êáé, Ýôóé, ìðïñåß íá äéá÷åéñéóôåß êáôáôìÞóåéò ìå ôï ðïëý 2^32 ôïìåßò, äçëáäÞ, êáôáôìÞóåéò ôï ðïëý 2 TiB. Áõôü åßíáé 100 öïñÝò ðåñéóóüôåñï áðü ôïõò óçìåñéíïýò äßóêïõò, ïðüôå ìÜëëïí èá åßíáé áñêåôü ãéá ôá åðüìåíï 8 ðåñßðïõ ÷ñüíéá. (¸ôóé, ïé êáôáôìÞóåéò ìðïñåß íá åßíáé ðïëý ìåãÜëåò, áëëÜ õðÜñ÷åé ï óïâáñüò ðåñéïñéóìüò üôé óå Ýíá ext2 óýóôçìá áñ÷åßùí óå ìç÷Üíçìá ìå 32-bit áêåñáßïõò Ýíá áñ÷åßï äå ìðïñåß íá åßíáé ìåãáëýôåñï áðü 2 GiB.) Ôï DOS ÷ñçóéìïðïéåß ôá begin êáé end ðåäßá, êáé ÷ñçóéìïðïéåß ôçí BIOS INT13 êëÞóç ãéá ðñüóâáóç óôï äßóêï, êáé Ýôóé ìðïñåß íá äåé äßóêïõò ôï ðïëý 8.4GB, áêüìá êáé ìå BIOS ðïõ êÜíåé ìåôÜöñáóç. (Ïé êáôáôìÞóåéò äå ìðïñïýí íá åßíáé ðÜíù áðü 2.1 GB ëüãù ðåñéïñéóìþí ôïõ FAT16 óõóôÞìáôïò). Ôï ßäéï éó÷ýåé êáé ãéá ôá Windows 3.11 êáé WfWG êáé Windows NT 3.* êáé Novell NetWare. Ôá Windows 95 Ý÷ïõí õðïóôÞñéîç ãéá ôï Extended INT13, êáé ÷ñçóéìïðïéïýí åéäéêïýò ôýðïõò êáôáôìÞóåùí (c, e, f áíôß ãéá b, 6, 5) ãéá íá äåßîïõí üôé ç êáôÜôìçóç èá ÷ñçóéìïðïéçèåß Ýôóé. ¼ôáí áõôïß ïé ôýðïé êáôáôìÞóåùí ÷ñçóéìïðïéïýíôáé, ôá ðåäßá begin êáé end ðåñéÝ÷ïõí øåýôéêá óôïé÷åßá (1023/255/63). Ôá Windows 95 OSR2 åéóÞãáãáí ôï FAT32 óýóôçìá (ôýðïé êáôáôìÞóåùí b or c), ðïõ åðéôñÝðåé êáôáôìÞóåéò ôï ðïëý 2 TiB. Ôé åßíáé áõôÜ ðïõ óáò äåß÷íåé ôï fdisk ãéá `åðéêáëõðôüìåíåò' êáôáôìÞóåéò, üôáí óôçí ðñáãìáôéêüôçôá üëá åßíáé åíôÜîåé; ÕðÜñ÷åé êÜôé 'ëÜèïò': áí äåßôå ôá begin êáé end ðåäßá ôÝôïéùí êáôáôìÞóåùí, üðùò êÜíåé ôï DOS, åðéêáëýðôïíôáé. (Êáé áõôü äå ìðïñåß íá äéïñèùèåß, áöïý ôá ðåäßá áõôÜ äå ìðïñïýí íá áðïèçêåýóïõí áñéèìïýò êõëßíäñùí Üíù ôïõ 1024 - èá õðÜñ÷åé ðÜíôá 'åðéêÜëõøç' üôáí Ý÷åôå ðåñéóóüôåñïõò áðü 1024 êõëßíäñïõò.). Ðáñüëá áõôÜ, áí äåßôå ôá start êáé length ðåäßá, üðùò êÜíåé ôï Linux, êáé ôá Windows 95 óôçí ðåñßðôùóç êáôáôìÞóåùí ìå ôýðï c, e Þ f, ôüôå üëá åßíáé åíôÜîåé. ¸ôóé, áãíïÞóôå ôéò ðñïåéäïðïéÞóåéò ôïõ üôáí ôï cfdisk åßíáé éêáíïðïéçìÝíï êáé Ý÷åôå Ýíá äßóêï ìüíï ìå Linux. ÐñïóÝîôå üôáí ï äßóêïò ìïéñÜæåôáé ìå ôï DOS. ×ñçóéìïðïéÞóôå ôéò åíôïëÝò cfdisk -Ps /dev/hdx êáé cfdisk -Pt /dev/hdx ãéá íá äåßôå ôïí ðßíáêá êáôáôìÞóåùí ôïõ /dev/hdx. [1m7. ÌåôÜöñáóç êáé Äéá÷åéñéóôÝò Äßóêùí[0m Ç ãåùìåôñßá ôïõ äßóêïõ (ìå êåöáëÝò, êõëßíäñïõò êáé ß÷íç) åßíáé êÜôé áðü ôçí åðï÷Þ ôïõ MFM êáé ôïõ RLL. Åêåßíåò ôéò ìÝñåò áõôÞ Þôáí ç ðñáãìáôéêüôçôá. ÓÞìåñá, ìå ôá IDE Þ SCSI, êáíåßò äåí åíäéáöÝñåôáé ðïéá åßíáé ç `ðñáãìáôéêÞ' ãåùìåôñßá ôïõò äßóêïõ. Áêüìç, ï áñéèìüò ôùí ôïìÝùí áíÜ ß÷íïò åßíáé ìåôáâëçôüò: õðÜñ÷ïõí ðåñéóóüôåñïé ôïìåßò óôï åîùôåñéêü ôïõ äßóêïõ êáé Ýôóé äåí õðÜñ÷åé `ðñáãìáôéêüò' áñéèìüò ôïìÝùí áíÜ ß÷íïò. ÁíôéèÝôùò: ç IDE åíôïëÞ INITIALIZE DRIVE PARAMETERS (91h) ÷ñçóéìïðïéåßôáé ãéá íá ëÝåé óôïí äßóêï ðüóåò êåöáëÝò êáé ôïìåßò/ß÷íïò õðïôßèåôáé üôé Ý÷åé. Åßíáé áñêåôÜ óõ÷íü íá äåßôå Ýíá ìåãÜëï ìïíôÝñíï äßóêï ìå 2 êåöáëÝò íá áíáöÝñåé 15 Þ 16 êåöáëÝò óôï BIOS, åíþ ôï BIOS íá áíáöÝñåé 255 êåöáëÝò óôá ðñïãñÜììáôá. Ãéá ôïí ÷ñÞóôç åßíáé êáëýôåñï íá Ý÷åé ôï äßóêï ùò Ýíá ãñáììéêü óýíïëï ôïìÝùí áñéèìçìÝíïõò ùò 0, 1, ..., êáé íá áöÞóåé ôá çëåêôñïíéêÜ íá âñïõí ðïõ âñßóêåôáé ï êÜèå ôïìÝáò óôïí äßóêï. ÁõôÞ ç ãñáììéêÞ áñßèìçóç ëÝãåôáé LBA. ¸ôóé ç ãåíéêÞ åéêüíá åßíáé ùò åîÞò: Ôï DOS, Þ êÜðïéïò Üëëïò öïñôùôÞò, ìéëÜ óôï BIOS, áíáöÝñïíôáò ôá (c,h,s). Ôï BIOS ôá ìåôáôñÝðåé óå LBA ÷ñçóéìïðïéþíôáò ôçí øåýôéêç ãåùìåôñßá ðïõ ÷ñçóéìïðïéåß ï ÷ñÞóôçò. Áí ï äßóêïò äå÷ôåß ôï LBA ôüôå áõôÞ ç ôéìÞ ÷ñçóéìïðïéåßôáé ãéá ôçí ðñüóâáóç. Áëëéþò, ìåôáôñÝðåôáé ðßóù óå (c',h',s') ÷ñçóéìïðïéþíôáò ôç ãåùìåôñßá ðïõ áíáöÝñåé ï äßóêïò êáé Ýôóé ãßíåôáé ç ðñüóâáóç. Óçìåéþóôå üôé õðÜñ÷åé êÜðïéá óýã÷õóç óôçí ÷ñÞóç ôïõ `LBA': Óáí üñïò ðïõ ðåñéãñÜöåé ôéò äõíáôüôçôåò ôïõ äßóêïõ óçìáßíåé `ÃñáììéêÞ Äéåõèõíóéïäüôçóç Ôåìá÷ßùí = Linear Block Addressing' (óå áíôßèåóç ìå ôç äéåõèõíóéïäüôçóç CHS). Óáí üñïò óôï BIOS Setup, ðåñéãñÜöåé Ýíá åßäïò ìåôÜöñáóçò ðïõ ìåñéêÝò öïñÝò êáëåßôáé `âïçèïýìåíï LBA = assisted LBA' - äåßôå ðáñáðÜíù ôï ```'''. ÊÜôé ðáñüìïéï óõìâáßíåé üôáí ï äßóêïò äåí êáôáëáâáßíåé ôï LBA áëëÜ ôï BIOS îÝñåé ôçí ìåôÜöñáóç. (Óôï setup áõôü óõíÞèùò ïíïìÜæåôáé `Large'.) ¸ôóé ôï BIOS ðáñïõóéÜæåé ãåùìåôñßá (C,H,S) óôï ëåéôïõñãéêü óýóôçìá êáé ÷ñçóéìïðïéåß (C',H',S') üôáí åðéêïéíùíåß ìå ôïí åëåãêôÞ. ÓõíÞèùò S = S', C = C'/N êáé H = H'*N, üðïõe N åßíáé ç ìåãáëýôåñç äýíáìç ôïõ äýï ðïõ óéãïõñåýåé üôé C' <= 1024 (Ýôóé ç ÷ùñçôéêüôçôá óôñïããõëåýåôáé ðñïò ôá êÜôù óå C' = C/N). Áõôü åðéôñÝðåé ðñüóâáóç ìÝ÷ñé 8.4 GB (7.8 GiB). (Ç ôñßôç åðéëïãÞ óôï setup åßíáé óõíÞèùò ç `Normal', üðïõ äå ãßíåôáé êáìßá ìåôÜöñáóç.) ÅÜí ôï BIOS äåí îÝñåé ôá `Large' Þ `LBA', ôüôå õðÜñ÷ïõí ëýóåéò ìå ðñïãñÜììáôá. Äéá÷åéñéóôÝò äßóêùí üðùò ïé OnTrack Þ EZ-Drive áíôéêáèéóôïýí ôéò ñïõôßíåò äéá÷åßñéóçò ôïõ BIOS ìå ôéò äéêÝò ôïõò. Áõôü óõíÞèùò åðéôõã÷Üíåôáé ìå ôï íá õðÜñ÷åé ï êþäéêáò ôïõ äéá÷åéñéóôÞ óôï MBR êáé åðáêüëïõèïõò ôïìåßò (ôï OnTrack ïíïìÜæåé áõôüí ôïí êþäéêá DDO: Dynamic Drive Overlay), þóôå íá åêêéíåßôáé ðñéí ôï ëåéôïõñãéêü óýóôçìá. Áõôüò åßíáé ï ëüãïò ðïõ ìðïñåß íá õðÜñ÷ïõí ðñïâëÞìáôá áí êÜðïéïò îåêéíÞóåé ôï ìç÷Üíçìá ìå äéóêÝôá êáé õðÜñ÷åé êáé äéá÷åéñéóôÞò äßóêïõ. Ôï áðïôÝëåóìá åßíáé ëßãï-ðïëý ôï ßäéï ìå ôç ìåôÜöñáóç ôïõ BIOS - áëëÜ áí õðÜñ÷ïõí äéáöïñåôéêÜ ëåéôïõñãéêÜ óõóôÞìáôá óôïí ßäéï äßóêï ôüôå äçìéïõñãïýíôáé ðïëëÜ ðñïâëÞìáôá. Ôï Linux õðïóôçñßæåé ôï OnTrack áðü ôçí Ýêäïóç 1.3.14, êáé ôï EZ-Drive áðü ôçí Ýêäïóç 1.3.29. Ðåñéóóüôåñåò ëåðôïìÝñåéåò äßíïíôáé ðáñáêÜôù. [1m8. ÌåôÜöñáóç ôïõ ðõñÞíá ãéá äßóêïõò IDE[0m ÅÜí ï ðõñÞíáò áíé÷íåýóåé ôçí ýðáñîç êÜðïéïõ äéá÷åéñéóôÞ äßóêïõ óå Ýíáí IDE äßóêï, èá ðñïóðáèÞóåé íá äéáéñÝóåé ôïí äßóêï üðùò ï äéá÷åéñéóôÞò, þóôå ôï Linux íá âëÝðåé ôéò ßäéåò êáôáôìÞóåéò ðïõ èá Ýâëåðå, ãéá ðáñÜäåéãìá, ôï DOS ìå ôï OnTrack Þ ôï EZ-Drive. Ðáñüëá áõôÜ, ÄÅÍ ãßíåôáé äéáßñåóç üôáí ç ãåùìåôñßá Ý÷åé äçëùèåß óôç ãñáììÞ åíôïëþí - Ýôóé ç åíôïëÞ `hd=[4mcyls[24m,[4mheads[24m,[4msecs[24m' ìðïñåß íá åîáöáíßóåé ôçí óõìâáôüôçôá ìå ôï äéá÷åéñéóôÞ äßóêïõ. Ç áíáäéáßñåóç ãßíåôáé ÷ñçóéìïðïéþíôáò 4, 8, 16, 32, 64, 128, 255 êåöáëÝò (êñáôþíôáò ôï H*C óôáèåñü) ìÝ÷ñé åßôå C <= 1024 Þ H = 255. Ïé ëåðôïìÝñåéåò áêïëïõèïýí - ïé õðïåðéêåöáëßäåò åßíáé ôá ìõíÞìáôá ðïõ åìöáíßæïíôáé êáôÜ ôçí åêêßíçóç. Åäþ êáé ïðïõäÞðïôå áëëïý óå áõôü ôï êåßìåíï ïé ôýðïé ôùí êáôáôìÞóåùí äßíïíôáé óå äåêáåîáäéêÜ íïýìåñá. [1m8.1. EZD[0m Ôï EZ-Drive áíé÷íåýåôáé ëüãù ôïõ üôé ç ðñþôç ðñùôáñ÷éêÞ êáôÜôìçóç Ý÷åé ôýðï 55. Ç ãåùìåôñßá äéáâÜæåôáé üðùò ðåñéãñÜöåôáé ðáñáðÜíù áíôß ôïõ ðßíáêá êáôáôìÞóåùí ôïõ ôïìÝá 0 - ï ðßíáêáò äéáâÜæåôáé áðü ôïí ôïìÝá 1. Ïé áñéèìïß ôåìá÷ßùí ôïõ äßóêïõ äåí áëëÜæïíôáé, áëëÜ åããñáöÝò óôïí ôïìÝá 0 áíáäñïìïëïãïýíôáé óôïí ôïìÝá 1. ÁõôÞ ç óõìðåñéöïñÜ ìðïñåß íá áëëá÷èåß áíáìåôáëùôôßæïíôáò ôïí ðõñÞíá ìå #define FAKE_FDISK_FOR_EZDRIVE 0 óôï ide.c. [1m8.2. DM6:DDO[0m Ï OnTrack DiskManager (óôïí ðñþôï äßóêï) áíé÷íåýåôáé áðü ôï ãåãïíüò üôé ç ðñþôç ðñùôáñ÷éêÞ êáôÜôìçóç Ý÷åé ôýðï 54. Ç ãåùìåôñßá äéáâÜæåôáé üðùò áíáöÝñèçêå ðáñáðÜíù êáé ïëüêëçñïò ï äßóêïò «ìåôáêéíåßôáé» êáôÜ 63 ôïìåßò (þóôå ï ðáëéüò ôïìÝáò 63 íá ãßíåé ï ôïìÝáò 0). ÌåôÜ, Ýíá êáéíïýñéï MBR (ìå ôïí ðßíáêá êáôáôìÞóåùí) äéáâÜæåôáé áðü ôïí íÝï ôïìÝá 0. ÖõóéêÜ áõôü ãßíåôáé ãéá íá äçìéïõñãçèåß ÷þñïò ãéá ôï DDO - ãéá áõôü äåí ãßíåôáé áõôÞ ç áëëáãÞ óôïõò õðüëïéðïõò äßóêïõò. [1m8.3. DM6:AUX[0m Ï OnTrack DiskManager (óôïõò Üëëïõò äßóêïõò) áíé÷íåýåôáé áðü ôçí ðñþôç ðñùôáñ÷éêÞ êáôÜôìçóç ðïõ Ý÷åé ôýðï 51 Þ 53. Ç ãåùìåôñßá äéáâÜæåôáé üðùò ðåñéãñÜöåôáé ðáñáðÜíù. [1m8.4. DM6:MBR[0m Ìéá ðáëáéüôåñç Ýêäïóç ôïõ OnTrack DiskManager äåí áíé÷íåýåôáé áðü ôïí ôýðï êáôÜôìçóçò áëëÜ áðü ôï áðïôýðùìá ôïõ. (ÅëÝã÷åôáé áí ç ìåôáôüðéóç ðïõ âñßóêåôáé óôá ðñþôá 2 êáé 3 bytes ôïõ MBR äåí åßíáé ðáñáðÜíù áðü 430, áí ç Ýëëåéøç åßíáé ßóç ìå 0÷55AA êáé áí áêïëïõèåßôáé áðü ìïíü byte). ÎáíÜ ç ãåùìåôñßá äéáâÜæåôáé üðùò ðáñáðÜíù. [1m8.5. PTBL[0m ÔÝëïò, õðÜñ÷åé Ýíáò Ýëåã÷ïò ðïõ ðñïóðáèåß íá âñåé ôç ìåôÜöñáóç áðü ôéò ôéìÝò start êáé end ôùí ðñùôáñ÷éêþí êáôáôìÞóåùí: ÅÜí êÜðïéá êáôÜôìçóç Ý÷åé áñ÷éêü êáé ôåëéêü ôïìÝá 1 êáé 63 áíôßóôïé÷á êáé Ý÷åé ôåëéêÝò êåöáëÝò 31, 63, 127 Þ 254, ôüôå, åöüóïí óõíÞèùò ïé êáôáôìÞóåéò ôåëåéþíïõí óôá üñéá ôïõ êõëßíäñïõ, êáé, åðßóçò, ôï IDE õðïóôçñßæåé ôï ðïëý 16 êåöáëÝò, óõìðåñáßíåôáé üôé ôï BIOS ìåôáöñÜæåé êáé ç ãåùìåôñßá áëëÜæåé ãéá íá ÷ñçóéìïðïéçèïýí 32, 64, 128 Þ 255 êåöáëÝò áíôßóôïé÷á. Ðáñüëá áõôÜ, äåí ãßíåôáé êáìßá áëëáãÞ üôáí ç ðáñüí ãåùìåôñßá Ý÷åé Þäç 63 ôïìåßò áíÜ ß÷íïò êáé ôïõëÜ÷éóôïí 63 êåöáëÝò (ôï ïðïßï üôé Ý÷åé Þäç ãßíåé ìéá áëëáãÞ ãåùìåôñßáò). [1m9. ÓõíÝðåéåò[0m Ôé óçìáßíïõí üëá áõôÜ; Ãéá ôïõò ÷ñÞóôåò ôïõ Linux ìüíï Ýíá ðñÜãìá: ðñÝðåé íá óéãïõñåõôïýí üôé ôï LILO êáé ôï fdisk ÷ñçóéìïðïéïýí ôç óùóôÞ ãåùìåôñßá, üðïõ «óùóôÞ» ãéá ôï fdisk åßíáé ç ãåùìåôñßá ðïõ ÷ñçóéìïðïéåßôáé êáé áðü ôá Üëëá ëåéôïõñãéêÜ óôïí ßäéï äßóêï, êáé ãéá ôï LILO áõôÞ ðïõ èá åðéôñÝøåé ôç óùóôÞ åðéêïéíùíßá ìå ôï BIOS êáôÜ ôçí åêêßíçóç (óõíÞèùò áõôÜ ôá äõï óõìðßðôïõí). Ðþò îÝñåé ôï fdisk ãéá ôç ãåùìåôñßá; ÑùôÜ ôïí ðõñÞíá, ÷ñçóéìïðïéþíôáò ôï HDIO_GETGEO ioctl, ðñéí ï ÷ñÞóôçò åðÝìâåé óôç ãåùìåôñßá. Ðþò îÝñåé ôï LILO ôç ãåùìåôñßá; ÑùôÜ ôçí ðõñÞíá ÷ñçóéìïðïéþíôáò ôï HDIO_GETGEO ioctl. ÁëëÜ ï ÷ñÞóôçò ìðïñåß íá åðÝìâåé ÷ñçóéìïðïéþíôáò ôçí åðéëïãÞ `disk=' óôï /etc/lilo.conf (äåßôå ôï lilo.conf(5)). Ìðïñåßôå íá äþóåôå êáé ôçí linear åðéëïãÞ óôï LILO, êáé èá áðïèçêåýóåé LBA äéåõèýíóåéò áíôß ãéá CHS óôïí ÷Üñôç ôïõ, êáé èá âñåé ôç ãåùìåôñßá êáôÜ ôçí åêêßíçóç (÷ñçóéìïðïéþíôáò ôçí INT 13 Function 8 ãéá íá ñùôÞóåé ãéá ôç ãåùìåôñßá). Ðþò îÝñåé ï ðõñÞíáò ôß íá áðáíôÞóåé; Ðñþôá áð' üëá, ÷ñÞóôçò ìðïñåß íá Ý÷åé äçëþóåé ôç ãåùìåôñßá ìå ôçí åíôïëÞ `hda=[4mcyls[24m,[4mheads[24m,[4msecs[24m' óôïí ðõñÞíá (äåßôå bootparam(7)), ßóùò ÷åéñïêßíçôá Þ æçôþíôáò ôïí boot loader íá äþóåé áõôÞ ôçí ðáñÜìåôñï óôïí ðõñÞíá. Ãéá ðáñÜäåéãìá ìðïñåßôå íá ðåßôå óôï LILO íá äþóåé ìéá ôÝôïéá ðáñÜìåôñï ðñïóèÝôïíôáò ôï `append = "hda=[4mcyls[24m,[4mheads[24m,[4msecs[24m"' óôï /etc/lilo.conf (äåßôå lilo.conf(5)). ÄéáöïñåôéêÜ ï ðõñÞíáò èá ìáíôÝøåé, ðéèáíüí ÷ñçóéìïðïéþíôáò ôéìÝò ðïõ âñÞêå áðü ôï BIOS Þ ôïí äßóêï. Åßíáé äõíáôüí (áðü ôïí ðõñÞíá 2.1.79) íá áëëÜîåôå ôç ãåùìåôñßá óôïí ðõñÞíá ÷ñçóéìïðïéþíôáò ôï /proc. Ãéá ðáñÜäåéãìá # 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 # [1m9.1. Õðïëïãßæïíôáò ôéò ðáñáìÝôñïõò ôïõ LILO[0m ÌåñéêÝò öïñÝò åßíáé ÷ñÞóéìï íá ïñßóåôå ôç ãåùìåôñßá ÷ñçóéìïðïéþíôáò ôï `hda=[4mcyls[24m,[4mheads[24m,[4msecs[24m' óôç ãñáììÞ åíôïëþí ôïõ ðõñÞíá. ÓõíÞèùò ðÜíôá ÷ñåéÜæåôáé [4msecs[24m=63, êáé ï ëüãïò ðïõ ôï ðñïèÝôïõìò åßíáé ãéá íá ïñéóôïýí ïé [4mheads[24m. (ËïãéêÝò ôéìÝò óÞìåñá åßíáé [4mheads[24m=16 êáé [4mheads[24m=255.) Ôé èá ðñÝðåé íá ïñßóïõìå ãéá ôï [4mcyls[24m? Áêñéâþò ôïí áñéèìü ðïõ èá äþóåé ôç óùóôÞ óõíïëéêÞ ÷ùñçôéêüôçôá ãéá C*H*S ôïìåßò. Ãéá ðáñÜäåéãìá, ãéá Ýíá äßóêï ìå 71346240 ôïìåßò (36529274880 bytes) ôï C õðïëïãßæåôáé ùò 71346240/(255*63)=4441 (ãéá ðáñÜäåéãìá ÷ñçóéìïðïéþíôáò Ýíá ðñüãñáììá óáí ôï bc), êáé ç ðáñÜìåôñïò åêêßíçóçò åßíáé hdc=4441,255,63. Ðþò îÝñïõìå ôçí óùóôÞ ÷ùñçôéêüôçôá; Ãéá ðáñÜäåéãìá, # 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 äßíåé äýï ôñüðïõò íá âñïýìå ôïí óõíïëéêü áñéèìü ôïìÝùí 71346240. Ï ðõñÞíáò ìáò äßíåé # 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 ôïìåßò. Óå áõôÞ ôçí ðåñßðôùóç, ç äåýôåñç ôéìÞ óõìâáßíåé íá åßíáé óùóôÞ, áëëÜ ãåíéêÜ êáé ïé äýï ìðïñïýí íá óôñïããõëïðïéçèïõí ðñïò ôá êÜôù. Áõôüò åßíáé Ýíáò êáëüò ôñüðïò íá ðñïóåããßóïõìå ôï ìÝãåèïò ôïõ äßóêïõ üôáí ôï hdparm äåí åßíáé äéáèÝóéìï. ÐïôÝ ìçí äßíåôáé ðïëý ìåãÜëç ôéìÞ ãéá ôï [4mcyls[24m! Óôçí ðåñßðôùóç ôùí SCSI äßóêùí ï áêñéâÞò áñéèìüò ôùí ôïìÝùí äßíåôáé êáôÜ ôçí åêêßíçóç: SCSI device sda: hdwr sector= 512 bytes. Sectors= 17755792 [8669 MB] [8.7 GB] (êáé ôá MB, GB åßíáé óôñïããõëïðïéçìÝíá, ü÷é ðñïò ôá êÜôù, êáé `äõáäéêÜ'). [1m10. ËåðôïìÝñåéåò[0m [1m10.1. IDE - ïé åðôÜ ãåùìåôñßåò[0m Ï IDE ïäçãüò Ý÷åé ðÝíôå ðçãÝò ðëçñïöïñéþí ãéá ôç ãåùìåôñßá. Ç ðñþôç (G_user) åßíáé áõôÞ ðïõ äçëþíåôáé áðü ôïí ÷ñÞóôç óôç ãñáììÞ åíôïëþí. Ç äåýôåñç (G_bios) åßíáé ï ðßíáêáò ðáñáìÝôñùí äßóêùí ôïõ BIOS (Fixed Disk Parameter Table) (ãéá ôïí ðñþôï êáé äåýôåñï äßóêï ìüíï) ðïõ äéáâÜæåôáé êáôÜ ôçí åêêßíçóç ôïõ óõóôÞìáôïò, ðñéí ôçí áëëáãÞ óå ëåéôïõñãßá 32-bit. Ç ôñßôç (G_phys) êáé ôÝôáñôç (G_log) åðéóôñÝöïíôáé áðü ôïí åëåãêôÞ IDE ùò áðÜíôçóç óôçí åíôïëÞ IDENTIFY - åßíáé ç `öõóéêÞ' êáé `ôñÝ÷ïõóá ëïãéêÞ' ãåùìåôñßá áíôßóôïé÷á. Áðü ôçí Üëëç, ï ïäçãüò ÷ñåéÜæåôáé äýï ôéìÝò ãéá ôç ãåùìåôñßá: áðü ôç ìßá ôçí G_fdisk, ðïõ åðéóôñÝöåôáé áðü ôï HDIO_GETGEO ioctl, êáé áðü ôçí Üëëç ôçí G_used, ðïõ ÷ñçóéìïðïéåßôáé ãéá ôï ðñáãìáôéêü I/O. Êáé ïé äýï ÷ñçóéìïðïéïýí ôï G_user åÜí Ý÷åé äïèåß, ôï G_bios üôáí áõôÝò ïé ðëçñïöïñßåò åßíáé äéáèÝóéìåò óýìöùíá ìå ôï CMOS, Þ ôï G_phys áí êáíÝíá áðü ôá ðñïçãïýìåíá äåí åßíáé äéáèÝóéìï. ÅÜí ôï G_log öáßíåôáé ëïãéêü ôüôå ôï G_used ñõèìßæåôáé óå áõôü. ÄéáöïñåôéêÜ, áí ôï G_used äåí åßíáé óùóôü êáé ôï G_phys öáßíåôáé ëïãéêü ÷ñçóéìïðïéåßôáé ôï G_phys ãéá íá ñõèìéóôåß ôï G_used. `Ëïãéêü' óçìáßíåé üôé ï áñéèìüò ôùí êåöáëþí åßíáé 1-16. Ìå Üëëá ëüãéá: ç ãñáììÞ åíôïëþí õðåñâáßíåé ôï BIOS, êáé èá êáèïñßóåé ôß èá äåé ôï fdisk, áëëÜ áí êáèïñßæåé ôçí ìåôáöñáæüìåíç ãåùìåôñßá (ìå ðáñáðÜíù áðü 16 êåöáëÝò), ãéá ôï É/Ï ôïõ ðõñÞíá èá ÷ñçóéìïðïéçèïýí ïé ôéìÝò ôçò åíôïëÞò IDENTIFY. Óçìåéþóôå üôé ôï G_bios åßíáé áñêåôÜ áíáîéüðéóôï: ãéá óõóôÞìáôá ðïõ îåêéíÜíå ìå SCSI ï ðñþôïò êáé äåýôåñïò äßóêïò ìðïñïýí íá åßíáé SCSI êáé ç ãåùìåôñßá ðïõ áíáöÝñåé ôï BIOS ãéá sda ìðïñåß íá ÷ñçóéìïðïéçèåß áðü ôïí ðõñÞíá ãéá ôá hda. Åðßóçò, ïé äßóêïé ðïõ äåí áíáöÝñïíôáé óôï setup ôïõ BIOS äåí âëÝðïíôáé áðü ôï BIOS. Áõôü óçìáßíåé üôé, ð.÷., óå Ýíá óýóôçìá ìå IDE äßóêïõò ìüíï, áí ôï hdb äå äïèåß óôï BIOS setup, ç ãåùìåôñßá ðïõ áíáöÝñåôáé áðü ôï BIOS ãéá ôïí ðñþôï êáé äåýôåñï äßóêï èá ÷ñçóéìïðïéçèåß ãéá ôá hda êáé hdc. [1m10.2. SCSI ëåðôïìÝñåéåò[0m Óôçí ðåñßðôùóç ôïõ SCSI ôá ðñÜãìáôá åßíáé ëßãï äéáöïñåôéêÜ, áöïý ïé SCSI åíôïëÝò Þäç ÷ñçóéìïðïéïýí ëïãéêïýò áñéèìïýò, þóôå ç `ãåùìåôñßá' åßíáé ôåëåßùò Üó÷åôç áðü ôï É/Ï. Ðáñüëá áõôÜ, ï ðßíáêáò êáôáôìÞóåùí åßíáé ßäéïò, êáé Ýôóé ôï fdisk ðñÝðåé íá âñåé ôç ãåùìåôñßá, åíþ ÷ñçóéìïðïéåß êáé ôï HDIO_GETGEO. Áêüìç, ôï fdisk äåí äéá÷ùñßæåé ìåôáîý ôùí IDE êáé SCSI äßóêùí. ¼ðùò èá äåßôå áðü ôçí ðáñáêÜôù ðåñéãñáöÞ, ïé äéÜöïñïé ïäçãïß ÷ñçóéìïðïéïýí ï êáèÝíáò êÜðùò äéáöïñåôéêÞ ãåùìåôñßá. ÁñêåôÜ ìðåñäåìÝíç êáôÜóôáóç. Áí äåí ÷ñçóéìïðïéåßôå ôï DOS, ôüôå áðïöýãåôå üëåò ôéò ñýèìéóçò ôùí ìåôáöñÜóåùí, ÷ñçóéìïðïéåßóôå 64 êåöáëÝò, 32 ôïìåßò/ß÷íïò (ãéá Ýíá âïëéêü 1 MiB áíÜ êýëéíäñï), áí åßíáé äõíáôüí, þóôå íá ìçí Ý÷åôå ðñïâëÞìáôá üôáí ìåôáöÝñåôå ôïí äßóêï áðü ôïí Ýíáí åëåãêôÞ óôïí Üëëï. Ìåñéêïß SCSI ïäçãïß (aha152x, pas16, ppa, qlogicfas, qlogicisp) ãéá íá äéáôçñÞóïõí óõìâáôüôçôá ìå ôï DOS äå èá óáò åðéôñÝøïõí íá ÷ñçóéìïðïéÞóåôå ðÜíù áðü 8 GiB áêüìá êáé óå óýóôçìá ìå ìüíï Linux. Áõôü åßíáé bug. Ðïéá åßíáé ç ðñáãìáôéêÞ ãåùìåôñßá; Ç åõêïëüôåñç áðÜíôçóç åßíáé üôé äåí õðÜñ÷åé. Áêüìá êé áí õðÞñ÷å, äå èÝëåôå íá ôçí îÝñåôå êáé óßãïõñá ÐÏÔÅ äå èá ðåßôå óôï fdisk Þ ôï LILO Þ ôïí ðõñÞíá ðïéá åßíáé. Åßíáé êáèáñÜ ìåôáîý ôïõ SCSI åëåãêôÞ êáé ôïõ äßóêïõ. Íá ôï åðáíáëÜâù: ìüíï êÜðïéïò áíüçôïò ëÝåé óôá fdisk/LILO/kernel ôçí ðñáãìáôéêÞ ãåùìåôñßá åíüò SCSI äßóêïõ. ÁëëÜ áí åßóôå ðåñßåñãïé êáé åðéìÝíåôå ìðïñåßôå íá ñùôÞóåôå ôïí äßóêï. ÕðÜñ÷åé ç óçìáíôéêÞ åíôïëÞ READ CAPACITY ðïõ èá äþóåé ôï ìÝãåèïò ôïõ äßóêïõ êáé õðÜñ÷åé êáé ç MODE SENSE åíôïëÞ ðïõ óôç óåëßäá Rigid Disk Drive Geometry (04) äßíåé ôïí áñéèìü ôùí êåöáëþí êáé ôùí êõëßíäñùí (áõôÜ äå ìðïñïýí íá áëëÜîïõí) êáé óôç óåëßäá Format (03) äßíåé ôïí áñéèìü ôùí bytes áíÜ ôïìÝá êáé ôïìÝùí áíÜ ß÷íïò. Ôï ôåëåõôáßï íïýìåñï äåí åßíáé óôáèåñü, áöïý ï áñéèìüò ôïìÝùí/ß÷íïò åîáñôÜôáé áðü ôçí ðåñéï÷Þ ôïõ äßóêïõ: óôï åîùôåñéêü ôïõ äßóêïõ õðÜñ÷ïõí ðåñéóóüôåñïé ôïìåßò/ß÷íïò. Ôï ðñüãñáììá scsiinfo óôï Linux èá óáò äþóåé áõôÝò ôéò ðëçñïöïñßåò. ÕðÜñ÷ïõí ðïëëÝò ëåðôïìÝñåéåò êáé åðéðëïêÝò êáé åßíáé îåêÜèáñï üôé êáíåßò (ïýôå êáé ôï ßäéï ôï ëåéôïõñãéêü) äå èÝëåé íá îÝñåé. Áêüìç, åöüóïí ìáò åíäéáöÝñåé ôï fdisk êáé ôï LILO, ç óõíÞèåéò áðáíôÞóåéò åßíáé ôïõ ôýðïõ C/H/S=4476/27/171 - ôéìÝò ðïõ äå ìðïñïýí íá ÷ñçóéìïðïéçèïýí áðü ôï fdisk áöïý ï ðßíáêáò êáôáôìÞóåùí ÷ñçóéìïðïéåß 10/8/6 bits ãéá ôá C/H/S. Êáé ôüôå áðü ðïõ ôï HDIO_GETGEO âñßóêåé ôéò ðëçñïöïñßåò; Áðü ôïí åëåãêôÞ SCSI Þ êÜíïíôáò ìéá åêôßìçóç. Ìåñéêïß ïäçãïß íïìßæïõí üôé èÝëïõìå ôçí ðñáãìáôéêÞ ãåùìåôñßá áëëÜ, öõóéêÜ, èÝëïõìå ìüíï ü,ôé ôï DOS Þ ôï fdisk ôïõ OS/2 (Þ ôï AFDISK ôçò Adaptec, êëð) ÷ñçóéìïðïéïýí. Óçìåéþóôå üôé ôï fdisk ôïõ linux ÷ñåéÜæåôáé ôïí áñéèìü êåöáëþí êáé ôïìÝùí/ß÷íïò Ç êáé S ãéá íá ìåôáôñÝøåé LBA íïýìåñá óå c/h/s áëëÜ ï áñéèìüò ôùí êõëßíäñùí C äåí ÷ñåéÜæåôáé. Ìåñéêïß ïäçãïß ÷ñçóéìïðïéïýí (C,H,S) = (1023,255,63) ãéá íá äåßîïõí üôé ç ÷ùñçôéêüôçôá ôïõ äßóêïõ åßíáé ôïõëÜ÷éóôïí 1023*255*63 sectors. Áõôü åßíáé áôõ÷Ýò, áöïý äåí ìáò äßíåé ôï ðñáãìáôéêü ìÝãåèïò êáé èá ðåñéïñßóåé ôá ðåñéóóüôåñá fdisk óå ðåñßðïõ 8 GiB - Ýíáò áñêåôÜ óïâáñüò ðåñéïñéóìüò. Óôçí ðåñéãñáöÞ ðáñáêÜôù, ôï Ì äçëþíåé ôçí óõíïëéêÞ ÷ùñçôéêüôçôá ôïõ äßóêïõ êáé C, H, S ï áñéèìüò ôùí êõëßíäñùí, êåöáëþí êáé ôïìåßò/ß÷íïò. Áñêïýí ôá H, S áí ÷ñçóéìïðïéÞóïõìå ôï C ùò M / (H*S). ÊáôÜ óýìâáóç, H=64, S=32. [1maha1740, dtc, g_NCR5380, t128, wd7000:[0m H=64, S=32. [1maha152x, pas16, ppa, qlogicfas, qlogicisp:[0m H=64, S=32 åêôüò åÜí C > 1024, ïðüôå H=255, S=63, C = min(1023, M/(H*S)). (Ôï C óõìðôýóóåôáé êáé ôï H*S*C äåí åßíáé ðñïóÝããéóç ôïõ M. Áõôü èá ìðåñäÝøåé ôéò ðåñéóóüôåñåò åêäüóåéò ôïõ fdisk.) Ôï ppa.c ÷ñçóéìïðïéåß M+1 áíôß ôïõ M êáé ëÝåé üôé áõôü åßíáé ëüãù åíüò bug óôï sd.c, üðïõ ôï M åßíáé åêôüò êáôÜ 1. [1madvansys:[0m H=64, S=32 åêôüò áí C > 1024 êáé áêüìç ç åðéëïãÞ `> 1 GB' ôïõ BIOS åßíáé åíåñãïðïéçìÝíç, ïðüôå H=255, S=63. [1maha1542:[0m ÑùôÞóôå ôïí åëåãêôÞ ðïéá áðü ôéò äõï ìåôáöñÜóåéò ÷ñçóéìïðïéåß êáé ÷ñçóéìïðïéÞóôå åßôå H=255, S=63 Þ H=64, S=32. Óôçí ðñþôç ðåñßðôùóç èá äåßôå êáôÜ ôçí åêêßíçóç "aha1542.c: Using extended bios translation". [1maic7xxx:[0m H=64, S=32 åêôüò áí C > 1024, êáé åßôå ç åðéëïãÞ "extended" êáôÜ ôçí åêêßíçóç äßíåôáé Þ ôï `extended' bit ÷ñçóéìïðïéåßôáé óôá SEEPROM Þ BIOS, ïðüôå H=255, S=63. Óôï Linux 2.0.36 áõôÞ ç ìåôÜöñáóç ðÜíôá ÷ñçóéìïðïéåßôáé áí äå âñåèåß SEEPROM, áëëÜ óôï Linux 2.2.6 áí äå âñåèåß SEEPROM Þ ìåôÜöñáóç ÷ñçóéìïðïéåßôáé áí ï ÷ñÞóôçò ôï åðéèõìåß, ÷ñçóéìïðïéþíôáò ôçí ðáñÜìåôñï åêêßíçóçò (áí âñåèåß SEEPROM, ç ðáñÜìåôñïò áãíïåßôáé). Áõôü óçìáßíåé üôé ôï setup ðïõ äïõëåýåé óôï 2.0.36 ìðïñåß íá ìçí åêêéíÞóåé óôï 2.2.6 (êáé íá áðáéôåß ôçí åðéëïãÞ `linear' óôï LILO, Þ ôçí ðáñÜìåôñï `aic7xxx=extended' óôïí ðõñÞíá). [1mbuslogic:[0m H=64, S=32 åêôüò åÜí C >= 1024, êáé ç extended ìåôÜöñáóç åíåñãïðïéÞèçêå óôïí åëåãêôÞ, ïðüôå áí M < 2^22 ôüôå H=128, S=32; áëëéþò H=255, S=63. ¼ìùò, áöïý ãßíåé áõôÞ ç åðéëïãÞ ãéá (C,H,S), ï ðßíáêáò êáôáôìÞóåùí äéáâÜæåôáé êáé áí ãéá ôéò ôñåéò ðéèáíüôçôåò (H,S) = (64,32), (128,32), (255,63) ç ôéìÞ ôåëéêüH=H-1 âñåèåß, åêåßíï ôï æåõãÜñé (H,S) ÷ñçóéìïðïéåßôáé, êáé ôï ìÞíõìá "Adopting Geometry from Partition Table" ôõðþíåôáé êáôÜ ôçí åêêßíçóç. [1mfdomain:[0m Âñåßôå ôç ãåùìåôñßá óôéò ðáñáìÝôñïõò äßóêùí ôïõ BIOS, Þ äéáâÜóôå ôïí ðßíáêá êáôáôìÞóåùí êáé ÷ñçóéìïðïéÞóôå H=ôåëåõôáßïH+1, S=ôåëåõôáßïS ãéá ôçí ðñþôç êáôÜôìçóç, åöüóïí åßíáé Üäåéá, Þ ÷ñçóéìïðïéÞóôå H=64, S=32 ãéá M < 2^21 (1 GiB), H=128, S=63 ãéá M < 63*2^17 (3.9 GiB) êáé H=255, S=63 äéáöïñåôéêÜ. [1min2000:[0m ×ñçóéìïðïéÞóôå ôï ðñþôï áðü ôá (H,S) = (64,32), (64,63), (128,63), (255,63) ðïõ èá äþóåé C <= 1024. Óôçí ôåëåõôáßá ðåñßðôùóç, êüöôå ôï C óå 1023. [1mseagate:[0m ÄéáâÜóôå ôá C,H,S áðü ôïí äßóêï. ÅÜí ôï C Þ S åßíáé ðïëý ìåãÜëï, ôüôå âÜëôå S=17, H=2 êáé äéðëáóéÜóôå ôï H ìÝ÷ñé C <= 1024. Áõôü óçìáßíåé üôé ôï H èá åßíáé 0 áí M > 128*1024*17 (1.1 GiB). Áõôü åßíáé bug. [1multrastor and u14_34f:[0m ¸íá áðü ôá ôñßá (H,S) = (16,63), (64,32), (64,63) ÷ñçóéìïðïéåßôáé, áíÜëïãï ìå ôïí ôñüðï ëåéôïõñãßáò ôïõ åëåãêôÞ. Áí ï ïäçãüò äåí äßíåé ôç ãåùìåôñßá, ìáíôåýïõìå ÷ñçóéìïðïéþíôáò ôïí ðßíáêá êáôáôìÞóåùí Þ ÷ñçóéìïðïéþíôáò ôçí óõíïëéêÞ ÷ùñçôéêüôçôá. ÊïéôÜîôå ôïí ðßíáêá êáôáôìÞóåùí. Åöüóïí, êáôÜ óýìâáóç, ïé êáôáôìÞóåéò ôåëåéþíïõí óå üñéï êõëßíäñïõò, ìðïñïýìå, ìå äåäïìÝíï üôé üñéï = (ôåëéêüC,ôåëéêüH,ôåëéêüS) ãéá ïðïéáäÞðïôå êáôÜôìçóç, áðëÜ âÜæïõìå H = ôåëéêüH+1 êáé S = ôåëéêüS. (Èõìçèåßôå üôé ïé ôïìåßò ìåôñéïýíôáé áðü ôï 1.) Ìå ðåñéóóüôåñåò ëåðôïìÝñåéåò, ãßíïíôáé ôá ðáñáêÜôù. Áí äåí õðÜñ÷åé åëåýèåñç êáôÜôìçóç, äéáëÝãïõìå ôçí êáôÜôìçóç ìå ôï ìåãáëýôåñï áñ÷éêüC. Ãéá áõôÞ ôçí êáôÜôìçóç, êïéôÜìå ôï ôåëéêü+1, õðïëïãéóìÝíï ðñïóèÝôïíôáò ôá áñ÷Þ êáé ìÞêïò êáé õðïèÝôïíôáò üôé ç êáôÜôìçóç ôåëåéþíåé óå üñéï êõëßíäñïõ. Áí êáé ïé äõï ôéìÝò óõìöùíïýí Þ áí ôåëéêüC = 1023 êáé áñ÷Þ+ìÞêïò åßíáé áêÝñáéï ðïëëáðëÜóéï ôïõ (ôåëéêüH+1)*ôåëéêüS, ôüôå õðïèÝôïõìå üôé ç êáôÜôìçóç åßíáé üíôùò åõèõãñáììéóìÝíç ìå ôï üñéï ôïõ êõëßíäñïõ, êáé âÜæïõìå H = ôåëéêüH+1 êáé S = ôåëéêüS. Áí áõôü áðïôý÷åé, åßôå åðåéäÞ äåí õðÜñ÷ïõí êáôáôìÞóåéò, åßôå åðåéäÞ Ý÷ïõí ðåñßåñãåò ôéìÝò, ôüôå êïéôÜìå ðÜëé ìüíï ôç ÷ùñçôéêüôçôá ôïõ äßóêïõ Ì. Áëãüñéèìïò: âÜæïõìå H = M/(62*1024) (óôñïããõëïðïéçìÝíï êáôÜ ðÜíù), S = M/(1024*H) (óôñïããõëïðïéçìÝíï ðÜíù), C = M/(H*S) (óôñïããõëïðïßçóç êÜôù). Áõôü Ý÷åé ôï áðïôÝëåóìá íá Ý÷ïõìå ôá (C,H,S) ìå ôï C ôï ðïëý 1024 êáé ôï S ôï ðïëý 62. [1m11. Ôï üñéï ôïõ Linux ÉDE ôùí 8 GiB[0m O Linux IDE ïäçãüò ðáßñíåé ôç ãåùìåôñßá êáé ÷ùñçôéêüôçôá ôïõ äßóêïõ (êáé Üëëá ðïëëÜ) ÷ñçóéìïðïéþíôáò ôçí êëÞóç ATA IDENTIFY. ÌÝ÷ñé ðñüóöáôá, ï ïäçãüò äå èá ðßóôåõå ôçí åðéóôñåöüìåíç ôéìÞ ôçò lba ÷ùñçôéêüôçôáò (lba_capacity), áí Þôáí ðÜíù áðü 10% áðü ôçí õðïëïãéæüìåíç ìå C*H*S. Ðáñüëá áõôÜ, ïé êáôáóêåõáóôÝò, óå ìåãÜëïõò IDE äßóêïõò (ìå ðåñéóóüôåñïõò áðü 16514064 ôïìåßò) åðéóôñÝöïõí ôá C=16383, H=16, S=63, ãéá Ýíá óýíïëï 16514064 ôïìÝùí (7.8 GB), áíåîáñôÞôùò ôïõ ðñáãìáôéêïý ôïõò ìåãÝèïõò, áëëÜ äßíïõí ôçí ðñáãìáôéêÞ ÷ùñçôéêüôçôá ùò lba. Ïé ðñüóöáôïé ðõñÞíåò (2.0.34, 2.1.90) ôï îÝñïõí áõôü êáé ôï äéïñèþíïõí. Áí Ý÷åôå ðáëáéüôåñï ðõñÞíá êáé äå èÝëåôå íá áíáâáèìéóôåßôå, êáé ï ðõñÞíáò âëÝðåé ìüíï 8 GiB óå Ýíáí ðïëý ìåãáëýôåñï äßóêï, äïêéìÜóôå íá áëëÜîåôå ôç ñïõôßíá lba_capacity_is_ok óôï /usr/src/linux/drivers/block/ide.c óå êÜôé óáí static int lba_capacity_is_ok (struct hd_driveid *id) { id->cyls = id->lba_capacity / (id->heads * id->sectors); return 1; } Ãéá ìéá ðéï ðñïóåêôéêÞ äéüñèùóç äåßôå ôï 2.1.90. [1m11.1. BIOS åðéðëïêÝò[0m ¼ðùò ìüëéò áíÝöåñá, ïé ìåãÜëïé äßóêïé åðéóôñÝöïõí C=16383, H=16, S=63 áíåîÜñôçôá áðü ôï ðñáãìáôéêü ôïõò ìÝãåèïò, åíþ ôï ðñáãìáôéêü ìÝãåèïò åðéóôñÝöåôáé ùò LBAcapacity. ÌåñéêÜ BIOS äåí ôï áíáãíùñßæïõí áõôü êáé ìåôáöñÜæïõí ôï 16383/16/63 óå êÜôé ìå ëéãüôåñïõò êõëßíäñïõò êáé ðåñéóóüôåñåò êåöáëÝò, ð.÷. 1024/255/63 Þ 1027/255/63. ¸ôóé, ï ðõñÞíáò äå ìðïñåß íá áíáãíùñßóåé ôç ãåùìåôñßá 16383/16/63, áëëÜ êáé ôéò ìðåñäåìÝíåò åêäüóåéò ôçò ôïõ BIOS. Áðü ôïí ðõñÞíá 2.2.2 üëá áõôÜ äéïñèþèçêáí (÷ñçóéìïðïéþíôáò ôá Ç êáé S ôïõ BIOS êáé õðïëïãßæïíôáò ôï C = ÷ùñçôéêüôçôá/(H*S)). ÓõíÞèùò ôï ðñüâëçìá ëýíåôáé ìå ôï íá ñõèìéóôåß ï äßóêïò ùò Normal óôï BIOS (Þ áêüìç êáëýôåñï ùò None, ÷ùñßò íá áíáöåñèåß êáèüëïõ óôï BIOS). Áí áõôü äåí åßíáé äõíáôü åðåéäÞ ðñÝðåé íá åêêéíÞóåôå áðü áõôüí Þ ÷ñçóéìïðïéåßôå DOS/Windows êáé ç áíáâÜèìéóç óå 2.2.2 Þ ìåãáëýôåñç Ýêäïóç äå ãßíåôáé, ÷ñçóéìïðïéÞóôå ðáñáìÝôñïõò åêêßíçóçò óôïí ðõñÞíá. ÅÜí ôï BIOS áíáöÝñåé 16320/16/63, ôüôå áõôü ãßíåôáé óõíÞ8ùò ãéá íá Ý÷ïõìå 1024/255/63 ìåôÜ ôç ìåôÜöñáóç. ÕðÜñ÷åé Ýíá áêüìá ðñüâëçìá. Áí ï äßóêïò åß÷å ÷ùñéóôåß óå êáôáôìÞóåéò ðñéí ôçí ìåôÜöñáóç, ôüôå ï ðõñÞíáò ìðïñåß êáôÜ ôçí åêêßíçóç íá äåé ôç ãåùìåôñßá ðïõ ÷ñçóéìïðïéåßôáé óôïí ðßíáêá êáôáôìÞóåùí êáé íá áíáöÝñåé hda: [PTBL] [1027/255/63]. Áõôü åßíáé êáêü êáèüôé ï äßóêïò åßíáé ôþñá ìüíï 8.4GB. Áõôü äéïñèþèçêå óôïí 2.3.21. ÎáíÜ, ðáñÜìåôñïé åêêßíçóçò óôïí ðõñÞíá èá âïçèÞóïõí. [1m11.2. Âñá÷õêõêëùôÞñåò ãéá åðéëïãÞ áñéèìïý êåöáëþí[0m Ðïëëïß äßóêïé Ý÷ïõí âñá÷õêõêëùôÞñåò (jumpers) ðïõ åðéôñÝðïõí íá åðéëÝîåôå ìåôáîý ãåùìåôñßá 15 Þ 16 êåöáëþí. Ïé óõíÞèåéò ñõèìßóåéò èá óáò äþóïõí 16 êåöáëÝò. ÌåñéêÝò öïñÝò êáé ïé äõï ãåùìåôñßåò äßíïõí ôïí ßäéï áñéèìü ôïìÝùí, ìåñéêÝò öïñÝò ìå 15 êåöáëÝò äßíïíôáé ëéãüôåñïé ôïìåßò. ÕðÜñ÷åé Ýíáò êáëüò ëüãïò ãéá áõôÞ ôçí åðéëïãÞ: ï Petri Kaukasoina ãñÜöåé: `¸íáò 10.1 Gig IBM Deskstar 16 GP (IBM-DTTA-351010) Þôáí ñõèìéóìÝíïò ãéá 16 êåöáëÝò áëëÜ óôï ðáëéü PC (ìå AMI BIOS) äåí åêêéíïýóå êáé Ýðñåðå íá ôï ñõèìßóù óå 15 êåöáëÝò. Ôï hdparm -i ëÝåé üôé RawCHS=16383/15/63 êáé LBAsects=19807200. ×ñçóéìïðïéþ 20960/15/63 ãéá íá Ý÷ù ôç ìÝãéóôç ÷ùñçôéêüôçôá.' Ç ãåùìåôñßá 16383/15/63 äåí áíáãíùñßæåôáé áðü ôïí ðõñÞíá, ïðüôå ÷ñåéÜæïíôáé ðáñÜìåôñïé åêêßíçóçò. Ãéá ôéò ñõèìßóåéò äåßôå http://www.storage.ibm.com/techsup/hddtech/hddtech.htm. [1m11.3. Âñá÷õêõêëùôÞñåò ðïõ ìåéþíïõí ôç óõíïëéêÞ ÷ùñçôéêüôçôá[0m Ðïëëïß äßóêïé Ý÷ïõí âñá÷õêõêëùôÞñåò ðïõ êÜíïõí ôïí äßóêï íá öáßíåôáé ìéêñüôåñïò. ÁñêåôÜ áíüçôï, êáé ìÜëëïí êáíÝíáò ÷ñÞóôçò ôïõ Linux äå èá èÝëåé íá ôï ÷ñçóéìïðïéÞóåé, áëëÜ ìåñéêÜ BIOS êïëëÜíå ìå ìåãÜëïõò äßóêïõò. Ç óõíÞèçò ëýóç åßíáé íá êñáôÞóåôå ôïí äßóêï Ýîù áðü ôï BIOS. ÁëëÜ áõôü ãßíåôáé ìüíï áí äåí åßíáé ï äßóêïò åêêßíçóçò. Ôï ðñþôï óïâáñü üñéï Þôáí ôùí 4096 êõëßíäñùí (äçëáäÞ, 16 êåöáëÝò êáé 63ôïìåßò/ß÷íïò, 2.11GB). Ãéá ðáñÜäåéãìá, Ýíáò Fujitsu MPB3032ATU 3.24 GB äßóêïò Ý÷åé ãåùìåôñßá 6704/15/63, áëëÜ ìðïñåß íá åìöáíéóôåß ùò 4092/16/63, êáé ìåôÜ áíáöÝñåé LBA ÷ùñçôéêüôçôá 4124736 ôïìåßò, þóôå ôï ëåéôïõñãéêü óýóôçìá íá ìðïñåß íá ìáíôÝøåé üôé óôçí ðñáãìáôéêüôçôá åßíáé ìåãáëýôåñïò. Óå áõôÞ ôçí ðåñßðôùóç (ìå Ýíá BIOS ðïõ êïëëÜåé üôáí äåé ðüóï ìåãÜëïò åßíáé ï äßóêïò óôçí ðñáãìáôéêüôçôá þóôå íá ÷ñåéÜæåôáé ï ðåñéïñéóìüò) ÷ñåéÜæïíôáé ðáñÜìåôñïé åêêßíçóçò ãéá íá ðåßôå óôï Linux ôï ìÝãåèïò ôïõ äßóêïõ. Ïé ðåñéóóüôåñïé äßóêïé ìðïñïýí íá åìöáíéóôïýí ùò äßóêïé 2GB êáé ìåôÜ íá áíáöÝñïõí ôçí êïììÝíç ãåùìåôñßá ùò 4092/16/63 Þ 4096/16/63, áëëÜ áêüìá áíáöÝñïõí ôçí ðëÞñç LBA ÷ùñçôéêüôçôá. ÔÝôïéïé äßóêïé äïõëåýïõí óùóôÜ êáé áíáöÝñïõí ôçí ðëÞñç ÷ùñçôéêüôçôá óôï Linux, Üó÷åôá ìå ôéò èÝóåéò ôùí âñá÷õêõêëùôÞñùí. ¸íá ðéï ðñüóöáôï üñéï åßíáé ``ôï üñéï ôùí 33.8 GB''. ÐõñÞíåò ðáëáéüôåñïé áðü ôïí 2.3.21 ÷ñåéÜæïíôáé patch ãéá íá ìðïñÝóïõí íá ÷ñçóéìïðïéÞóïõí ìåãáëýôåñïõò IDE äßóêïõò áðü 33.8GB. Ìåñéêïß ìåãáëýôåñïé äßóêïé ìðïñïýí íá ñõèìéóôïýí ìå âñá÷õêõêëùôÞñåò þóôå íá åìöáíßæïíôáé ùò 33.8 GB. Ãéá ðáñÜäåéãìá, ï IBM Deskstar 37.5 GB (DPTA-353750) ìðïñåß íá ñõèìéóôåß þóôå íá åìöáíßæåôáé ùò 33.8 GB, êáé ìåôÜ áíáöÝñåé ãåùìåôñßá 16383/16/63 üðùò üëïé ïé ìåãÜëïé äßóêïé, áëëÜ LBA ÷ùñçôéêüôçôá 66055248 (áíôßóôïé÷á ìå 65531/16/63 Þ 4111/255/63)). Áõôïß, üôáí ñõèìéóôïýí ùò 33.8GB, ÷ñåéÜæïíôáé ðáñáìÝôñïõò ãéá ðëÞñç ÷ùñçôéêüôçôá óôï Linux. Äåßôå ôï the BIOS 33.8 GB limit. [1m12. Ôï üñéï ôùí 65535 êõëßíäñùí óôï linux[0m Ôï HDIO_GETGEO ioctl åðéóôñÝöåé ôïí áñéèìü ôùí êõëßíäñùí óå ôýðï short. Áõôü óçìáßíåé üôé áí Ý÷ôå ðÜíù áðü 65535 êõëßíäñïõò, ï áñéèìüò ðåñéêüðôåôáé êáé (ãéá Ýíá ôõðéêü SCSI äßóêï ìå 1 MiB áíÜ êýëéíäñï) Ýíáò äßóêïò 80 GiB èá öáßíåôáé ùò 16 GiB. Åöüóïí áíáãíùñéóèåß áõôü ôï ðñüâëçìá, áðïöåýãåôáé åýêïëá. [1m12.1. IDE ðñïâëÞìáôá ìå äßóêïõò 34+ GB[0m Äßóêïé ìåãáëýôåñïé ôùí 33.8 GB äå äïõëåýïõí ìå ðõñÞíåò ðáëáéüôåñïõò ôïõ 2.3.21. Ïé ëåðôïìÝñåéåò åßíáé: ÕðïèÝóôå üôé áãïñÜóáôå Ýíá íÝï IBM-DPTA-373420 äßóêï ìå ÷ùñçôéêüôçôá 66835440 ôïìåßò (34.2 GB). ÐõñÞíåò ðáëáéüôåñïé ôïõ 2.3.21 èá óáò ðïýíå üôé ôï ìÝãåèïò ôïõ äßóêïõ åßíáé 769*16*63 = 775152 ôïìåßò (0.4 GB), ðïõ åßíáé ëßãï áðïãïçôåõôéêü. Êáé äßíïíôáò ôéò ðáñáìÝôñïõò hdc=4160,255,63 äå âïçèÜåé êáèüëïõ - áðëÜ áãíïïýíôáé. Ôß óõìâáßíåé; Ç ñïõôßíá idedisk_setup() âñßóêåé ôç ãåùìåôñßá ðïõ áíáöÝñåé ï äßóêïò (ðïõ åßíáé 16383/16/63) êáé ðáñáêÜìðôåé ü,ôé äßíåé ï ÷ñÞóôçò óôç ãñáììÞ åíôïëþí, þóôå ôá äåäïìÝíá ôïõ ÷ñÞóôç íá ÷ñçóéìïðïéïýíôáé ìüíï ãéá ôç ãåùìåôñßá ôïõ BIOS. Ç ñïõôßíá current_capacity() Þ idedisk_capacity() õðïëïãßæåé ôïí áñéèìü êõëßíäñùí ùò 66835440/(16*63)=66305, áëëÜ áöïý áðïèçêåýåôáé óå short áñéèìü, ãßíåôáé 769. Åöüóïí ç lba_capacity_is_ok() êáôÝóôñåøå ôï id->cyls, êÜèå åðüìåíç êëÞóç óå áõôü èá åßíáé ëÜèïò êáé ï äßóêïò èá ãßíåé 769*16*63. Ãéá ðïëëïýò ðõñÞíåò õðÜñ÷åé patch. Ãéá ôïí 2.0.38 ìðïñåß íá âñåèåß óôï ftp.kernel.org. Ãéá ôïí 2.2.12 åßíáé óôï www.uwsg.indiana.edu. Ïé 2.2.14pre ðõñÞíåò õðïóôçñßæïõí áõôïýò ôïõò äßóêïõò. Óôïõò 2.3.* ðõñÞíåò, õðÜñ÷åé õðïóôÞñéîç áðü ôïí 2.3.21. ÐÜíôùò, ôï ðñüâëçìá ìðïñåß íá `ëõèåß' ``÷ñçóéìïðïéþíôáò ôïõò âñá÷õêõêëùôÞñåò'' ãéá íá êïðåß ôï ìÝãåèïò óå 33.8 GB. Óå ðïëëÝò ðåñéðôþóåéò ìéá ``áíáâÜèìéóç ôïõ BIOS'' èá ÷ñåéáóôåß áí èÝëåôå íá åêêéíÞóåôå ôï óýóôçìá áðü áõôü ôï äßóêï. [1m13. ÅêôåôáìÝíåò êáé ëïãéêÝò êáôáôìÞóåéò[0m ``ÐáñáðÜíù,'' åßäáìå üôé ôç äïìÞ ôïõ MBR (ôïìÝáò 0): êþäéêáò ôïõ öïñôùôÞ áêïëïõèïýìåíïò áðü 4 åããñáöÝò êáôáôìÞóåùí 16 byte ç êÜèå ìßá, áêïëïõèïýìåíï áðü ôï AA55 áðïôýðùìá. ÊáôáôìÞóåéò ôýðïõ 5 Þ F Þ 85 (äåêáåîáäéêü) Ý÷ïõí åéäéêÞ óçìáóßá: ðåñéãñÜöïõí [4måêôåôáìÝíåò[0m êáôáôìÞóåéò: êïììÜôéá ôïõ äßóêïõ ðïõ èá êáôáôìçèïýí óå [4mëïãéêÝò[0m êáôáôìÞóåéò. (¸ôóé, ìéá åêôåôáìÝíç êáôÜôìçóç åßíáé áðëÜ Ýíá äï÷åßï, äå ìðïñåß íá ÷ñçóéìïðïéçèåß áðü ìüíç ôçò, áëëÜ ìÝóù ôùí ëïãéêþí êáôáôìÞóåùí ðïõ ðåñéÝ÷åé.) Ìüíï ç ôïðïèåóßá ôïõ ðñþôïõ ôïìÝá ìéáò åêôåôáìÝíçò êáôÜôìçóçò åßíáé óçìáíôéêÞ. Áõôüò ï ðñþôïò ôïìÝáò ðåñéÝ÷åé Ýíáí ðßíáêá êáôáôìÞóåùí ìå 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 # Åßíáé äõíáôüí íá äçìéïõñãçèïýí ÷áëáóìÝíïé ðßíáêåò. Ðïëëïß ðõñÞíåò ìðáßíïõí óå êýêëï áí êÜðïéá åêôåôáìÝíç êáôÜôìçóç äåß÷íåé ðßóù óôïí åáõôü ôçò Þ óå ðñïçãïýìåíç êáôÜôìçóç óôçí áëõóßäá. Åßíáé äõíáôüí íá õðÜñ÷ïõí äýï åêôåôáìÝíåò êáôáôìÞóåéò óå êÜðïéïí ðßíáêá þóôå ç áëõóßäá íá ÷ùñßæåé. (Ãéá ðáñÜäåéãìá, áõôü ìðïñåß íá óõìâåß áí Ýíá fdisk äåí áíáãíùñßæåé ôá 5, F, 85 ùò åêôåôáìÝíïõò ôýðïõò êáé äçìéïõñãÞóåé Ýíá 5 äßðëá óå Ýíá F.) ÊáíÝíá êïéíü fdisk äå ìðïñåß íá ÷åéñéóôåß ôÝôïéåò êáôáóôÜóåéò, ïðüôå ÷ñåéÜæåôáé ëßãç äïõëåéÜ ìå ôï ÷Ýñé ãéá íá äéïñèùèïýí. Ï ðõñÞíáò ôïõ Linux èá äå÷ôåß ìéá ÷ùñéóìÝíç áëõóßäá óå åîùôåñéêü åðßðåäï. ÄçëáäÞ, ìðïñåßôå íá Ý÷åôå äõï áëõóßäåò ãéá ëïãéêÝò êáôáôìÞóåéò. ÌåñéêÝò öïñÝò áõôü åßíáé ÷ñÞóéìï, áöïý ìðïñåßôå íá Ý÷åôå ôýðï 5 ãéá ôï DOS êáé ôýðï 85, áüñáôï óôï DOS, ãéá ôï Linux, þóôå ôï fdisk ôïõ DOS íá ìçí êïëëÞóåé åðåéäÞ ïé êáôáôìÞóåéò óáò åßíáé ðÝñáí ôùí 1024 êõëßíäñùí. [1m14. Ëýíïíôáò ðñïâëÞìáôá[0m Ðïëëïß íïìßæïõí üôé Ý÷ïõí ðñüâëçìá, åíþ óôçí ðñáãìáôéêüôçôá äåí õðÜñ÷åé êáíÝíá. ¹ ðéóôåýïõí üôé ôá ðñïâëÞìáôá ðïõ Ý÷ïõí ïöåßëïíôáé óôç ãåùìåôñßá ôïõ äßóêïõ, åíþ áõôü äåí Ý÷åé íá êÜíåé ôßðïôá ìå ôï ðñüâëçìÜ ôïõò. Ôá ðáñáðÜíù ìðïñåß íá áêïýãïíôáé ðåñßðëïêá áëëÜ ç ãåùìåôñßá åßíáé êÜôé ó÷åôéêÜ áðëü: áöÞóôå ôçí üðùò åßíáé êáé üëá èá åßíáé ìéá ÷áñÜ· Þ ôï ðïëý íá äþóåôå ôçí ðáñÜìåôñï `linear' óôï LILO áí äåí ðñï÷ùñÜåé ìåôÜ ôï `LI' üôáí îåêéíÜ. ÐñïóÝîôå ôá ìõíÞìáôá ôïõ ðõñÞíá êáé èõìçèåßôå: üóï ðåñéóóüôåñï ðåéñÜæåôå ôçí ãåùìåôñßá (ïñßæïíôáò êåöáëÝò êáé êõëßíäñïõò óôï LILO, ôï fdisk êáé ôïí ðõñÞíá) ôüóï ðéèáíüôåñï åßíáé íá ìç äïõëÝøåé. ×ïíôñéêÜ üëá åßíáé åíôÜîåé áðü ìüíá ôïõò. Êáé èõìçèåßôå: ðïõèåíÜ óôï Linux äå ÷ñçóéìïðïéåßôå ç ãåùìåôñßá, ïðüôå êáíÝíá ðñüâëçìá äå ìðïñåß íá äçìéïõñãçèåß áðü áõôÞí. Ç ãåùìåôñßá ÷ñçóéìïðïéåßôå ìüíï áðü ôï LILO êáé ôï fdisk. ¸ôóé, áí ôï LILO äåí îåêéíÜ ôïí ðõñÞíá, ìðïñåß íá åßíáé ðñüâëçìá ãåùìåôñßáò. Áí äéáöïñåôéêÜ ëåéôïõñãéêÜ äåí êáôáëáâáßíïõí ôïí ðßíáêá êáôáôìÞóåùí, ìðïñåß íá åßíáé ðñüâëçìá ãåùìåôñßáò. Ôßðïôá ðåñéóóüôåñï. ÓõãêåêñéìÝíá, áí ôï mount äå äïõëåýåé ìçí áíçóõ÷åßôå ãéá ôç ãåùìåôñßá· ôï ðñüâëçìá åßíáé áëëïý. [1m14.1. Ðñüâëçìá: ôï Linux ÷ñçóéìïðïéåß ëÜèïò ãåùìåôñßá ãéá ôïí äßóêï[0m [1mìïõ.[0m Åßíáé ðéèáíü Ýíáò äßóêïò íá ëÜâåé ëÜèïò ãåùìåôñßá. Ï ðõñÞíáò ñùôÜ ôï BIOS ãéá ôá hd0 êáé hd1 (ôïõò äßóêïõò 80H êáé 81Ç óýìöùíá ìå ôï BIOS) êáé õðïèÝôåé üôé åßíáé ãéá ôá hda êáé hdb. ÁëëÜ áí åêêéíåßôå áðü SCSI, ïé ðñþôïé äõï äßóêïé ìðïñåß íá åßíáé SCSI êáé ï ðÝìðôïò äßóêïò, ðïõ åßíáé ðñþôïò IDE hda äßóêïò, ðáßñíåé ôç ãåùìåôñßá ôïõ sda. Áõôü ëýíåôáé åýêïëá ìå ôçí ðáñÜìåôñï åêêßíçóçò `hda=C,H,S' ìå ôéò êáôÜëëçëåò ôéìÝò C, H êáé S, åßôå êáôÜ ôçí åêêßíçóç Þ óôï /etc/lilo.conf. [1m14.2. Ðñüâëçìá: ºäéïé äßóêïé Ý÷ïõí äéáöïñåôéêÞ ãåùìåôñßá[0m `¸÷ù äõï üìïéïõò äßóêïõò 10GB 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 Ðþò êáé;' Ôß óõìâáßíåé åäþ; Ðñþôá áðü üëá, ïé äßóêïé åßíáé ðñÜãìáôé 10GB: ôï hdb Ý÷åé ìÝãåèïò 255*63*1232*512 = 10133544960, êáé ôï hdd 16*63*19650*512 = 10141286400, Ýôóé ôßðïôá äå óõìâáßíåé êáé ï ðõñÞíáò ôïõò âëÝðåé êáé ôïõò äýï óáí 10.1 GB. Ãéáôß ç äéáöïñÜ óôï ìÝãåèïò; Áõôü óõìâáßíåé åðåéäÞ ï ðõñÞíáò ðáßñíåé ôéò ðëçñïöïñßåò ãéá ôïõò ðñþôïõò äõï IDE äßóêïõò áðü ôï BIOS, êáé ôï BIOS Ý÷åé âÜëåé óôïí hdb 255 êåöáëÝò (êáé 16*19650/255=1232 cylinders). Ç óôñïããõëïðïßçóç êïóôßæåé ó÷åäüí 8MB. Áí èÝëåôå ìðïñåßôå íá áëëÜîåôå ôïí hdd ìå ôïí ßäéï ôñüðï êáé íá äþóåôå óôïí ðõñÞíá êáôÜ ôçí åêêßíçóç `hdd=1232,255,63'. [1m14.3. Ðñüâëçìá: ôï fdisk âëÝðåé ðåñéóóüôåñï ÷þñï áðü ôï df[0m To fdisk èá óáò ðåé ðüóá ôåìÜ÷éá (blocks) õðÜñ÷ïõí óôïí äßóêï. Áí äçìéïõñãÞóåôå óýóôçìá áñ÷åßùí, ð.÷. ìå ôï mke2fs, ôüôå ôï óýóôçìá êñáôÜ ëßãï ÷þñï ãéá ëüãïõò äéá÷åßñéóçò· ðåñßðïõ 4% ôïõ óõíïëéêïý ÷þñïõ, ðåñéóóüôåñï áí èÝëåôå ðïëëÜ inodes. Ãéá ðáñÜäåéãìá: # 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 blocks, êÜíïõìå Ýíá ext2 óýóôçìá, ôï ðñïóáñôïýìå êáé ôåëéêÜ Ý÷ïõìå ìüíï 3574475 blocks· 521501 blocks (12%) ÷Üèçêáí óôá inodes êáé ôç äéá÷åßñéóç. Óçìåéþóôå üôé ç äéáöïñÜ ìåôáîý ôùí 3574475 êáé ôùí 3369664 blocks åßíáé ôá 13 ðïõ ÷ñçóéìïðïéïýíôáé êáé ôá 204798 ðïõ êñáôÞèçêáí ãéá ôïí õðåñ÷ñÞóôç. Ôï ôåëåõôáßï íïýìåñï ìðïñåß íá áëëÜîåé ìå ôï tune2fs. Ôï `-i 1024' åßíáé ëïãéêü íá ÷ñçóéìïðïéçèåß ìüíï ãéá êáôáôìÞóåéò íÝùí Þ ôá÷õäñïìåßïõ, üðïõ õðÜñ÷ïõí ðïëëÜ êáé ìéêñÜ áñ÷åßá. Ôï óõíçèéóìÝíï èá Þôáí: # 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%) ÷ñçóéìïðïéïýíôáé ãéá inodes, þóôå Ý÷ïõìå 384 MB ðåñéóóüôåñá áðü ðñéí. (Ðñïöáíþò êÜèå inode ÷ñçóéìïðïéåß 128 bytes). Áðü ôçí Üëëç, ìðïñïýìå íá Ý÷ïõìå ôï ðïëý 1024000 áñ÷åßá (ðáñáðÜíù áðü áñêåôÜ), áíôß ôùí 4096000 (õðåñâïëéêÜ ðïëëÜ) ðïõ åß÷áìå ðñéí.