Jen dvě poznámky:
1) Windows neumí boot z GPT pomocí BIOSu (nevín jestli to bylo nekde uvedeno).
2) GRUB nepotrebuje bios_boot_oddil. Boouje i bez nej, ale nema pak kam emmbedovat stage 1.5, jako tomu je u klasickeho MBR kde je mezi tabulkou a prvnim oddilem standardne nekolik sektoru mista "nikoho".
ad 1) Presne tak, Windows umi bootovat z GPT oddilu pouze a jen v UEFI modu. Jinak s GPT umi pracovat bez problemy a to i Windows XP 64.
ad 2) Omezeni na 1MB oddil (zajimave ze autor nenapsal 1.04MB) je snad jen u GRUB2, GRUB snad zadnou takovou opicarnu nepotrebuje, teda aspon co jsem ja zkousel tak nebylo nic takove potreba.
ad 2) No ak nemas jednu GPT particiu oznacenu EF02 (bios_grub alebo BIOS boot partition) tak GRUB2 sa na HDD normalne nenainstaluje. Vtedy je potrebne pouzit blocklist (ak dobre rozumiem instalator grubu2 si spocita presnu pozuciu core.img na hdd v /boot a to zapise do MBR), ale ten je defaultne zakazany a ani nemusi (vraj) vzdy fungovat (hlavne ak filesystem si presuva subory na danej particii). Treba mu pomoct pomocou grub-setup --force (je to napisane priamo v kometaroch grub-setup zdrojaku).
A neviem ci bolo v clanku spomenute, ale po konverzii ci uz MBR-->GPT alebo opacne je potreba grub reinstalovat (pomocou grub-setup).
Konverziu MBR-->GPT som sam nedavno robil, vid http://forum.root.cz/index.php?topic=2721.0
Potreboval som vsak po konverzii oznacit tu jednu (protective) MBR particiu active (boot) flagom aby som vedel bootovat. gparted, gdisk ako aj (kde) partitionmanager co su v ubuntu NEDOKAZU ten boot flag mi oznacit ak uz je disk typu GPT. Preto je to nutne urobit pomocou stareho fdisk.
Windows 7 z GPT nenabootuji. To co popisujete je Hybrid MBR - tj. v LBA0 je misto standardni "protective MBR" normalni MBR se 4 primarnimi oddily - 3 standardni a 4 je typu GPT do zbytku disku. Windows 7 pak bootuji standadne svym MS-DOS bootloaderem a "vidi" jen prvni 3 oddily a jakysi neidentifikovany oddil GPT ve zbytku. To ze je na LBA1-LBA33 tabulka GPT je vubec nezajima a neumi s ni pracovat.
Samozřejmě nabootují, jinak bych nebootoval :)
Q. Can Windows 7, Windows Vista, and Windows Server 2008 read, write, and boot from GPT disks?
A. Yes, all versions can use GPT partitioned disks for data. Booting is only supported for 64-bit editions on UEFI-based systems.
http://msdn.microsoft.com/en-us/windows/hardware/gg463525
Je třeba si uvědomit, jakym zpusobem platforma PC/BIOS bootuje. Puvodni MS-DOS pristup, ktery dodnes pouzivaji Windows, funguje tak, ze BIOS se podiva do MBR a tam je kod, ktery urcuje spustit bootloader z oddilu oznaceneho "boot flagem". Proto lze timto zpusobem bootovat pouze z oddilu definovanem v MBR a proto systemy Microsoftu umi bootovat jen z primarni partition. Pristup vcelku na hovno.
GRUB funguje tak, ze v MBR je kod (stage 1) odkazujici na LBA disku, kde se nachazi dalsi cast zavadece (stage 2) v oddile /boot. Protoze je ale stage2 v souborovem systemu, a muze se tedy stat ze bude presunuta na jine LBA, pouziva GRUB mezi stage1 a stage2 jeste stage 1.5, ktera je mimo souborovy system. Pak Stage 1 odkazuje na LBA, kde je pocatek stage 1.5, a stage 1.5 pak umi cist souborovy system /boot a najit si stage2. Na disku typu MBR je mezi LBA0 (MBR) a pocatkem prvni partition LBA63 volne misto bez oddilu, kam muze GRUB nahrat stage 1.5, a nebyt tak zavisly na presne pozici Stage2. U disku typu GPT je ovsem LBA0 bez uzitku (jako ochrana pred hloupymi MBR nastroji), LBA1-LBA33 obsahuje tabulku GPT, a LBA34 je pocatek prvni partition. Neni tam tedy misto kam nahrat stage 1.5. Proto jsou dve moznosti A) vytvorit rezervovane misto - bios_boot partition, kam si grub nahraje stage 1.5, nebo nechat GRUB odkazovat stage1 primo na stage2 s rizikem, ze pri zmene presne pozice stage2 na disku nebude boot fungovat, protoze stage2 nebude nalezena na definovanem LBA.
Je to jasne? :-)
Velice jasné, pěkné vysvětlení.
Ještě mě ale napadá jedna možnost: vytvořit první partition o kousek dál, nechat na disku mezeru pro stage1.5 jako tomu bylo na MBR. Jen nevím, jestli by to GRUB správně pochopil.
Jinak to GPT mě pěkně štve. To tam nemohli udělat i pořádné místo pro zavaděč?
Jenom opravím popis situace na Windows. Bootloader se spustí z partition označené flagem "active". Na ní je pak boot loader, který vám může dát vybrat operační systém. Včetně Linuxu, když na to přijde. Je to podobný přístup, jako u GRUBu se stage 2, akorát je ta stage 2 vždy spolehlivě k nalezení. U EFI je to samozřejmě všechno jinak.