Wenn du eine neue GDT einrichtest, werden die neuen Werte erst dann übernommen, wenn du das entsprechende Register neu lädst. Deswegen wirst du z.B. in LOST sehen, daß ds, es, fs, gs und ss neu geladen werden und außerdem ein ljmp durchgeführt wird, um auch noch cs neu zu laden.
GRUB sichert dir nur zu, daß du beim Start jeweils ein Code- und ein Datensegment mit Basis 0 und Größe 4 GB hast. Das reicht dir für ein Hello World, aber auf Dauer brauchst du deine eigene GDT.