среда, 11 августа 2010 г.

Multi-boot виртуализация в Windows

Итак переезд начался. Первым делом надо исхитриться поставить Linux не покидая Windows (по крайней мере, не покидая его на долго). Для этого необходимо научится загружать виртуальную машину с физическоо диска, что в общем-то просто.

Начну со страшилок. Несмотря на то, что возможность загружать виртуальную машину с физического диска бывает очень полезно, использование описанных ниже техник может привести к повреждению файловых систем, потере данных и, как водится, смерти домашних животных, правда не знаю от чего. Если вы все же решили, что рискнуть стоит, желательно соблюдать несколько правил:

  • Никогда не загружайте в виртульной машине операционную систему, которая уже работает.

  • Никогда не монтируйте, файловую систему, которая уже смонтирована другой ОС (кластерные не в счет).

  • Также, я бы советовал воздержаться от управления дисками средствами Windows. По моему опыту, эта ОС имеет привычку достаточно вольно обходиться с дисками, так что после любых манипуляций с дисками, желательно проверить что загрузчик еще работает. Скорее всего, его придется восстанавливать.

В качестве виртуальной машины я использовал VirtualBox. Вообще-то, она не совсем свобдная, особенно, готовые сборки на оффициальном сайте, но для целей перехода вполне сгодится.

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

Для работы с диском понадобятся права на чтение и запись, так что VirtualBox придется запускать с правами администратора. У меня проблем с этим не возникало, думаю, понятно почему. Как только права получены, можно создавать виртуальный жесткий диск (переносы строк добавлены для удобства чтения, перед выполнением команды VBoxManage их необходимо удалить):

cd "C:\Program Files\Oracle\VirtualBox"
VBoxManage internalcommands createrawvmdk
-filename "%USERPROFILE%\.VirtualBox\HardDisks\sda.vmdk"
-rawdisk \\.\PhysicalDrive0 -register

Дальше, создаем виртуальную машину, как обычно, и подключаем к ней только что созданный диск. Несколько замечаний по настройкам, хотя на них можно и наплевать:

  • Памяти, желательно, отдать хотябы 512Мб. Это особенно актуально, если будете ставить Ubuntu 10.04, иначе из-за дурацких, на мой взгляд, настроек ureadahead можно лишиться части служб еще на этапе загрузки.

  • Контроллер диска лучше выбирать, как можно ближе к аппаратному. Для современных машин, это либо ICHx, либо сразу SATA.

  • Аудио вполне можно отключить, после смены операционки все равно перенастраивать придется.

  • Относительно сети, есть несколько замечаний:

    • MAC адрес должен отличаться от MAC физического адаптера. Оно так по умолчанию и менять этого не надо. Пригодится при настройке linux, так как позволит различать грузитесь вы на реальной или виртуальной машине.

    • В версии 3.2.x встречал странные настройки сети по умолчанию: виртуальная скрывает IP адреса удаленных клиентов, то есть вместо адреса удаленного компьютера вы увидите адрес из виртуальной подсети (10.0.x.x). Обидно, но в GUI не лечтся, и исправить можно только командную строку:

      VBoxManage modifyvm VMNAME --nataliasmode1 proxyonly
    • Если вы собираетесь запускать в linux какие-то сетевые службы, к которым необходим доступ извне, придется настроить проброс портов (тоже из командной строки). На мой взгляд, очень пригодится ssh. Работать в PuTTY несказанно удобнее, чем подглядывать в замочную скважину консоли виртуальной машины.

      VBoxManage modifyvm VMNAME --natpf1 "ssh,tcp,,22,,22"

Собственно, все. Можно загружать виртуальную машину и смотреть, что получилось.

Первый раз лучше всего загружаться с CD-ROM. Да и вообще полезно иметь под рукой образ какого-нибудь толкового LiveCD. Рано или поздно вам повезет, и вы завалите загрузчик. Вот тогда он и пригодится. Я пользуюсь Finnix, и он много раз меня спасал.

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

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