sasha1234
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Старая машина, Windows 98SE и Linux. Большой диск (160 Гб), стоит вторым (загрузка не с него). С некоторого момента при загрузке Win начал портится MBR. Копал в направлении вирусов и LBA48 (патч стоит), но выяснилось, что MBR портил DOS-драйвер CD-ROM (!?). Убрал, MBR больше не портится. Таблицу разделов восстановил руками. Linux, а также FDISK от Win вполне счастливы, но сама Win при загрузке зависает с миганием индикатора винта. "DOS 98SE" (Command prompt only) не зависает, но винт также недоступен. После кропотливого исследования выяснилось, что доступ к сектору с относительным адресом внутри раздела X дает LBA 2*S+X, где S - смещение раздела (?!). То есть, пусть раздел FAT32 начинается с 0x0D123456 (это не точное значение, но первая цифра правильная). Заметьте, что это ниже предела LBA28 - 0x0FFFFFFF. Пытаемся прочитать бут-сектор - читается 0x1A2468AC ! То есть, конечно, не читается, поскольку это за пределами физического диска. Таблицу разделов проверил с описанием, hex-редактором и калькулятором в руках - все ОК. Возможны только два спорных момента: 1) содержимое полей CHS, когда туда невозможно записать ничего реального; 2) что-нибудь за пределами 4 записей разделов, кроме ненужного загрузчика и 55AA. Где еще копать? NB! До вставки в config.sys злополучного драйвера CD-ROM, все работало на том же железе и софте! |