Índice:
- Terminologia
- Convertendo
- Configurando (+ inicialização dupla)
Terminologia
BIOS = Sistema Básico de Entrada / Saída
(U) EFI = (unificada) Interface de firmware extensível
MBR = registro mestre de inicialização
GPT = tabela de partições GUID
UEFI / EFI / BIOS = interface de firmware
MBR / GPT = Como o computador sabe (por disco rígido) quais partições estão no dirigir e como inicializar a partir deles.
UEFI / BIOS
Uma interface de firmware é a maneira como o firmware (o software dentro dispositivos) e sistema operacional interagem. Ele inicializa o hardware e 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 que foi usada. O UEFI é uma interface mais nova que possui vários recursos, como ser mais rápida, ter uma GUI e ser capaz de iniciar a placa de rede e obter um endereço IP. UEFI substitui EFI. (Aqueles que desenvolveram a EFI viram que havia outros fazendo algo semelhante e assim se juntou a eles, trazendo as idéias da EFI com eles. Isso então se tornou UEFI).
Um BIOS requer que o bootloader 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 uma inicialização loader (para o BIOS), bem como o mapa de partições 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 carregue o restante do GRUB de outra parte do disco. (Isso é feito porque o 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 normalmente existe.
O GPT é um padrão de como os partitons são especificados. Ele tem um 'protetor' MBR, no entanto, isso é apenas para permitir que computadores baseados em BIOS inicializem e parem ferramentas que só sabem sobre o MBR de tentar eliminar o GPT. Pode ter
(Como o GPT é tratado depende se ele está inicializando usando um BIOS (ou sistema UEFI) no modo de emulação do BIOS) ou UEFI. Vou me concentrar na UEFI no que se refere à questão).
Carregadores de inicialização para sistemas operacionais são armazenados em uma seção chamada Sistema EFI Partiton, que é formatado (geralmente) com FAT32. É aqui que o GRUB é instalado.
Convertendo
Primeiro ...
Estamos brincando com a tabela de partições, portanto a 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 live CD (ou outra instalação do Linux instalada para um disco diferente.)
Quando lidamos com discos GPT, precisamos usar um programa de reconhecimento de GPT. 'GPD 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
). Parted (e Gparted)
também está ciente do GPT, portanto, pode ser usado "com segurança" com discos 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 o GRUB na partição do sistema EFI.
1) Redimensionar partição
Use parted
(linha de comando) ou gparted
(GUI) para redimensionar o primeiro e o último
partição. A primeira partion deve ter cerca de 200 MiB antes, e a última
partição deve ter 1MiB para 2MiB (ou vai fazer) retirado do final.
2) Converta o disco
Executar
gdisk /dev/sdx
alterar o dispositivo que você deseja converter é /dev/sdx
.
Deve dizer-lhe que irá 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". Deve encontrar o livre espaço no começo (eu sugiro algum baixo número de setor como 34) e use automaticamente todo o espaço livre. Os exemplos usam uma unidade flash USB de 4 GB com 1 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
Em seguida, saia em 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 o Gparted (ou a linha de comando mkfs.vfat
) para formatar a partição como FAT32.
3) Instalar o GRUB
Isso vem com menos garantias de que a parte anterior, como eu não tentei por mim mesmo.
Não tenho certeza sobre essa etapa, então adivinharei o uso das instruções da RAOF :
Para mudar para o grub-efi, você deseja
- Encontre sua partição EFI; monte-o em / boot / efi.Adicione isto ao / etc / fstab¹
- Instale o pacote grub-efi
- Mude a 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 deve ser instalada com
ioreg -l -p IODeviceTree | grep firmware-abi
Se ele diz que EFI32
instala o pacote grub-efi-ia32
, se ele diz EFI64
instale o pacote grub-efi-amd64
. Você pode instalar os pacotes com
sudo apt-get install <package name>
Isso provavelmente só funcionará se você tiver inicializado no modo EFI.
Se isso não funcionar, você pode tentar estas instruções passo a passo
(em "Instalar o GRUB2 em sistemas (U) EFI") uma vez que grub-efi
esteja instalado.
Configurando (+ inicialização dupla)
Se as instruções do RAOK funcionarem, você deve poder adicionar a seguinte linha
/etc/grub.d/40_custom
menuentry "Windows 7" {
set root='(hd0,gpt1)'
chainloader /EFI/microsoft/bootmgfw.efi
}
Ele pressupõe que o Windows seja reconhecido como hd0
pelo GRUB. Pode ser necessário alterar
para hd1
para trabalhar.
Agora corra
update-grub
para atualizar o arquivo de configuração.
Referências e leituras adicionais
Eu usei várias fontes.
- " tutorial do fdisk da GPT do Rod Smith." Bom para mais informações.
- páginas da Wikipedia para UEFI , BIOS , MBR e GPT .
- página de inicialização da UEFI do sobre a página da UEFI.