[Comm] Re: Что с моим /dev/hdc?

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Вт Июн 10 17:16:54 MSD 2003


On Tue, 10 Jun 2003 16:14:02 +0400
Прокопьев Евгений <john на rmts.donpac.ru> wrote:

> > Вероятно, диск был совсем пустой, поэтому ядро не смогло определить
> > правильные параметры 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. Так где у вас диски?
> 
> ошибся, нормально видится hda, ненормально - hdc
> 
> > И в чём разница в выводе fdisk -l на работающем и неработающем?
> 
> Работают в принципе оба, но hdc видится нехорошо
> 
> [root на firebird root]# fdisk -l /dev/hda
> 
> Disk /dev/hda: 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/hda1             1      7476  60050938+  83  Linux
> [root на firebird root]# fdisk -l /dev/hdc
> 
> 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

Вот число блоков и разное. Для hda ((60050938.0*2 + 1)/63 + 1)/255 =
7476.0, т.е. всё нормально.

> >>И еще gkrellm отказывается рисовать графики по /dev/hdc, что тоже 
> >>настораживает.
> >>
> >>Какие проблемы я могу получить в будущем?
> > 
> > 
> > Ядро использует LBA, так что вроде бы в Linux проблем возникнуть не
> > должно, но кто его знает...
> > 
> > Попробуйте запустить cfdisk -h 16 - если так запустится, вероятно,
> > именно эта геометрия правильная для такой разбивки. Можно попробовать
> > запустить fdisk -H 16 /dev/hdc и записать таблицу разделов - есть
> > вероятность, что после этого распознавание геометрии встанет на место.
> 
> Нет, не встало

После этого перезагрузиться надо - имелось в виду именно распознавание
при загрузке.

> > А вот чтобы исправить на /255/63, придётся всё сносить и
> > переразбивать, предвариельно убедившись, что fdisk использует
> > правильную CHS-геометрию.
> 
> А как в этом убедиться?

fdisk при запуске выдаёт параметры диска - они должны соответствовать
тем, которые использует BIOS. Если не соответствуют - поправьте либо
опцией ядра (hdc=C,H,S), либо опциями fdisk. Также помогает временная
перестановка диска на hdb - там работает чтение параметров BIOS при
загрузке. (То, что диск 0x81 по нумерации BIOS может быть hdc, если
hdb нет или это не диск, ядро понять не может.)



Подробная информация о списке рассылки community