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

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]gray_bird@lj
2005-12-12 16:25 (ссылка)
кайф.
переодически натыкаюсь на аналогичные программизмы, но сходу не вспомню.
:)

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


[info]p_govorun@lj
2005-12-12 16:42 (ссылка)
Такое надо собирать, в память потомкам :-)

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


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