From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Tue, 10 Jun 2003 15:01:51 +0400 From: Sergey Vlasov To: community@altlinux.ru Message-Id: <20030610150151.1bcc7393.vsu@altlinux.ru> In-Reply-To: <3EE5627C.4070804@rmts.donpac.ru> References: <3EE5627C.4070804@rmts.donpac.ru> X-Mailer: Sylpheed version 0.9.2 (GTK+ 1.2.10; i586-alt-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: [Comm] Re: =?KOI8-R?Q?=FE=D4=CF_=D3_=CD=CF=C9=CD?= /dev/hdc? Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: On Tue, 10 Jun 2003 08:45:48 +0400 Прокопьев Евгений wrote: > Кто-нибудь может объяснить такой феномен: > > #cfdisk /dev/hdc > FATAL ERROR: Bad primary partition 0: Partition ends after end-of-disk > Press any key to exit cfdisk > > # fdisk /dev/hdc > The number of cylinders for this disk is set to 7476. > There is nothing wrong with that, but this is larger than 1024, > and could in certain setups cause problems with: > 1) software that runs at boot time (e.g., old versions of LILO) > 2) booting and partitioning software from other OSs > (e.g., DOS FDISK, OS/2 FDISK) > > Command (m for help): p > > Disk /dev/hdc: 61.4 GB, 61492838400 bytes > 255 heads, 63 sectors/track, 7476 cylinders > Units = cylinders of 16065 * 512 = 8225280 bytes > > Device Boot Start End Blocks Id System > /dev/hdc1 * 1 7477 60051568+ 83 Linux > > Command (m for help): При этом 7476.0 * 255 * 63 / 2 = 60050970.0, что действительно меньше, чем размер раздела в блоках. В то же время ((60051568.0*2 + 1)/63 + 1)/16 = 119150.0 - т.е. размер раздела ('+' в выводе fdisk обозначает лишний сектор) соответствует геометрии 119150/16/63, а не используемой 7476/255/63. > Собственно, так было после установки системы, раздел /dev/hdc1 был > создан в fdisk, а на нем была создана XFS. На разделе лежит немаленькая > БД и вроде нормально себя чувствует, хотя пока еще работает в отладочном > режиме. Вероятно, диск был совсем пустой, поэтому ядро не смогло определить правильные параметры CHS (данные BIOS читаются только для /dev/hda и /dev/hdb, для остальных IDE-устройств берутся без учёта преобразования в BIOS, а потом корректируется по данным таблицы разделов). Поэтому fdisk и создал раздел такого размера. Откуда потом взялась геометрия /255/63 - не знаю; возможно, таблицу разделов чем-то "подправили" (например, если диск при этом стоял на hda или hdb). Посмотрите в вывод hdparm -i /dev/hdc и сообщения ядра при загрузке (сначала распознаётся геометрия /16/63, а позже при Partition check корректируется, при этом пишется [PTBL]). > Кстати, абсолютно аналогично размечен /dev/hdc, но его видит и fdisk и > cfdisk. Не понял - и тут, и там hdc. Так где у вас диски? И в чём разница в выводе fdisk -l на работающем и неработающем? > И еще gkrellm отказывается рисовать графики по /dev/hdc, что тоже > настораживает. > > Какие проблемы я могу получить в будущем? Ядро использует LBA, так что вроде бы в Linux проблем возникнуть не должно, но кто его знает... Попробуйте запустить cfdisk -h 16 - если так запустится, вероятно, именно эта геометрия правильная для такой разбивки. Можно попробовать запустить fdisk -H 16 /dev/hdc и записать таблицу разделов - есть вероятность, что после этого распознавание геометрии встанет на место. А вот чтобы исправить на /255/63, придётся всё сносить и переразбивать, предвариельно убедившись, что fdisk использует правильную CHS-геометрию.