Como encadear o GRUB2 para Ubuntu 10.04 do Truecrypt e seu gerenciador de inicialização (inicialização múltipla ao lado da partição do Windows XP)?

9

Quero que o Truecrypt solicite a senha do Windows XP como de costume, mas com a opção [ESC] padrão, ao selecionar essa opção, ou seja, através da tecla Escape, quero que encontre o grub para a instalação do Ubuntu (não criptografada).

Instalei o Windows XP no disco rígido de 120Gb de um netbook Toshiba NB100 e particionei para liberar espaço para o Ubuntu 10.04 e o instalei após a instalação do Windows XP.

Quando criptografar o Windows XP, o Truecrypt substituirá a entrada grub no registro mestre de inicialização (MBR), acredito (?) E não poderei mais escolher entre o XP e o Ubuntu. Então, eu preciso restaurá-lo de volta.

Eu procurei bastante extensivamente por respostas em fóruns do Ubuntu e em outros lugares, mas ainda não encontrei uma resposta completa que cubra todas as eventualidades, cenários e mensagens de erro, ou eles falam do GRUB legado e não do GRUB2. O Ubuntu 10.04 usa o GRUB2.

Minha configuração:

Partições:

  1. Windows XP, NTFS (a ser criptografado com o Truecrypt), 40Gb
  2. / boot (Ext4, 1 GB)
  3. Troca do Ubuntu, 4Gb
  4. Ubuntu / (root) - sistema de arquivos principal (20gb)
  5. Partilha NTFS, 55Gb

Eu sei que o carregador de inicialização Truecrypt substitui o GRUB ao inicializar, porque eu já tentei em outro laptop.

Quero que a tela do carregador de inicialização pareça com o habitual:

Truecrypt

Digite a senha:

(ou [ESC] para pular)

senha é para WindowsXP e pressione [ESC] para encontrar o grub do Ubuntu para inicializar a partir de

Agradeço antecipadamente por sua ajuda.

A principal área do problema é como instruir o Truecrypt quando a tecla Escape é pressionada e como o Grub / Ubuntu pode ser tornado visível para o gerenciador de inicialização truecrypt para encontrá-lo, quando a tecla esc é pressionada. Também sabendo como encadeamento.

therobyouknow
fonte

Respostas:

6

Isso é bem fácil. Particione seu disco, instale o Windows e o Ubuntu. Use TrueCrypt na partição do Windows, que criptografará o Windows, mas deixará o Ubuntu não criptografado.

Você descobrirá que provavelmente só pode inicializar no Windows e, por meio do carregador de inicialização TrueCrypt. Parece que você já está lá.

Digamos que seu disco esteja sdacom o Windows sda1ativado e o Linux ativado sda2(isso é hipotético, o seu parece que não será sda2). O TrueCrypt será instalado no MBR sdae substituirá o GRUB.

Use o CD de distribuição do Ubuntu para inicializar um CD ao vivo e, em seguida, faça um chroot no seu sistema pré-instalado. Igual a:

sudo su -
mkdir -p /mnt/ubuntu
mount /dev/sda2 /mnt/ubuntu
mount --bind /proc /mnt/ubuntu/proc
mount --bind /dev /mnt/ubuntu/dev
chroot /mnt/ubuntu

Em seguida, instale o carregador de inicialização GRUB, mas para sda2, em vez de sda.

grub-install /dev/sda2 --force

Então, quando você reiniciar, você ainda receberá o carregador TrueCrypt solicitando uma senha para inicializar de sda-> sda1no Windows. Mas quando você pressiona ESCAPE, terá a opção de ignorar e inicializar diretamente no Linux, mas a partir sda2do MBR.

Mas espere

Antes de fazer isso, uma ressalva: se você grub-installerrar e sobrescrever o sdaMBR, ou se fizer uma atualização do kernel que aciona o GRUB para sobrescrever o MBR, será necessário reinstalar o gerenciador de inicialização TrueCrypt para voltar no Windows. Este é um grande aborrecimento se você não estiver preparado.

Eu sugiro que, antes de mexer no GRUB, você faça o backup do material do carregador de inicialização TrueCrypt no Linux. Dessa forma, quando você quebra o TrueCrypt e só pode entrar no Linux, pode escrevê-lo facilmente novamente.

Faça backup do seu carregador de inicialização TrueCrypt:

dd if=/dev/sda of=~/truecrypt.mbr count=1 bs=512
dd if=/dev/sda of=~/truecrypt.backup count=8 bs=32256 # Just in case

Restaure o seu carregador de inicialização TrueCrypt (eu chamo isso restore-truecrypt.sh):

sudo dd if=~/truecrypt.mbr of=/dev/sda count=1 bs=512
sudo dd if=~/truecrypt.backup of=/dev/sda count=8 bs=32256
sudo grub-install /dev/sda2 --force

Eu tenho esses dois conjuntos de comandos em pequenos scripts de shell, que eu mantenho à mão. Quando eu zap acidentalmente no meu carregador de inicialização (acontece), não quero pesquisar no Google os comandos ou a leitura man.

Ah, e uma palavra sobre compatibilidade. Quando eu escrevo "GRUB", quis dizer GRUB 1 ou 2. Pessoalmente, faço isso com o GRUB 2 no 10.04 e no Windows 7 ... mas funcionou bem com versões mais antigas do GRUB, Windows e Linux.

Aidan Fitzpatrick
fonte
Muito obrigado @fitzpatrick por esta resposta. Vou dar uma olhada quando tiver mais tempo. Eu me empolguei brincando comigo tentando fazê-lo funcionar, então eu certamente sua direção precisa :) Vou lhe informar, aqui, quais são minhas descobertas.
Therobyouknow
o que exatamente é "dd se = / dev / sda de = ~ / truecrypt.backup count = 8 bs = 32256" fazendo backup? Cabeçalhos de TC? obrigado!
9788 stefan.at.wpf
além disso, o sda2 é a partição / boot?
9789 stefan.at.wpf
ok sda2 é a parittion raiz, droga, meu está crypted ...
stefan.at.wpf
O ddcomando está copiando os primeiros 32Kb do disco: basicamente o setor de inicialização completa. No exemplo que eu dei acima, não há partição de inicialização separada, a instalação do nix está em uma única partição. Nos primeiros dias do RedHat, eu costumava trabalhar com partições separadas em desktops Linux. Hoje em dia, com grandes discos, acho que você pode salvar esse obstáculo para seus servidores na maioria dos casos!
Aidan Fitzpatrick
2

A resposta que vou aceitar para esta pergunta é minha. E essa resposta é aceitar que não posso * fazer isso e aceitarei uma das alternativas:

  1. Use um aplicativo de virtualização / VMware em execução no Windows XP (a partição da unidade do sistema criptografada) hospedando o Ubuntu, como VirtualBox, VMWare ou Parallels. Então, eu teria que inicializar no Windows, executar este aplicativo e inicializar no Ubuntu a partir disso. Alguns comentaristas listam uma das desvantagens dessa abordagem como sendo que você precisa inicializar duas vezes (primeiro XP, depois Ubuntu) para acessar o Ubuntu. No entanto, eu diria que ele realmente tem uma vantagem sobre as botas duplas iniciadas pelo BIOS, na medida em que você realmente tem os dois SOs executando ao mesmo tempo. Ótimo se você quiser, por exemplo, testar aplicativos ou páginas da Web rapidamente em várias plataformas.

  2. Use um disco rígido secundário ou cartão SD (por exemplo, 8 gb, 16 Gb) para o Ubuntu e selecione na inicialização do BIOS (uma vez) para inicializar o Ubuntu a partir disso.

* Não é possível = realmente significa que gastei tempo suficiente (cerca de 6 horas em 3 dias, indo embora, lembrei-me, pesquisando nos fóruns voltando atualizados) sobre isso e não estou preparado para gastar mais. Portanto, não posso ser acusado de ser preguiçoso e confiar nos outros. Não pode = também significa: não pode no momento . Eu posso revisitar isso novamente.

Aqui estão algumas referências que outras pessoas podem achar úteis:

Todas as opções acima oferecem algumas dicas, mas não uma resposta definitiva e completa que abrange todas as eventualidades ou versões do grub.

Eu postei essa mesma pergunta aqui no superusuário, nos fóruns ubuntuforums e truecrypt:

Minha justificativa para fazer isso é que os leitores desses fóruns não necessariamente lerão outros fóruns, haverá alguma sobreposição, mas alguns conselhos vitais podem ser perdidos.

Pensamentos e aprendizados de fundo (se estiver interessado!)

Na verdade, estou muito satisfeito em dizer que encerrei o dia e cheguei às alternativas, embora eu tenha deixado isso melhorar de mim e continuei lutando para vencer e resolver minha resposta. Mas é um alívio aceitar que isso não pode ser feito (facilmente) e que existem alternativas. Agora eu posso continuar com coisas mais importantes! Eu já inicializei o Windows 7 e o Ubuntu 10.04 em uma área de trabalho sem criptografia - esse é um procedimento bastante simples. E com as alternativas não estou muito longe do que queria na minha resposta original. Na verdade, eu não uso o Ubuntu em um notebook tanto quanto o Windows no momento, então não vou sentir tanta falta dele. Eu também tenho um MacBookPro, por isso não sou mais fã do Windows do que qualquer outro sistema operacional!

Aqui está uma razão pela qual eu gostaria que as janelas criptografadas com criptografia dupla fossem inicializadas com o Ubuntu, da perspectiva de outro usuário:

http://blog.mfabrik.com/2008/07/15/perfect-dual-boot-crypted-hard-disk-setup-with-truecrypt-and-luks/

"Eu tenho um laptop de trabalho usado no Symbian e no desenvolvimento da web. Preciso inicializar o Vista e o Linux. Devido à privacidade do cliente, ambos os sistemas operacionais devem ser criptografados para o caso de laptop perdido. Mesmo se eu não usar o Windows ativamente, os dados do navegador da web podem conter uma senha armazenada para os sistemas clientes e seria catastrófico vazá-los acidentalmente ".

O Grub2 é muito mais complexo que o grub, alguns podem argumentar necessariamente que sim. Tive sucesso com o Ubuntu pré-10.04 (GRUB não GRUB2) com o Windows XP:

http://www.howtoforge.com/forums/showthread.php?p=184776#post184776

Eu digo mais complexo, porque agora existem mais arquivos de configurações, espalhados por mais diretórios com referências entre eles, alguns são gerados automaticamente e recomenda-se a edição deles, por exemplo, menu de inicialização, existe uma espécie de linguagem de script para aprender e intérpretes de script para executar quando uma alteração é feita. No momento, está muito envolvido para mim e é apenas para lançar um sistema operacional, não um foguete para a lua!

therobyouknow
fonte
Uma opção que ainda não considerei é usar a imagem CD / .ISO do Ubuntu Alternate - faça o download aqui: releases.ubuntu.com/lucid Se você procurar no fórum do Ubuntu (link acima), onde publiquei uma cópia da pergunta, você verá uma postagem do entrevistado que menciona isso. O ponto principal é que ele oferece uma escolha de onde colocar o GRUB (e o faria oficialmente e corretamente, em vez de adivinhar manualmente como eu fiz) e o pôster afirma que eles alcançaram o Ubuntu criptografado e o Windows com criptografia criptografada na mesma máquina - qual era o meu objetivo.
Therobyouknow
1

Eu acho que resolvi isso muito bem. Minha situação original era a seguinte: Eu tinha um netbook não criptografado (MSI U160) com uma partição do Windows 7 e uma partição Ubuntu 10.10 (o grub2 do Ubuntu no MBR).

  1. Para instalar o Truecrypt, tive que reinstalar o Windows 7 em sua partição original.
  2. Então eu instalei o truecrypt (criptografando toda a partição do windows 7)
  3. Usando estas instruções, reinstalei o Ubuntu a partir de uma chave USB, colocando o carregador grub2 na partição Ubuntu
  4. Após a reinicialização, recebo o carregador de inicialização TrueCrypt. Apertei [ESC] e recebo uma lista de partições que podem ser embarcadas, incluindo a do Linux (também mostra a partição do Windows, mas como é criptografada, a inicialização falhará).

Espero que seja isso que você também queira.

Huhu Lesny
fonte
1

Passei os últimos dois dias lutando contra isso e não consegui obter nenhuma dessas respostas para trabalhar para mim. O que finalmente comecei a trabalhar, documentei no meu blog . Aqui está a versão resumida (feita com o Debian wheezy; também deve funcionar para o Ubuntu. Outras distribuições podem precisar de pequenas modificações):

Essencialmente, você carrega o GRUB2 em cadeia para carregar o SYSLINUX, que por sua vez inicializa a imagem ISO do TrueCrypt Rescue, que permite inicializar no Linux.

  1. Instale o syslinux:

    sudo aptitude install syslinux
    
  2. Copie os arquivos no local:

    sudo cp /usr/lib/syslinux/memdisk /boot/
    sudo cp TrueCrypt\ Rescue\ Disk.iso /boot/truecrypt-rescue-disk.iso
    
  3. Determine o UUID da sua partição de inicialização:

    sudo blkid /dev/sda2
    

    A saída deve ser algo como isto:

    / dev / sda3: UUID = "12345678-1234-1234-1234567890"

  4. Configure o GRUB2:

    Adicione o seguinte a /etc/grub.d/40_custom:

    menuentry "TrueCrypt ISO boot" {
        insmod part_msdos
        insmod fat
        insmod ext2
        insmod search_fs_uuid
        search --fs-uuid --no-floppy --set=boot [UUID without quotes]
        linux16 ($boot)/memdisk iso raw
        initrd16 ($boot)/truecrypt-rescue-disk.iso
    }
    
  5. Recarregar a configuração do GRUB2

    sudo update-grub
    

Observe que isso mostrará as opções de reparo [F8] toda vez que você inicializar no Windows, pois estamos enganando o sistema inicializando a imagem do CD do TrueCrypt Rescue a partir do disco rígido, em vez do método de inicialização "normal" do TrueCrypt. Mas parece uma pequena desvantagem para mim (e pode até ser considerado um recurso adicional!)

Flimzy
fonte
+1 em votação por seus esforços bem-sucedidos, ótimo trabalho @Flimzy Em algum momento, gostaria de tentar sua resposta e informar o relatório. Se puder repetir seu sucesso, gostaria de fazer sua resposta aceita (talvez seja o mais breve possível) Não tenho uma máquina disponível para experimentar, todas elas estão sendo usadas para outras coisas no momento). Obrigado novamente!
Therobyouknow 29/04
-1

solução: talvez copie o gerenciador de inicialização truecrypt para um arquivo IMG para ser inicializado pelo grub? ou talvez use o Grub4Dos para carregar o Ubuntu?

huan keur
fonte