Você pode usar o coLinux e rodar o seu kernel do Ubuntu com o colinux:
-
Eu instalei o Ubuntu normalmente em uma partição separada e configurei o computador para dualboot entre o Ubuntu / XP.
-
Eu instalei o coLinux com o Debian com imagem de backports que está disponível no site do coLinux.
-
Configurado o coLinux para que pudesse montar a partição do Ubuntu, o truque aqui é descobrir o número correto da partição. O número da partição no coLinux parece ser menor que o número da partição usado ao inicializar o computador com o Ubuntu. No meu caso eu tive que configurar:
<block_device index="1" path="\Device\Harddisk0\Partition5" enabled="true" alias="hda7"/>
-
Inicialize o coLinux com a imagem do Debian com backports e após o boot monte a partição do ubuntu no meu caso
/dev/hda7
-
Para tornar possível a inicialização do ubuntu dentro do coLinux, você precisa ativar alguns serviços iniciados automaticamente na inicialização, a maioria deles relacionados ao hardware de alguma forma e não é suportada no coLinux. Você ainda deseja executar esses serviços quando não estiver executando o Ubuntu dentro do Colinux. Eu fiz isso primeiro criando um script /etc/inid.d/colinux de acordo com o link
É claro que este script deve ser criado no diretório/etc/init.d
na partição ubuntu e não na imagem "debian with backports". Quando esse script tiver sido criado, você também precisará editar o arquivodefault.colinux.xml
para que ele contenha um parâmetro de inicializaçãoCOLINUX=1
, no meu caso:<bootparams>root=/dev/hda8 COLINUX=1</bootparams>
Este script agora torna possível transformar alguns serviços iniciados automaticamente ao iniciar dentro do coLinux, mas ainda executar esses serviços ao iniciar o computador com o Ubuntu. Você também deve certificar-se de executar este script no momento da inicialização, inserindo links no diretório
/etc/rcS.d
. -
O próximo passo é transformar os serviços inserindo instruções if dentro dos scripts de serviço em
/etc/init.d
(na partição ubuntu).if [ -f /var/local/colinux ] ; then exit 0 fi
Eu tive que desligar os serviços a seguir ao inicializar dentro do coLinux para fazê-lo inicializar, o coLinux travou durante a inicialização quando qualquer um desses serviços estava em execução:/etc/init.d/gdm /etc/init.d/powernowd /etc/init.d/hotkey-setup /etc/init.d/pcmcia /etc/init.d/vbesave
-
Crie colinux personalizado versons de alguns outros arquivos, o script colinux no init.d mencionado acima torna possível ter uma versão colinux e uma versão não-colinux de alguns arquivos diferentes. No meu caso, eu tenho versões especiais dos seguintes arquivos:
/etc/fstab
(o coLinux monta as partições ntfs usando o smbfs ao invés da montagem somente leitura do ntfs)/etc/network/interfaces
(eu não obtive o colinux para trabalhar usando o DHCP, por isso tem números IP codificados em vez disso)/etc/gdm/gdm.conf
(não tenho certeza se isso é usado, já que o gdm não pode ser iniciado na inicialização, mas eu tenho uma versão especial para coLinux com todos os servidores) Pode ser usado ao usar vnc, mas não tenho certeza se é necessário)
É importante lembrar-se de editar o arquivo correto ao configurar esses arquivos dessa maneira, porque os arquivos normais serão sobrescritos com as versões * -colinux ou * -non-colinux a cada inicialização. Pode ser possível configurar links simbólicos em vez de sobrescrever os arquivos, mas eu não testei isso. -
Finalmente, você terá que configurar o coLinux para que ele inicialize usando a partição Ubuntu em vez da imagem "debian with backports", isso é feito definindo uma partição de inicialização no arquivo default.colinux.xml, no meu caso apontou para
/dev/hda8
e<bootparams>root=/dev/hda8 COLINUX=1< /bootparams>
- Agora deve ser possível iniciar o Ubuntu selecionando-o no menu dualboot (grub) ao inicializar o computador ou iniciando o XP e o coLinux de inicialização. Observe que, quando rodando dentro do coLinux, o kernel do Ubuntu na verdade não é usado, ao invés disso, o kernel coLinux é usado. Isso é importante para pensar, por exemplo, se você precisar recompilar os kernels e módulos do kernel.
Finalmente, não faça o mesmo erro que eu fiz. Conforme descrito neste tópico, coloquei o XP / coLinux no modo de hibernação e, em seguida, iniciei o dual no Ubuntu. Meu sistema de arquivos do Ubuntu foi corrompido na próxima inicialização do XP e eu decidi fazer uma reinstalação total do Ubuntu.