Архив за 05.08.2010

Ultrabay HDD и виртуальная машина VMWare на физическом диске

Из всех программ, которыми я сейчас пользуюсь, самая жадная до ресурсов — VMWare Workstation. Это и понятно, не для себя же старается, а для виртуальных машин. Полностью перейти на Linux я до сих пор не готов, но в качестве среды для разработки предпочитаю именно его. Даже наконец-то нашел подходящий дистрибутив — Linux Mint 9, основанный на Ubuntu.

Производительности ноутбука хватать перестало, сначала нарастил память до трех гигабайт, помогло слабо. Потом заменил жесткий диск на самый большой из производительного семейства WD Scorpio Black: WD3200BJKT (320GB 7200rpm 16GB). Не ошибитесь, бывает WD3200BEKT такого же объема, но без датчика удара!

Прирост производительности ощутимый, то ли из-за свежепереустановленной ОС, то ли из-за нового винчестера. Особенно потрясла скорость Suspend/Resume виртуальной машины. Раньше это занимало больше минуты, сейчас — максимум 5 секунд. Думаю, причина в достаточном количестве свободного места. Раньше у меня было максимум 15 гигабайт свободно, видимо, из-за фрагментации они были разбросаны по всему диску.

Виртуальную машину Linux решил поставить на реальные разделы диска, не создавая диск-в-файле. Дело в том, что до этого пару раз приходилось создавать виртуальную машину заново, поскольку после зависания компьютера VMWare сообщала, что диск поврежден и требуется его реанимация. Запуск vmware-vdiskmanager.exe -R не помог, а больше никакой информации по этому вопросу обнаружить не удалось. С физического раздела данные вытащить всё-таки проще.

После непродолжительных проб удалось понять, как сконфигурировать виртуальную машину для использования физических разделов: разделы надо предварительно создать, форматировать не обязательно, всё равно они будут отформатированы при установке гостевой ОС. Далее, если разрешить использование всего диска, то для загрузки будет использован тот же раздел, с которого грузится основная система. Лучше так не делать, подерутся. Поэтому надо разрешить использование только специально созданных разделов — я сделал два основных раздела (Primary Partition), один для swap, второй для всего остального.

Описание диска, подключенного к виртуальной машине, хранится в файле *.vmdk, например, Mint.vmdk. Если диск используется целиком, то используется реальная таблица разделов (Partition Table), в которой и указан активным раздел с основной системой. А если использовать только отдельные разделы, то виртуальной машине подсунут фальшивую таблицу разделов из файла Mint-pt.vmdk, в которой не будут указаны запрещенные разделы:

# Extent description
RW 63 FLAT "Mint-pt.vmdk" 0
RW 73407537 ZERO 
RW 509619600 ZERO 
RW 3190320 FLAT "\\.\PhysicalDrive0" 583027200
RW 38918880 FLAT "\\.\PhysicalDrive0" 586217520
RW 6048 ZERO

При установке ОС в виртуальную машину раздел с гостевой ОС будет помечен как активный, но эти изменения попадут не в реальную таблицу разделов, а в файл! Вот, собственно, весь фокус.

Но проблемы на этом не закончились — через несколько дней VMWare опять отказалась грузить виртуальную машину, сославшись на то, что таблица разделов поменялась и необходимо удалить диск, а потом добавить его заново: The partition table on the physical disk has changed since the disk was created. Remove the physical disk from the virtual machine, then add it again. Я бы с радостью, но если виртуальная машина не выключена, а только приостановлена, то диски ни удалять, ни добавлять нельзя! Пришлось думать. Вспомнил, что изменилась конфигурация ноутбука — старый жесткий диск перекочевал в Ultrabay. Оказывается, диск в Ultrabay становится PhysicalDrive0, а основной смещается в PhysicalDrive1! Победить можно несколькими способами:

  1. Вытащить диск из Ultrabay и перезагрузиться.
  2. Сохранить старый файл Mint-pt.vmdk и добавить диск в VMWare заново. Система грузиться не будет, потому что нужный раздел в новом Mint-pt.vmdk не будет активным. Для того и сохраняли старый файл. Вместо его восстановления можно руками поправить таблицу разделов в файле, если знаете как.
  3. Загрузиться в виртуальной машине с диска, на котором есть редактор таблицы разделов, и сделать нужный раздел активным.
  4. Руками поменять PhysicalDrive0 на PhysicalDrive1. Я не пробовал, но, думаю, получится.

С приостановленной виртуальной машиной второй и третий способы по понятным причинам не помогут.»

05.08.2010  Метки: , ,   Рубрики: Аппаратура, Программы  Комментариев нет