Проблеми с разпознаване на хард диск

от wiki.linux-bg.org, свободната енциклопедия

Как да се справим, ако WIN BIOS не познава току-що купения голям HDD.

Съдържание

Какъв бе проблемът

Случи се така, че спешно ми се наложи да купя нов 40 Gb HDD. Реших да го закача и се оказа, че BIOS на моята стара и добре работеща машина, не пожела да разпознае този диск. Това доведе до това, че компютърът ми не можеше да направи boot от новия ми диск. Обаче хубавото в тази ситуация бе, че Linux, разпозна диска и даже не се замисли защо го няма в BIOS.

Как реших този проблем

Решението на такъв проблем може да стане по един от трите начина:

Като си сменя дънната платка

Това решение е за хора, разполагащи с необходимите финансови ресурси, така че това решение го отложих за по-късен етап.

Като намерим някъде upgrade на BIOS

Като намерим някъде upgrade на BIOS съответсващ на chipset, от съответния производител. Това само по себе си е добро решение, ако съответният производител се е погрижил да направи съответния upgrade. В моя случай това обаче не бе така. Т.е. chipset се оказа достатъчно стар, за да се подържа от производителя. Тук нещата взеха да продобиват трагичен характер и се наложи да намеря някакво междинно решение, т.е. без да измъчвам WINBIOS-а, да мога да използвам новия си диск. Е точно това решение предлагам в тази статия, тъй като предполагам, че не само аз съм пострадал от подобна логика на поведение.

Като използвам Линукс

Първо, препоръчвам, да не изхвърляте стария си твърд диск, защото той все още може да свърши някаква работа, още повече ако си работи. Според всички описани материали в интернет и в книгите пише, че Linux може да се стартира от Windows, но никъде не пише, че за целта е необходимо BIOS, като минимум да познае диска, където Linux е инсталиран. В случая, неизвестно защо, се забравя фактът, че Windows не е операционна система, а обикновена десктоп среда, за щастие Linux е истинска операционна система и тя се справя с хардуера, и както е в случая, независимо от BIOS. Така, че решението идва така да се каже от само себе си. Какво трябва да се направи:

Ако сега инсталирате Линукс

В този случай, е необходимо да разцепите стария си хард диск, който се познава от BIOS, посочете новия си диск, като дял - например /usr. Директорията /usr е такава, че съдържа най - голям обем от данни за приложенията, библиотеките и т.н. Така че като посочите при инсталацията дял от новия си голям диск, вие изпращате по - големия обем от необходимите пакети на друг диск. А в коренния си дял - "/", оставяте само необходимите неща за зареждането на Linux. След края на инсталацията можете да прехвърлите и някоя друга голяма директория на големия си диск и тя вече ще се намира в директория /usr. Аз прехвърлих там директорията /opt. След това я изтрих от стария си диск и направих символична връзка към нея с командата - ln -s /usr/opt opt . Така разтоварих коренната си директория. Е това в крайна сметка, също има своята цена и тя е че в момента Linux има на разположение повече от 40 Gb, дисково пространство, а за Windows, оставих малко повече от 3 Gb. Но като се позмислих, реших че тази цена е съвсем приемлива, пред перспективата да направя upgrade на BIOS с някаква програма, която може и да не проработи, както трябва.

Ако вече имате инсталиран Линукс

Ако вече имате инсталиран Linux, то тогава не бързайте да инсталирате всичко наново, а направете следното. Закачете новия си диск или като втори диск на IDE0, или на IDE1, но при всички случаи дискът трябва да е подчинен. Ако е закачен на IDE0, като втори, linux би трябвало да го познае като /dev/hdb. Ако е закачен на следващ IDE, то в зависимост от мястото си - Master или Sleave, той би трябвало да е или /dev/hdc или /dev/hdd. Сега с fdisk трябва да му определите дяла. Как става това е достатъчно добре описано в man страниците на всяка дистрибуция, а пък и всяка дистрибуция има собственни инструменти за тази цел, така че аз тук няма да се спирам на този въпрос. След като сте определили дяла на новия хард диск, той обикновенно е /dev/hdb1 - примерно, трябва да му запишите файлова система. Това стандартно става с командата mkfs -t желана файлова система /dev/hdb1, hdb1 е дяла, който токущо създадохте с fdisk или с някой друг инструмент от вашата дистрибуция. След това е необходимо да създадете входна точка на диска (директория - например /DiskD), това става с mkdir DiskD, след това трябва да "въжете" диска към съответната директория, това става с mount -t избраната файлова система/dev/hdb1 /DiskD. Вече можете да прехвърлите директорията например /usr на новият диск с просто копиране. Трябва да изтриете старата директория /usr и да направите в старият си диск символна връзка към новата си директория - ln -s /DiskD/usr usr. След тази стъпка вие сте освободили достатъчно дисково пространство на коренния си диск (коренната си директория). За да е валидна през цялото време новата /DiskD/usr, е необходимо да опишете диска във файла fstab. Обикновенно той е в директория /etc, по следния начин - /dev/hdb1 /DiskD избраната файлова система defaults 1 2. Сега като рестартирате системата си, новият ви диск е постоянно валиден. Това е особено необходимо ако там се намира някоя от директориите, към които Linux непрекъснато се обръща, като директорията /usr.

Е това е всичко. Мисля, че правилата са общовалидни за всяка една дистрибуция и според мен, ако се работи достаъчно внимателно и прецизно, не би трябвало да имате някави същественни проблеми. Освен това командата mkfs е много добре обяснена в man страниците на Linux и е желателно да прочетете описанието й внимателно, преди да пристъпите към горе описаната процедура. На всички, които решат да опитат описаната по - горе механика, пожелавам успех. А ако някъде успеете да закъсате, моля, пишете ми на адрес mick_ jobs@yahoo.com. Ще се постарая да отговоря достатъчно изчерпателно.

Михаил Петров

град Смолян - 29.06.2002 год.

Лични инструменти