Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет p_govorun ([info]p_govorun)
@ 2005-12-12 21:59:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Format C:
Это неинтересно. Скорее всего, это вам не нужно. Ну, в самом деле, зачем вам знать в деталях работу DOSовских команд fdisk и format?

С другой стороны, это невообразимо. В прямом смысле: сколько бы вы ни старались, придумать такое вам вряд ли удастся. Ваш единственный шанс узнать об этом -- услышать откуда-то. Ну, или наткнуться на это в реальности. Если вы видите, что жёсткий диск в 4 гига разбит на 4-гигабайтный и 3-гигабайтный разделы -- наверно, это то самое.

Итак, допустим, что у вас есть 1-гигабайтный раздел в начале 4-гигабайтного жёсткого диска. (То, что он есть, и находится именно в начале, записано, конечно же, в таблице разделов, в самом первом секторе диска). Вы хотите его отформатировать и запускаете format C:. Откуда программа format узнает размер раздела?

Вы полагаете, из таблицы разделов? А вот и нет! В первую очередь format смотрит на сам раздел. Допустим, раньше это был 4-гигабайтный раздел (и при предыдущем форматировании эта цифра и была записана в его bootsector). format прочтёт эту цифру 4 гигабайта, и отформатирует диск именно такого размера. Естественно, он при этом залезет на следующий раздел. Но если вы после этого отформатируете второй раздел тоже, то всё будет выглядеть совершенно нормально. Неладное обнаружится только когда файлы двух разделов будут записаны на одно и то же место и испорчены.

Почему это не было исправлено? Я же сказал, это невообразимо.

Как же можно жить c такой програмой format? Можно. Для того, чтобы справиться с ситуацией, при создании раздела fdisk от Microsoft забивает его начало нулями. Тогда format, сочтя, что раздел чистый, читает информацию о нём из таблицы разделов. И всё оказывается в порядке. Если же вы используете DOSовский format вместе со, скажем, fdisk от linux, не забывайте затереть начало раздела вручную.

Этот рассказ относится к системам до Windows ME включительно. Как обстоят дела теперь, я не знаю. Возможно, нынешние творения Microsoft ещё сильнее превосходят воображение, но пусть с этим разбираются другие.


(Читать комментарии) - (Добавить комментарий)


[info]evr@lj
2005-12-12 17:59 (ссылка)
Еще одна совершенно неинтересная история - про то, как chkdsk в win2k проверял диск, проверить его до конца не сумел и продолжил после перезагрузки. Но поскольку в процессе перезагрузки отключился один из винчестеров, а хитроумный chkdsk запомнил букву, размер и файловую систему того диска, который проверял, то он взял логический диск большего размера, который теперь оказался под искомой буквой, урезал его до нужного объема, сказал ему, что он на самом деле не ntfs, как он в заблуждении своем полагает, а вовсе даже fat32, с чистым сердцем проверил, а на оставшиеся сотню гигов unallocated space попросту забил, потому что с ними его делать ничего не просили.
Душераздирающая история восстановления данных также никому неинтересна.

(Ответить) (Ветвь дискуссии)


[info]p_govorun@lj
2005-12-12 18:14 (ссылка)
Ужас. Увы, воспроизвести такое не удастся, и история попадает в раздел "страшные байки". То есть, я верю, но вот пересказывать её уже нельзя. :-)

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]evr@lj
2005-12-12 18:29 (ссылка)
Думаю, что при подходящих обстоятельствах я возьмусь пересказать ее еще не раз. Очень она мне нравится. :)
Но пересказ пересказа может и в самом деле выглядеть неубедительно.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]p_govorun@lj
2005-12-12 18:41 (ссылка)
Вот в том-то и беда. Дело напоминает охотничьи рассказы. "И тут ка-ак выскочит скандиск, и давай грызть винчестер. Мне бы его пнуть, а я смотрю, как загипнотизированный. Так и сожрал всё, гад..." А что правда, что нет -- нам не узнать.

Багов надо выслеживать, препарировать, и тащить специалистам :-)

(Ответить) (Уровень выше)


(Читать комментарии) -