вторник, 22 июня 2010 г.

Преобразование dynamic-диска в basic

Dynamic Disk - это проприетарный (Microsoft, Veritas/Symantec) формат логических разделов. Он хорош тем, что позволяет создавать любое количество разделов на диске, при этом разделы могут быть простыми, составными, чередующимися, зеркальными и др. Преобразование basic-диска в dynamic в Windows возможно одним кликом. Однако вот обратная операция доставляет огорчение, унижение и боль.
Собственно, зачем нужно преобразовывать из такого замечательного формата, как dynamic disk, обратно в basic? Проблема как раз в проприетарности. Хотя проприетарную файловую систему NTFS уже давно научились читать, писать и изменять, формат dynamic disk все еще остается либо неизвестен, либо в крайнем случае read-only для сторонних программ. Здесь надо отдать должное юниксовому NTFS-3G, который может монтировать разделы с dynamic-диска в режиме чтения и записи.
Утилит для операций с dynamic disk, кроме самой Windows, не существует. Любая сторонняя программа видит структуру dynamic-диска либо как огромную неразмеченную область, либо как область неизвестного формата. Линуксовый gparted определяет на диске размером 1 ТБ четыре primary-раздела, первый размером около 100 МБ, - второй около 32 ГБ, и дальше по увеличению. Даже утилиты от Symantec не умеют работать с dynamic-дисками. Это означает, во-первых, невозможность установки второй ОС, отличной от Windows, во-вторых - затруднение восстановления данных с диска в случае сбоя.
Для того, чтобы преобразовать dymaic-диск в basic, необходимо сохранить все данные на другой носитель, так как единственный безопасный способ преобразования - форматирование. Если переустановка системы не является проблемой, то на этом можно успокоиться. В противном случае необходимо создать точный образ системного раздела например с помощью Norton Ghost. Нужно помнить, что в отличие от предыдущих Windows, семерка обычно создает для себя два раздела: один размером 100 или 200 МБ, и второй, указанного пользователем размера. На первом разделе (System Reserved) хранится загрузчик и среда для восстановления системы. Поэтому придется создавать и его копию тоже, иначе загрузить Windows просто так не получится.
Итак, все данные с жесткого диска сохранены, образы системных разделов созданы. Осталось развернуть эти разделы на отформатированный жесткий диск. Если образы были созданы с помощью Norton Ghost, то понадобится Norton Ghost BootCD. Это что-то вроде Windows LiveCD с Norton Ghost на нем. Из-под него можно легко отформатировать диск и развернуть образы.
Теперь о боли и унижении. В современных SATA-дисках есть поддержка NCQ (Native Command Queing), которая в определенных условиях дает прирост производительности жесткого диска. Это не только серверные приложения, но и, к примеру, сборка/компиляция больших проектов. Для ее работы на материнской плате должен быть включен режим AHCI (Advanced Host Controller Interface). Если просто развернуть образы системных разделов Windows 7 на отформатированном жестком диске при включенном AHCI, на некоторых (возможно, даже на большинстве) материнских платах не получится даже загрузить экран настройки BIOS! Где-то здесь у оператора появляется ощущение, что его крыша начинает тихонько шуршать шифером, двигаясь по направлению к земле. Каким образом системный раздел Windows 7 может мешать загрузке BIOS?
Оказывается, тот самый раздел System Reserved размером 100 или 200 МБ заставляет AHCI BIOS неправильно определять геометрию диска. Это выяснил человек [RU] Ivan на Windows Client TechCenter. Вот его пост:
the problem is in disk geometry detection in AHCI mode. for example:
1. get empty disk. check didk geometry with system info. you will see Tracks/Cylinder = 255, Sectors/Track = 63. Create 100MB NTFS partition with Windows Disk Manager. Reboot. Check disk geometry - it changes!
2. Why disk geometry changed? because BIOS thinked that partition end is aligned to end of cylinder. So it uses END CHS value for first partition and LBA END for counting new geometry. In my case I saw the following
record in master boot record.
END CHS = DF 13 0C (END HEAD = 0xDF) Disk Geometry Tracks/Cylinder chaged after reboot from 255 to 224. 224 = 0xE0 = 0xDF + 1
As you can see DISK GEOMETRY IS DETERMINED BY END CHS VALUE FOR 1ST PARTITON
3. Now imaging the following you again get empty disk with geometry 255/63. Create partition with size 101MB or 352MB or 705MB or there are pretty much other sizes. These sizes are specific - after creating partition with this size you will get ZERO in end chs for 1st partition.
Reboot now - and you will see that bios hangs - cause disk must have positive Tracks/Cylinder.
How to fix this?
-DO NOT USE AHCI
or
-use large 1st partitions more than 8GB (end chs for such partition always FE FF FF).
Что интересно, "специалист" из Microsoft, похоже, не имеет понятия о данной проблеме:
Hi jtclh,
Before moving on, I would like to share the computer boot process for you.
When the computer's power is first turned on, the CPU initializes itself and look to the system's ROM BIOS for its first instruction in the startup program. Then, if the BIOS does not detect a battery failure, it then continues to initialize the CPU, checking the inventoried hardware devices. If all components are functioning properly, BIOS will look for an OS to load. The BIOS setting (Boot Sequence) tell computer where to find OS.
On the problem, computer hangs before loading OS (Windows 7), so it should not be a Windows 7 problem. It may be a hardware problem. Given the situation, I suggest you reset BIOS setting to test the issue. If the issue still persists, it is recommended to contact Manufacturer Support to address the issue.
Thank you for your understanding.
Вернемся же к разделу System Reserved, так как загрузке системы, как ни странно, мешает именно он. Если включен режим AHCI, то после перезагрузки систему будет невозможно загрузить. Если просто удалить раздел System Reserved, то не загрузится Windows 7. Вообще говоря, из-под Windows LiveCD типа Norton Ghost BootCD это исправляется легко, так как там доступна утилита diskpart. Но это обязательно нужно делать до первой перезагрузки, иначе не потом не получится войти в настройку BIOS, чтобы выключить AHCI. Либо, если AHCI выключен, можно это сделать уже из-под развернутой на жестком диске Windows. Делается данная операция следующим образом.
В консоли (желательно с правами администратора) запускается diskpart. Далее
list disk
select disk <номер нужного жесткого диска>
list volume
select volume <номер первого раздела размером 100 МБ, обычно 0>
inactive
В результате раздел System Reserved стал неактивным. Теперь нужно сделать раздел с установленной Windows 7 активным и загрузочным.
select volume <номер второго раздела, на котором стоит Windows, обычно 1>
active

Выходим из diskpart и пишем загрузочные файлы на теперь уже активный раздел:
bcdboot c:\windows /s C:
После перезагрузки раздел System Reserved можно удалить. Еще более подробно это описано здесь. Теперь, если все прошло нормально, можно включить режим AHCI.
Подобная ситуация с зависанием AHCI BIOS может произойти и при обычной установке Windows на жесткий диск. Для предотвращения необходимо предварительно создавать один раздел в начале диска, на который и устанавливать.
  • rss
  • Del.icio.us
  • Digg
  • Twitter
  • StumbleUpon
  • Reddit
  • Share this on Technorati
  • Post this to Myspace
  • Share this on Blinklist
  • Submit this to DesignFloat

Комментариев нет:

Отправить комментарий

 
Design by BloggerThemes | This template is brought to you by : allblogtools.com