Автонастройка разделов жесткого диска
Необходимость настройки разделов жесткого диска возникает каждый раз после установки новой системы (или переустановки). Такая настройка позволяет привести буквенные обозначения разделов и накопителей в более удобный вид. Это довольно-таки рутинная операция, но тем не менее ошибки при ее выполнении могут приводить к потере данных. Эти обстоятельства и послужили причиной автоматизации процедуры настройки разделов жесткого диска.
Оговорка 1. В данном случае будем говорить о Windows XP, хотя все сказанное, как правило, будет применимо и к Windows 2000, и к Windows Vista.
Оговорка 2. В случае затруднений с пониманием используемых далее терминов я бы рекомендовал почитать здесь: oszone.net.
Оговорка 3. При разбиении жесткого диска на разделы придерживаемся следующих соображений:
а) под систему создаем один раздел (основной) в начале диска;
б) размеры системного раздела задаем либо по желанию заказчика, либо устанавливаем сами — индивидуально, исходя из ситуации;
в) для данных пользователя создаем еще один логический диск в дополнительном разделе, и используем под это все оставшееся свободное место;
г) файловая система всех разделов — NTFS;
д) папку пользователя «Мои документы» переносим на диск D (D:\Мои документы): так и сохраннее в случае краха системы, и проще до нее добираться (даже если на компьютере работает несколько пользователей, такой подход оправдан, просто в этом случае папки документов на диске D понадобится создать отдельно для каждого пользователя).
С этими соображениями можно спорить, но на практике они подтверждали свою состоятельность в течение нескольких лет продаж и сервисной работы. Особенно хотелось бы подчеркнуть пункт (в). Дело в том, что использовать для данных пользователя дополнительный раздел, строго говоря, вовсе не обязательно. С таким же успехом можно было бы создать под логический диск с данными еще один основной раздел. Однако практика показала, что при наличии более чем одного основного раздела на жестком диске в некоторых случаях при переустановке системы буквы разделов путаются (первый раздел, системный, оказывается с буквой D; второй, с данными — C). Чтобы избежать таких ситуаций и связанных с этим потерь времени и нужен пункт (в).
Оговорка 4. С учетом оговорки 3 делаем допущение, что в процессе установки системы на жестком диске создавался только один раздел, в который и ставилась система. Таким образом, будем иметь основной раздел с системой в начале жесткого диска, и все остальное — неразмеченная область.
Итак, после установки операционной системы с оптического диска (CD или DVD) на чистый жесткий диск (новый или предварительно очищенный) обычно наблюдается следующая картина: системному разделу соответствует буква С, оптическому приводу — буква D, флоппи-дисководу — буква A (если есть другие накопители или логические диски, то букв будет больше).
Дальнейшие задачи состоят в том, чтобы:
а) сменить букву оптическому приводу на X (или, к примеру, Z — кому как нравится; главное, использовать букву постарше, чтобы при появлении в системе новых логических дисков (например, при подключении флешки или еще одного жесткого диска) оптический привод не мешался среди них, а оставался последним в буквенном ряду — так удобнее);
б) создать дополнительный раздел на жестком диске, а в этом разделе — логический диск, которому назначить букву D и отформатировать в NTFS;
в) перенести папку «Мои документы» из «C:\Documents and Settings\имя_пользователя\» на диск D.
Эти задачи и решает мой автоматический настройщик разделов жесткого диска. Файл представляет собой самораспаковывающийся архив, который при запуске распакуется во временную папку и запустит на исполнение сценарий командной строки DiskTune.cmd, реализующий требуемый функционал. Помимо этого также задаются метки тома для логических дисков C и D — для удобства. При настройке разделов используются возможности консольной утилиты DISKPART, входящей в состав Windows. Для переназначения папки документов используется самодостаточный самораспаковывающийся архив MyDocMove.exe, который можно использовать и отдельно.
Файл delay.exe в архиве — это скомпилированная в Virtual Pascal’е утилитка для реализации задержки (ну не люблю я способ релизации задержки в командной строке при помощи ping). Сопутствующие файлы — ее исходник и файлы компилятора. Вообще команда задержки в сценарии закомментирована. В свое время она была нужна, чтобы дать системе время на закрытие всех файлов на оптическом приводе.
Файлы withd.txt и withoutd.txt являют собой команды утилиты DISKPART и передаются ей в качестве параметров в зависимости от ситуации.
Перед выполнением деструктивных операций настройщик проверяет количество имеющихся в системе разделов жестких дисков, количество сменных накопителей и количество оптических приводов. Если разделов жесткого диска и/или сменных накопителей больше, чем по одному, выполняется только смена буквы для оптического накопителя (никакого создания разделов и форматирования в этом случае сценарий не делает). Это позволяет предотвратить потерю данных, если разделы на жестком диске уже созданы, а также исключает некорректное поведение при наличии в системе картридера (добавляющего «лишние» сменные накопители). В последнем случае настраивать разделы лучше вручную.
Для успешной работы настройщику требуется, чтобы на оптическом приводе не было открытых файлов. Иначе сменить его букву не получится, и все остальные операции потеряют смысл.
В случае, если по каким-либо причинам логический диск D не был создан, перенос папки документов будет выполнен в корень логического диска C.
ЗЫ. Поскольку операции с разделами — штука потенциально опасная, все описанное и выложенное здесь используйте с умом, осторожностью и на свой страх и риск.