Я установил Ubuntu как обычно в отдельный раздел и настроил компьютер для двойной загрузки между Ubuntu / XP.
Я установил coLinux с образом Debian с backports, который доступен на сайте coLinux.
Настроил coLinux так, чтобы он мог монтировать раздел Ubuntu, хитрость в том, чтобы выяснить правильный номер раздела. Кажется, номер раздела в coLinux меньше, чем номер раздела, используемый при загрузке компьютера с Ubuntu. В моем случае мне пришлось настроить:
<block_device index="1" path="\Device\Harddisk0\Partition5" enabled="true" alias="hda7"/>
Загрузите coLinux с Debian с образом backports и после загрузки смонтируйте раздел ubuntu в моем случае /dev/hda7
Чтобы сделать возможным загрузку Ubuntu внутри coLinux, вам нужно выключить некоторые службы, которые запускаются автоматически при загрузке, большинство из них связано с аппаратным обеспечением и не поддерживается внутри coLinux. Вы по-прежнему хотите запускать эти службы, когда не используете Ubuntu внутри Colinux. Я сделал это, сначала создав сценарий /etc/inid.d/colinux в соответствии с http://wiki.colinux.org/cgi-bin/DualBootSystem.
Этот сценарий, конечно, должен создаваться в /etc/init.d
каталоге раздела ubuntu, а не в изображение "debian with backports".
Когда этот скрипт создан, вам также нужно отредактировать default.colinux.xml
файл, чтобы он содержал COLINUX=1
загрузочный параметр, в моем случае:
<bootparams>root=/dev/hda8 COLINUX=1</bootparams>
Этот скрипт теперь позволяет отключать некоторые автоматически запускаемые сервисы при запуске внутри coLinux, но все же запускать эти сервисы при двойной загрузке компьютера с Ubuntu. Вы также должны обязательно запустить этот скрипт во время загрузки, вставив ссылки в /etc/rcS.d
каталог.
Следующий шаг - включить сервисы, вставив операторы if в скрипты сервисов в /etc/init.d
(в разделе ubuntu).
if [ -f /var/local/colinux ] ; then
exit 0
fi
Мне пришлось отключить следующие службы при загрузке внутри coLinux, чтобы он загрузился, coLinux аварийно завершил работу во время загрузки, когда работала какая-либо из этих служб:
/etc/init.d/gdm
/etc/init.d/powernowd
/etc/init.d/hotkey-setup
/etc/init.d/pcmcia
/etc/init.d/vbesave
Создайте настраиваемые версии colinux для некоторых других файлов. Сценарий colinux в init.d, упомянутый выше, позволяет иметь версию colinux и версию non-colinux для некоторых других файлов. В моем случае у меня есть специальные версии следующих файлов:
/etc/fstab
(coLinux монтирует разделы ntfs, используя smbfs вместо монтирования ntfs только для чтения)
/etc/network/interfaces
(я не заставлял colinux работать с использованием DHCP, поэтому вместо него у
/etc/gdm/gdm.conf
меня есть жестко запрограммированные номера IP) не совсем уверен, что это используется, так как gdm не может быть запущен при загрузке, но у меня есть специальная версия для coLinux с отключенными всеми [серверами]. Может использоваться при использовании vnc, но я не уверен, если это необходимо)
При настройке этих файлов важно помнить, что нужно редактировать правильный файл, поскольку обычные файлы будут перезаписываться версиями * -colinux или * -non-colinux при каждой загрузке. Может быть возможно установить символические ссылки вместо перезаписи файлов, но я не проверял это.
Наконец, вам нужно настроить coLinux, чтобы он загружался с использованием раздела Ubuntu вместо образа «debian with backports», это делается путем установки загрузочного раздела в файле default.colinux.xml, в моем случае он указывал на /dev/hda8
<bootparams>root=/dev/hda8 COLINUX=1< /bootparams>
- Теперь должна быть возможность запустить Ubuntu, выбрав его в меню двойной загрузки (grub) при загрузке компьютера или запустив XP и запустив coLinux. Обратите внимание, что при работе внутри coLinux ядро Ubuntu фактически не используется, а используется ядро coLinux. Это важно подумать, например, если вам нужно перекомпилировать ядра и модули ядра.
Наконец, не делайте ту же ошибку, что и я. Как описано в этой теме, я перевел XP / coLinux в спящий режим в режиме гибернации, а затем загрузил его в Ubuntu. Моя файловая система Ubuntu была повреждена при следующей загрузке XP, и я решил сделать полную переустановку Ubuntu.