nicka 14.03.2013 12:30 notebook

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

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

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

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

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

Do you really want to delete ?