The problem is I have no idea how to install another, independent
GRUB2
Instalar um GRUB2 independente é direto ( para que ele aponte para o Kernel Linux / Ubuntu atual, veja minha pergunta ).
Faça backups suficientes (dd é seu amigo) antes de começar!
[Eu quero que este post seja simples e fácil, então todos que não estão familiarizados com a configuração do GRUB podem usá-lo para instalar um GRUB independente. Se alguém tiver sugestões sobre como melhorar este post, por favor me avise.]
Crie uma partição de inicialização separada onde você instalará o GRUB2 e nada mais. Ele não será montado em nenhum sistema operacional instalado, ele é usado apenas para selecionar o primeiro sistema.
Eventualmente você pode ter que fazer alguns rearranjos (mover partições para criar espaço ou até mesmo destruí-las e recriá-las em ordem diferente). Eu gosto de ter a minha partição GRUB para ser a primeira partição no disco (ou o segundo, após a partição do BIOS se estiver usando o GPT), 50 MB de tamanho (pode ser 5, mas os HDDs são grandes). Instale todos os sistemas operacionais primeiro, porque eles sobrescreverão o MBR. NÃO use / dev / sda1 em nenhum sistema operacional.
Inicialize alguns sistemas ao vivo que vêm com as ferramentas do GRUB2. Eu recomendo o Parted Magic (que você também pode usar para todo o seu particionamento).
- Cuidado para não digitar sda2 em vez de sda1 ou algo assim. Você pode facilmente limpar seu disco rígido com um erro de digitação (é claro que você tem um backup completo, então nada será perdido).
- Formate / dev / sda1 com ext2.
mkfs.ext2 /dev/sda1
- Monte a partição do GRUB e instale o GRUB2:
cd /mnt
mkdir sda1
mount /dev/sda1 sda1
grub-install --boot-directory=/mnt/sda1 /dev/sda
- "A instalação foi concluída, nenhum erro foi reportado."
cd sda2
ls
- "grub / lost + found /"
- Crie uma nova configuração de menu manualmente (também é possível fazer com que o GRUB gere uma).
vi grub/grub.cfg
menuentry "Windows 7 (loader)" --class windows --class os {
insmod part_msdos
insmod ntfs
set root='(hd0,msdos2)'
chainloader +1
}
menuentry 'Debian (or Ubuntu)' {
insmod part_msdos
insmod ext2
set root='(hd0,msdos3)'
echo 'Loading Linux...'
linux /boot/vmlinuz root=/dev/sda6 ro quiet <- current vmlinuz file name
echo 'Loading initial ramdisk...'
initrd /boot/initrd.img <- current initrd.img file name
}
menuentry 'Fedora (just another example)' {
insmod part_gpt
insmod ext2
set root='(hd0,msdos3)'
echo 'Loading Linux...'
linux /boot/vmlinuz-3.7.3-101.fc17.x86_64 root=UUID=[UUID of /dev/sda3] ro rd.md=0 rd.lvm=0 rd.dm=0 SYSFONT=True KEYTABLE=us rd.luks=0 LANG=en_US.UTF-8
echo 'Loading initial ramdisk...'
initrd /boot/initramfs-3.7.3-101.fc17.x86_64.img
}
- Eu tentei isso com o Parted Magic 11.11.11 (número da versão da sorte), as ferramentas do GRUB lá criaram apenas o diretório "grub" em / dev / sda1. Uma versão diferente pode criar um diretório "grub2". De qualquer maneira, você coloca seu arquivo de configuração do GRUB2 lá (o GRUB2 se parece com um script Shell, no GRUB1, era um simples menu.lst, mas está de volta).
- Substitua "[UUID de / dev / sda3]" pelo que é ls -l / dev / disk / by-uuid | grep sda3 diz a você.
- Substitua "/ boot / vmlinuz" pelo nome real do arquivo (em / dev / sda3, sua partição Linux).
- Substitua "/boot/initrd.img" da mesma maneira.
- Desmontar e reinicializar. Seu computador inicializará um GRUB2 simples, listando as entradas que você especificou ("Windows 7 (loader)", "Debian (ou Ubuntu)"). Se você fez certo, poderá inicializar o Windows e o Linux diretamente a partir desse GRUB independente .
- Novamente, a entrada do Linux aponta para uma versão específica do Kernel. Ele teria que ser atualizado manualmente (mount / dev / sda1 e modify grub / grub.cfg), o que é uma grande desvantagem. Novamente, veja minha outra pergunta sobre como configurar o GRUB para isso.
(lol, o superusuário removeu todas as instâncias da palavra "have")