Intel Mac não pode ter mais de 4 partições?

6

Eu li em todos os lugares que você não pode ter mais de 4 partições por causa do GPT em Macs intel. Mas o que acontece se você fizer mais de 4? No meu iMac eu tenho EFI, Macintosh HD, Windows, Linux e Linux swap de partições e sou capaz de inicializar de todos os três sistemas operacionais com rEFIt. Então, eu tenho 5 partições, então porque funciona? Eu fiz as partições com o Disk Utility do Snow Leopard, a propósito.

    
por mk12 05.07.2010 / 19:04

5 respostas

17

Os Macs baseados em Intel usam a Tabela de Partição GUID (GPT) por padrão. A GPT, por sua vez, suporta até 128 partições por padrão (esse valor pode ser aumentado, se necessário, embora a maioria das ferramentas de partição não permita isso). Portanto, não há problema em ter mais de quatro partições em um Mac baseado em Intel.

A limitação que você ouviu falar é uma distorção da limitação nos MBRs híbridos, que são uma hibridização perigosa e que viola os padrões da GPT com o antigo sistema de particionamento Master Boot Record (MBR) usado na maioria dos PCs. Em um MBR híbrido, até três das partições da GPT são duplicadas em uma estrutura de dados MBR. O MBR é limitado a quatro partições primárias e, em um MBR híbrido, a quarta partição primária é ocupada por uma partição especial que identifica o disco como sendo um disco GPT. Esta quarta partição é frequentemente confundida com uma duplicata do lado do MBR da partição do sistema EFI (ESP) presente na maioria dos discos GPT, mas não é isso.

A Apple usa MBRs híbridos para habilitar o Windows para inicialização dupla com o OS X em Macs. O Windows favorece as estruturas de dados do MBR, portanto, ele vê o disco como sendo um disco MBR, enquanto o OS X favorece as estruturas de dados do GPT, portanto, ele vê o disco como sendo um disco GPT. (O Linux, como o OS X, vê um MBR híbrido como um disco GPT.) Um MBR híbrido não limita o número de partições GPT que você pode ter, mas limita o número de partições que a instalação do Windows pode ver, sem mais de três.

Observe que as partições estendidas e os Registros de inicialização estendidos (EBRs, Extended Boot Records) não têm nada a ver com MBRs híbridos - ou, pelo menos, não deveriam! No esquema MBR, partições estendidas servem como espaços reservados para partições lógicas, que são definidas por EBRs. Usando este esquema, um disco MBR pode suportar um grande número de partições - teoricamente cerca de metade do número de setores no disco, embora os limites práticos sejam muito menores do que isso. Discos com MBRs híbridos não usam partições estendidas, porém, porque manter a consistência entre os lados GPT e MBR do disco - já uma tarefa bastante desafiadora com MBRs híbridos regulares - se tornaria muito mais difícil.

    
por 21.06.2011 / 05:53
4

Embora o Windows 7 x86_64 suporte GPT, ele suporta apenas UEFI ou BIOS. O Windows 7 não suporta "Apple EFI", que é um amálgama da Intel EFI 1.1, e alguns pedaços da própria Apple e alguns bits da UEFI 2.x. Não é estritamente uma implementação do UEFI 2.x que é o que todos os sistemas operacionais não-Mac OS exigem. Portanto, isso na verdade limita os usuários do Bootcamp (ou rEFIt) a usar o CSM (BIOS) e, portanto, exige um MBR, pois o BIOS só entende MBRs.

MBR = 4 partições, mas 1 delas é reservada quando é um MBR híbrido, como mencionado, é para indicar que a unidade inteira é GPT, para que você tenha algum aviso de um aplicativo de particionamento ciente de MBR. Então, de fato, o MBR híbrido é limitado a 3 partições.

Em teoria, você pode escolher quais 3 das potencialmente 128 partições GPT você deseja exportar para o MBR híbrido. Mas a maioria das ferramentas não permite que você faça isso. O único que eu conheço é o gdisk.

Concordo que o MBR híbrido é violador de padrões e é uma bastardização. Minha preferência seria a Apple emitir um firmware UEFI 2.x totalmente compatível com os padrões para todas as máquinas vendidas nos últimos anos. Em particular, é irritante como as bolas que as novas máquinas vendidas hoje ainda são baseadas no Intel EFI 1.1, não no UEFI 2.x.

    
por 21.07.2011 / 19:20
3

Não é por causa do GPT. É por causa do MBR. Existem muitos problemas com a compatibilidade com MBR e GPT que limitam o número da partição a 4. Se você não estiver usando o MBR, o que pode estar acontecendo, tudo deve funcionar bem. Novas versões do windows suportam GPT, então há uma chance de que o MBR não esteja sendo usado.

Se você estiver usando o MBR, não tenho ideia do que está acontecendo.

    
por 05.07.2010 / 19:20
2

Eu encontrei este artigo que explica o esquema de particionamento.

Essencialmente, se eu entendi o artigo corretamente, há um "Registro de inicialização estendido" em uma das partições em uma das quatro partições primárias que descreve as partições "estendidas" extras. Alguns sistemas operacionais legados não podem vê-los.

O Linux pode ver as partições estendidas depois que o kernel é carregado. Eu presumo que você é capaz de inicializar corretamente porque a partição Linux está em uma das quatro partições "primárias".

    
por 05.07.2010 / 19:22
0

O problema aqui é que, como diz o cmurphy, o Windows (x64) não pode usar a implementação EFI da Apple (que é basicamente EFI 1.1). Precisa de UEFI (EFI 2.0) ou BIOS. Mas porque o Windows tem um limitação artificial de amarrar UEFI para GPT discos e BIOS para discos MBR, ele precisa de alguns truques trabalhar. Especificamente, o Windows e o OS X em um EFI 1.1 podem coexistir em uma única unidade "apenas" se o Windows for enganado e pensar que é uma unidade MBR, enquanto na verdade é GPT (o OS X não suporta MBR). Esse truque é o que é chamado de MBR híbrido - é um hack perigoso e feio como diz o cmurphy.

No entanto, você pode inicializar o Windows no GPT do BIOS SE você tem qualquer unidade MBR pequena que você pode inicializar, ou até mesmo um disquete. Não é nem mesmo um hack e vai até funcionar no Windows 32 bits.

Basicamente, inicialize no disco de instalação / reparo do Windows. Basta criar a unidade do sistema no disquete e usar bcdboot para colocar seus arquivos de inicialização no disquete. Adicione um setor de inicialização com bootsect . Altere o {bootmgr} device para boot . Inicialize a partir do disquete.

Passos são detalhados aqui .

    
por 18.02.2014 / 06:57