Índice:
- Terminologia
- Convertendo
- Configurando (+ Inicialização dupla)
Terminologia
BIOS = Sistema básico de entrada / saída
(U) EFI = Interface de firmware extensível (unificada)
MBR = Registro mestre de inicialização
Tabela de partição GPT = GUID
UEFI / EFI / BIOS = Interface de Firmware
MBR / GPT = Como o computador sabe (por disco rígido) quais partições estão na unidade e como inicializá-las.
UEFI / BIOS
Uma interface de firmware é a maneira como o firmware (o software dentro dos dispositivos) e o sistema operacional interagem. Inicializa o hardware, executa o sistema operacional e garante que os drivers do sistema operacional possam operar o hardware.
O BIOS tem sido a interface de firmware usual usada. O UEFI é uma interface mais nova que possui vários recursos, como ser mais rápido, ter uma GUI e poder iniciar a placa de rede e obter um endereço IP. UEFI substitui EFI. (Aqueles que desenvolviam a EFI viram que havia outras pessoas fazendo algo semelhante e, assim, juntaram-se a elas, trazendo as idéias da EFI com elas. Isso se tornou a UEFI).
Um BIOS exige que o carregador de inicialização esteja no início do disco, no entanto, um UEFI usa uma partição para isso e pode escolher entre vários carregadores de inicialização para usar.
MBR / GPT + GRUB
O MBR é uma seção de código no início do disco que contém um carregador de inicialização (para o BIOS), além do mapa da partição e um identificador de disco exclusivo.
Para instalar o GRUB em um disco com um MBR, o GRUB coloca um pequeno programa no MBR para carregar o restante do GRUB de outra parte do disco. (Isso é feito porque o MBR é muito pequeno para conter todo o GRUB). O espaço escolhido é o espaço entre o MBR e a primeira partição, que geralmente existe.
GPT é um padrão para como as partições são especificadas. Ele possui um MBR 'protetor', no entanto, isso é apenas para permitir que computadores baseados no BIOS inicializem e parem ferramentas que apenas conhecem o MBR de tentarem lixeira na GPT. Pode ter
(O modo como o GPT é tratado depende se está inicializando usando um BIOS (ou sistema UEFI no modo de emulação de BIOS) ou UEFI. Vou me concentrar no UEFI no que se refere à questão).
Os carregadores de inicialização para sistemas operacionais são armazenados em uma seção chamada EFI System Partiton, que é formatada (geralmente) com FAT32. É aqui que o GRUB está instalado.
Convertendo
Primeiro...
Estamos brincando com a tabela de partições, portanto, segurança garantida não é possível. É uma operação arriscada. No entanto, o método não deve perder dados.
Outros que se deparam com isso: Não use em Apple Macs.
Agora...
Você precisará fazer isso em um CD ao vivo (ou em outra instalação do linux instalada em um disco diferente.)
Ao lidar com discos GPT, precisamos usar um programa compatível com GPT. 'GPT fdisk' é uma boa ferramenta para usar e o que vou usar. Pode ser chamado gptfdisk
ou
gdisk
dependendo da distribuição (o Ubuntu chama gdisk
). O Parted (e o Gparted) também reconhece a GPT, portanto, pode 'ser usado com segurança' com discos da GPT.
Para converter você precisa:
- Redimensione as partições para ajustar os dados da GPT e a partição do sistema EFI.
- Converta o disco e adicione partições
- Instale a partição do sistema GRUB para EFI.
1) Redimensionar partição
Use parted
(linha de comando) ou gparted
(GUI) para redimensionar a primeira e a última partição. A primeira partição deve ter cerca de 200MiB antes e a última partição deve ter 1MiB a 2MiB (qualquer um servirá) retirado do final.
2) Converta o disco
Corre
gdisk /dev/sdx
alterar o dispositivo que você deseja converter é /dev/sdx
.
Ele deve informar que ele converterá a tabela de partições.
GPT fdisk (gdisk) version 0.6.14
Partition table scan:
MBR: MBR only
BSD: not present
APM: not present
GPT: not present
***************************************************************
Found invalid GPT and valid MBR; converting MBR to GPT format.
THIS OPERATION IS POTENTIALLY DESTRUCTIVE! Exit by typing 'q' if
you don't want to convert your MBR partitions to GPT format!
***************************************************************
Command (? for help):
Agora adicione uma nova partição, tornando-a do tipo 'sistema EFI'. Ele deve encontrar o espaço livre no início (sugiro um número baixo de setor como 34) e usar automaticamente todo o espaço livre. Os exemplos usam uma unidade flash USB de 4 GB com uma partição já existente, redimensionada conforme acima.
Command (? for help): n
Partition number (2-128, default 2): 2
First sector (34-7831518, default = 34) or {+-}size{KMGTP}:
Information: Moved requested sector from 34 to 2048 in
order to align on 2048-sector boundaries.
Use 'l' on the experts' menu to adjust alignment
Last sector (2048-421887, default = 421887) or {+-}size{KMGTP}:
Current type is 'Linux/Windows data'
Hex code or GUID (L to show codes, Enter = 0700): L
0700 Linux/Windows data 0c01 Microsoft reserved 2700 Windows RE
4200 Windows LDM data 4201 Windows LDM metadata 7501 IBM GPFS
7f00 ChromeOS kernel 7f01 ChromeOS root 7f02 ChromeOS reserved
8200 Linux swap 8301 Linux reserved 8e00 Linux LVM
a500 FreeBSD disklabel a501 FreeBSD boot a502 FreeBSD swap
a503 FreeBSD UFS a504 FreeBSD ZFS a505 FreeBSD Vinum/RAID
a800 Apple UFS a901 NetBSD swap a902 NetBSD FFS
a903 NetBSD LFS a904 NetBSD concatenated a905 NetBSD encrypted
a906 NetBSD RAID ab00 Apple boot af00 Apple HFS/HFS+
af01 Apple RAID af02 Apple RAID offline af03 Apple label
af04 AppleTV recovery be00 Solaris boot bf00 Solaris root
bf01 Solaris /usr & Mac Z bf02 Solaris swap bf03 Solaris backup
bf04 Solaris /var bf05 Solaris /home bf06 Solaris alternate se
bf07 Solaris Reserved 1 bf08 Solaris Reserved 2 bf09 Solaris Reserved 3
bf0a Solaris Reserved 4 bf0b Solaris Reserved 5 c001 HP-UX data
c002 HP-UX service ef00 EFI System ef01 MBR partition scheme
ef02 BIOS boot partition fd00 Linux RAID
Hex code or GUID (L to show codes, Enter = 0700): ef00
Changed type of partition to 'EFI System'
Agora você deve ter a partição EFI.
Command (? for help): p
Disk /dev/sdd: 7831552 sectors, 3.7 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 669247F2-37F7-4797-98F9-9CE56F7EA8C8
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 7831518
Partitions will be aligned on 2048-sector boundaries
Total free space is 4029 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 421888 7829503 3.5 GiB 0700 Linux/Windows data
2 2048 421887 205.0 MiB EF00 EFI System
Então saia gdisk
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed, possibly destroying your data? (Y/N): y
OK; writing new GUID partition table (GPT).
The operation has completed successfully.
Agora use Gparted (ou linha de comando mkfs.vfat
) para formatar a partição como FAT32.
3) Instale o GRUB
Isso vem com menos garantias de que a parte anterior, como eu ainda não tentei.
Não tenho certeza sobre esta etapa, portanto, acho que usando as instruções do RAOF :
Para mudar para o grub-efi, você deseja
- Encontre sua partição EFI; monte-o em / boot / efi. Adicione isso ao / etc / fstab¹
- Instale o pacote grub-efi
- Alterne sua prioridade de inicialização do BIOS de UEFI e Legacy para somente UEFI (ou uma opção semelhante)
Você deve descobrir qual versão do grub-efi instalar com
ioreg -l -p IODeviceTree | grep firmware-abi
Se ele diz EFI32
instalar o grub-efi-ia32
pacote, se ele diz EFI64
instalar o grub-efi-amd64
pacote. Você pode instalar os pacotes com
sudo apt-get install <package name>
Provavelmente, isso só funcionará se você inicializou no modo EFI.
Se não funcionar, você pode tentar estas instruções passo a passo (em "Instalar o GRUB2 em sistemas (U) EFI") depois de grub-efi
instalado.
Configurando (+ Dual Boot)
Se as instruções do RAOK funcionarem, você poderá adicionar a seguinte linha ao
/etc/grub.d/40_custom
menuentry "Windows 7" {
set root='(hd0,gpt1)'
chainloader /EFI/microsoft/bootmgfw.efi
}
Parte do princípio que o Windows é reconhecido hd0
pelo GRUB. Pode ser necessário mudar para hd1
para funcionar.
Agora corra
update-grub
para atualizar o arquivo de configuração.
Referências e leituras adicionais
Eu usei várias fontes.