GPT: Unterschied zwischen den Versionen

Aus Foxwiki
Rafihanifi (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Rafihanifi (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
Die GPT hebt einige Einschränkung des Master Boot Records auf, unter anderem, dass die maximale Größe einer Partition auf 2,2 TByte limitiert ist.
Die GPT hebt einige Einschränkung des Master Boot Records auf, unter anderem, dass die maximale Größe einer Partition auf 2,2 TByte limitiert ist.
__TOC__
__TOC__
== Vorteile der GPT ==  
== Vorteile der GPT ==  
Folgende Vorteile ergeben sich durch die GPT:<ref name='uefi-spec'>[http://www.uefi.org/specs/ UEFI Specification 2.3.1] (uefi.org)</ref>
Folgende Vorteile ergeben sich durch die GPT:<ref name='uefi-spec'>[http://www.uefi.org/specs/ UEFI Specification 2.3.1] (uefi.org)</ref>
Zeile 8: Zeile 9:
*Bereitstellung eines Primären und eines Backup GUID Partition Table (GPT) Headers.<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/gg463525.aspx#E4 Windows and GPT FAQ] (msdn.microsoft.com)</ref> Durch diesen Mechanismus, als auch durch die unten genannten CRC-Checksummen, wird die Sicherheit der Partitions-Metadaten erhöht. Z.B. kann beim versehentlichen Löschen des GPT Headers zu Beginn des Devices noch auf den Backup GPT Header zurückgegriffen werden.
*Bereitstellung eines Primären und eines Backup GUID Partition Table (GPT) Headers.<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/gg463525.aspx#E4 Windows and GPT FAQ] (msdn.microsoft.com)</ref> Durch diesen Mechanismus, als auch durch die unten genannten CRC-Checksummen, wird die Sicherheit der Partitions-Metadaten erhöht. Z.B. kann beim versehentlichen Löschen des GPT Headers zu Beginn des Devices noch auf den Backup GPT Header zurückgegriffen werden.
*Verwendung eines Protective MBR an der LBA 0 zur Gewährleistung der Abwärtskompatibilität für Werkzeuge, die nicht mit GPT umgehen können. Dieser Protective MBR des Partitions-Typs "0xee" veranlasst z.B. fdisk dazu, auf GNU Parted zu verweisen:
*Verwendung eines Protective MBR an der LBA 0 zur Gewährleistung der Abwärtskompatibilität für Werkzeuge, die nicht mit GPT umgehen können. Dieser Protective MBR des Partitions-Typs "0xee" veranlasst z.B. fdisk dazu, auf GNU Parted zu verweisen:
<source lang="bash">
:~$ sudo fdisk -l /dev/sdc
WARNING: GPT (GUID Partition Table) detected on '/dev/sdc'! The util fdisk doesn't support GPT. Use GNU Parted.


Disk /dev/sdc: 80.0 GB, 80026361856 bytes
#fdisk -l /dev/sdc
255 heads, 63 sectors/track, 9729 cylinders, total 156301488 sectors
#gdisk
Units = sectors of 1 * 512 = 512 bytes
===Booten mit dem Installationsimage===
Sector size (logical/physical): 512 bytes / 512 bytes
Auswählen des deutschen Tastaturlayouts<br>
I/O size (minimum/optimal): 512 bytes / 512 bytes
loadkeys de
Disk identifier: 0x00000000
loadkeys de-latin1
 
===Partitionieren mit gdisk ===
Mit dem Befehl
  lsblk
könnt ihr euch eure block devices auflisten.<br>
  NAME  MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
  fd0      2:0    1    4K  0 disk
  sda      8:0    0 119,2G  0 disk
  ├─sda1  8:1    0 115,4G  0 part /
  ├─sda2  8:2    0    1K  0 part
  └─sda5  8:5    0  3,9G  0 part [SWAP]
  sdb      8:16  0 465,8G  0 disk
  ├─sdb1  8:17  0  756M  0 part /run/archiso/bootmnt
  ├─sdb2  8:18  0    40M  0 part
  sr0    11:0    1 164,1M  0 rom
  loop0    7:0    0  328M  1 loop /run/archiso/sfs/airootfs
<br>
Es wird in dieser Anleitung davon ausgegangen das die zu partitionierende Festplatte als <code>/dev/sda</code> aufgeführt wird.<br>
Passt den block device euren entsprechenden Bedürfnissen an.<br>
Wenn eure Festplatte beispielsweise als <code>/dev/sdb</code> aufgeführt wird unter <code>lsblk</code>, dann gebt in den nachfolgenden Befehlen<br>
<code>/dev/sdb</code> an, anstelle von <code>/dev/sda</code>
<br>
<br>
 
Aufruf von gdisk
gdisk /dev/sda
? gibt alle Befehle aus.
Command (? for help):
 
Anlegen der ersten neuen Partition für / (Root):
n
Partitionsnummer 1 ist voreingestellt, (Partition number (1-128, default 1):
Enter.
Ersten Sektor (...)
enter
bestätigen.
Letzten Sektor der Partition angeben,
Last sector(2048-4711xy,default = 4711ende) or {+-}size{KMGTP}:
mit +5G wird eine Partition angelegt von 5Gbyte Größe.
 
Partitionstyp (Linux) in Hexcode eingeben,
Hex code or GUID (L to show codes, Enter = 8300):
Taste L zeigt alle möglichen Codes.<br>
Für Linux root Partition wird 8300 was schon voreingestellt ist eingegeben.
Enter
Nächste Partition anlegen für swap:
n
Partitionsnummer 2 ist voreingestellt,
Partition number (2-128, default 2):
Enter.
Ersten Sektor (...) enter bestätigen.
Letzten Sektor der Partition angeben,
Last sector(....,default = 4711ende) or {+-}size{KMGTP}:
mit +500M wird eine Partition angelegt von 500Mbyte Größe.
+500M
Partitionstyp in Hexcode eingeben,
Hex code or GUID (L to show codes, Enter = 8300):
Hexcode für Linux-swap ist 8200 und eingeben.
8200 enter
Falls GRUB per Bios und nicht per UEFI geladen wird, so benötigt man noch eine spezielle kleine Partition, genannt ''Bios boot Partition'' mit dem Code ef02.
In diesem Beispiel wird eine 3MB kleine Partition ans Ende der Platte angelegt. Sollte man Syslinux als Bootloader verwenden, wird diese zusätzliche Partition nicht benötigt.
n
für neue Partition anlegen.<br>
Partitionsnummer 3 ist voreingestellt es wird aber 128 gewählt, damit man weitere Partitionen dazwischen anlegen kann und die Nummerierung mehr Sinn gibt.
Partition number (3-128, default 3): 128
Partitionsnummer 128 eingeben.<br>
Ersten Sektor (first sector) -3M eingeben.<br>
Letzten Sektor der wird angezeigt. Enter<br>
Hexcode ef02 eingeben.
p
für print um noch einmal alle Partitionen anzeigen zu lassen.<br>
Bis jetzt ist noch nichts an der Festplatte verändert worden. Man kann mit q (quit) die Änderungen abbrechen.<br>
Wenn alles in Ordnung ist dann
w
für schreiben auf die Festplatte.<br>
Es wird noch einmal gefragt ob die Prozeduren durchgeführt werden sollen.
Bestätigen mit Y .
Sind die Operationen erfolgreich gewesen so wird das angezeigt,
OK; writing new GUID partition table (GPT).
The operation has completed successfully).
 
===Anlegen der Dateisysteme===
=====Gewöhnliche Partition=====
"Gewöhnliche" Partitionen werden mit dem Programm mkfs angelegt, wobei der Typ des Dateisystems klar benannt werden muss. Dazu dienen verschiedene links, z.B. mkfs.ext4, der ein Dateisystem vom Typ ext4 anlegt.
 
Anlegen des Dateisystems vom Typ ext4 auf der Rootpartition sda1 mit der Bezeichnung p_arch:
mkfs.ext4 -L p_arch /dev/sda1
 
Anzumerken ist, dass Linux nicht in der Lage ist, von jedem Dateisystemtyp aus zu booten. In der boot-Partition ist die Auswahl also eingeschränkt.
 
=====Swap-Partition=====
Eine Swap-Partition ist der Platz einer Festplatte, der den "virtuellen Speicher" beheimatet. Falls die Prozesse mehr RAM brauchen als physikalisch vorhanden, kann Linux die Anfrage nicht bearbeiten und ein Fehler tritt auf. Eine swap Partition hilft in dieser Situation, indem physikalischer RAM durch virtuellen RAM erweitert wird. Linux benutzt diesen Platz der Festplatte (die Swap-Partition), um die Informationen, welche nicht mehr in den physikalischen RAM passen, zu speichern (in Wahrheit ist es ein wenig komplizierter, da Linux versucht, Informationen ins Swap zu schreiben, die nicht oft benötigt werden). Da eine Festplatte im Vergleich zu physikalischem RAM sehr langsam ist, ist dies nur ein Behelf.
 
Anlegen des Dateisystems vom Typ swap auf der Swap-Partition sda2 mit der Bezeichnung p_swap:
mkswap -L p_swap /dev/sda2


Anzumerken ist, dass diese Partition im Fall, dass zu Energiesparzwecken das RAM auf die Platte ausgelagert werden soll (suspend2disk), mindestens so groß wie das physisch vorhandene RAM sein muss, sonst passt letzteres nicht hinein. Wenn ich also 4 GB physisches RAM habe, muss ich hierfür auch mindestens 4 GB Plattenplatz reservieren.


  Device Boot     Start        End      Blocks  Id  System
====Grub-Bootloader-Partition====
Die dritte Partition, die Bios Boot Partition,welche nur benötigt wird, falls Grub als Bootloader benutzt wird, bleibt unangetastet.




/dev/sdc1              1  156301487    78150743+  ee  GPT
===Einbinden der Partitionen===
</source>
Hier kann der Anleitung für Einsteiger beim Punkt Einbinden der Partitionen weiter gefolgt werden.
*Einsatz von CRC32 Checksummen zur Gewährleistung der Integrität der GPT Header. Durch die Checksummen kann z.B. erkannt werden, wenn durch fehlerhafte Sektoren der Bereich des GPT Headers beschädigt wird.
https://wiki.archlinux.de/title/Anleitung_f%C3%BCr_Einsteiger#Einbinden_der_Partitionen
*Verwendung von GUIDs, um Partitionen eindeutig zu identifizieren, und Type GUIDs für die Kennzeichnung des Zwecks der Partition (anstatt wie beim MBR auf 1-Byte-Codes zu setzen). Es folgt als Beispiel die Ausgabe des gdisk-Programms für eine EFI System Partition:<ref>[http://wiki.ubuntuusers.de/gdisk gsdisk bei ubuntuusers] (ubuntuusers.de)</ref>
<source lang="bash">
Partition number (1-4): 1
Partition GUID code: C12A7328-F81F-11D2-BA4B-00A0C93EC93B (EFI System)
Partition unique GUID: A81C2DB8-E808-4853-A67B-3982C65C23C2
First sector: 34 (at 17.0 KiB)
Last sector: 293002 (at 143.1 MiB)
Partition size: 292969 sectors (143.1 MiB)
Attribute flags: 0000000000000000
Partition name: ''
</source>
*Jede Partition kann zusätlich einen 36-Zeichen langen, lesbaren Namen erhalten


== Nachteile der GPT ==
===grub installieren===
Die Nachteile bzw. Probleme der GPT beziehen sich vor allem auf das Thema Kompatibilität. Ältere Betriebssysteme wie z.B. Windows XP 32-bit können mit der GPT nicht umgehen.
Falls an dieser Stelle grub noch nicht installiert ist, kann das nachgeholt werden:
Etwas kniffelig wird es des weiteren bei der Einrichtung eines Dual-Boot-Systems mit Windows unter UEFI und einem Linux, welches im BIOS-Modus starten soll.
arch-chroot /mnt pacman -S grub
arch-chroot /mnt grub-install /dev/sda


== Aufbau der GPT ==
grub konfigurieren:
[[Datei:Guid-partition-table.png|350px|thumb|right|Ein Beispiel für den Aufbau einer GPT. Quelle: [http://www.uefi.org/specs/ UEFI Specification 2.3, S. 100] (uefi.org)]]
grub-mkconfig -o /boot/grub/grub.cfg
Wie bereits erwähnt enthält der erste logische Block (LBA 0) einen Protective MBR, um die Kompatibilität zu Tools zu gewähren, die das GPT-Format nicht beherrschen.
Arch Linux neu starten:
Zu Beginn des zweiten logischen Blocks (LBA 1) befindet sich die erste Instanz des GPT Headers, die zweite findet sich am letzten logischen Block wieder (vgl. Abb. rechts).
Neustarten.


=== GPT Header ===
=== Fehlermeldung von grub ===
Der GPT Header definiert jene Bereiche an LBAs, die von Partition Entrys genutzt werden können. Ein Entry erhält dabei immer einen First Usable LBA und einen Last Usable LBA, in denen die Daten der zugehörigen Partition abgelegt werden müssen. Zur Identifikation des Headers und seinen Einträgen steht eine Disk GUID bereit, die zur eindeutigen Identifikation des Devices genutzt werden kann:
Falls diese Fehlermeldung angezeigt wird:
<source lang="bash">
grub-install /dev/sda
Disk /dev/sdc: 156301488 sectors, 74.5 GiB
/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.
Logical sector size: 512 bytes
However, blocklists are UNRELIABLE and their use is discouraged..
Disk identifier (GUID): F8FAC3BE-EB16-49DD-A4B4-E3C1472E2D9B
/sbin/grub-setup: error: will not proceed with blocklists.
Partition table holds up to 128 entries
Dann konnte grub nicht installiert werden weil die zusätzliche Partition vom Typ ef02 nicht vorhanden ist.<br>
First usable sector is 34, last usable sector is 156301454
Abhilfe, man kann die Partition auch nachträglich anlegen. Zum Beispiel ans Ende der Festplatte.<br>
Partitions will be aligned on 1-sector boundaries
Neu booten mit der Arch Linux Installations-CD.<br>
Total free space is 16 sectors (8.0 KiB)
gdisk /dev/sda
</source>
Neue Partition ans Ende der Festplatte anlegen:
Nach den Header Informationen folgen die Einträge zur Beschreibung der einzelnen Partitionen (s.a. Abb. rechts, die violett markierten Bereiche). Das sog. "Partition Entry Array" (dessen Beginn im Header durch den Eintrag "PartitionEntryLBA" vermerkt ist) ist eine Array, dessen Einträge auf die Start und Ende LBAs der Partitionen verweist. Zur Sicherstellung der Integrität dieses Arrays befindet sich im GPT Header außerdem eine CRC32 Checksumme.
Command (? for help): n
Partition number (1-3): 128
First sector (xx-yyyyyy, default = xxx) or {+-}size{KMGTP}: -3M
..
..
Last sector xx-yy,default = Sektorende) or {+-}size{KMGTP}: enter
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'Bios boot partition'
Command (? for help): w
Am Ende der Platte ist jetzt die Partition installiert.
Mit chroot wie oben grub erneut installieren.<br>
Gpt-MBR nochmal auf sda schreiben.
grub-install /dev/sda
reboot


Zusätzlich zu den LBAs enthält ein Partition Entry eine '''Unique Partition GUID''' zur eindeutigen Identifikation der Partition. Der Zweck der Partition wird durch die '''Partition Type GUID''' festgelegt, dies entspricht den OS Type Feldern des MBR.<ref>[http://www.win.tue.nl/~aeb/partitions/partition_types-1.html Partition Type Entries] (win.tue.nl)</ref> Hier z.B. die GUIDs einer Linux Software RAID Partition:
== Weblinks ==
<source lang="bash">
* http://de.wikipedia.org/wiki/GUID_Partition_Table
[...]
* http://gparted.sourceforge.net/livecd.php
Partition GUID code: A19D880F-05FC-4D3B-A006-743F0F84911E (Linux RAID)
Partition unique GUID: A50EFBF2-BA83-425D-94E0-378523EBE091
[...]
</source>
Einige Type GUIDs wurden im Zuge der Spezifikation bereits vergeben:
*Unbenutzter Eintrag: 00000000-0000-0000-0000-000000000000
*EFI System Partition (ESP): C12A7328-F81F-11D2-BA4B-00A0C93EC93B
*Legacy MBR Partition: 024DEE41-33E7-11D3-9D69-0008C781F39F


Kurz noch einmal die wichtigsten Teile des GPT Headers und des Partition Entries:<ref name='uefi-spec' />
== Quellen ==
*Header
* http://skweez.net/erganzung-grub-2-in-gptbios-systemen/
**Eine Signatur und eine Revision Number spezifizieren das Datenformat des Partition Headers
* http://skweez.net/system-auf-guid-partition-table-umstellen/
**Die Größe des Headers sowie die CRC32 Checksumme der GPT Header Struktur
* https://wiki.archlinux.org/index.php/Grub2
**Disk GUID: GUID für die eindeutige Identifikation der Disk
**Start LBA des GUID Partition Entry Arrays
**CRC32 Checksumme des Partition Entry Arrays
**Das Partition Entry Array zur Beschreibung der einzelnen Partitionen
*Entry
**Partition Type GUID: Unique ID, die den Zweck der Partition beschreibt
**Unique Partition GUID: GUID, die für jeden Partitionseintrag eindeutig ist
**Start und End LBA
**Ein lesbarer Partitionsname


== Betriebssystem-Unterstützung ==
=== Linux ===
Da die GPT im Zuge der UEFI-Spezifikation erarbeitet wurde gibt es bei der Verwendung von GPT mit UEFI keine Hindernisse. Bei der Verwendung eines traditionellen BIOS mit GPT gibt es unter Linux folgendes zu beachten:
*GRUB 2 benötigt beim Booten mit BIOS und GPT eine [https://en.wikipedia.org/wiki/BIOS_Boot_partition BIOS Boot partition], auf der sich die GRUB relevanten Teile befinden werden.<ref>[http://wiki.ubuntuusers.de/GRUB_2/Grundlagen#MBR-mit-GUID-Partitionstabelle-GPT ubuntuusers GRUB-Grundlagen] (wiki.ubuntuusers.de)</ref><ref>[https://www.gnu.org/software/grub/manual/grub.html Official Grub Manual] (gnu.org)</ref>


Das Booten mit UEFI und GPT wird vor allem durch den aktuellen Grub 2 unterstützt.<ref>[http://www.rodsbooks.com/gdisk/booting.html  Booting from GPT] (rodsbooks.com)</ref> Fedora entwickelte außerdem einen gepatchten Grub Legacy der diese Funktionalität anbietet. Ab Fedora 16 erstellt der Installer auch für BIOS-Systeme automatisch die Partition im GPT-Format.<ref>[https://docs.fedoraproject.org/en-US/Fedora/16/html/Release_Notes/sect-Release_Notes-Changes_for_Sysadmin.html Fedora 16 Release Notes] (docs.fedoraproject.org)</ref>
[[Kategorie:Grundlagen]]
[[Kategorie:Systemverwaltung]]
[[Kategorie:Dateisysteme]]


=== Windows ===
Die Unterstützung von GPT für Windows ergibt sich wie folgt:<ref>[http://msdn.microsoft.com/en-us/library/windows/hardware/gg463525.aspx#X-201104111922342 Windows and GPT FAQ - Windows Disk Support] (msdn.microsoft.com)</ref>
*Windows XP x64 kann GPT-Datenträger nur als Datenpartition benutzen.
**Die 32-bit Version verwendet nur den Protective MBR, auf die Partition kann nicht zugegriffen werden, da sie nicht gemounted wird. Der Datenzugriff kann über Applikationen erfolgen.
*Ab Windows Server 2003 Service Pack 1 können alle Windows Server Versionen GPT-Partitionen als Datenträger verwenden. Zum Booten von einem GPT-Datenträger wird ein 64-bit Itanium-System benötigt.
*Windows 7, Windows Vista und Windows Server 2008 können GPT-Partitionen als Datenträger verwenden. Zum Booten wird ein 64-bit System mit '''UEFI''' benötigt.


= Einzelnachweise =
= Einzelnachweise =

Version vom 18. Dezember 2020, 11:51 Uhr

Die (GPT)GUID Partition Table wurde im Rahmen von der UEFI-Spezifikation entwickelt und tritt als Begriff oft zusammen mit diesem BIOS-Nachfolger auf. 

Die GPT hebt einige Einschränkung des Master Boot Records auf, unter anderem, dass die maximale Größe einer Partition auf 2,2 TByte limitiert ist.

Vorteile der GPT

Folgende Vorteile ergeben sich durch die GPT:[1]

  • GPT benutzt zur Adressierung 64-bit Werte (Logical Block Adresses (LBA)), womit bis zu 9,4 Zettabyte adressiert werden können.[2]
  • Unterstützung von mehreren Partitionen - bei den meisten Konfiguration 128. Für MBR-Partitionen ist die Anzahl an primären Partitionen auf 4 limitiert.
  • Bereitstellung eines Primären und eines Backup GUID Partition Table (GPT) Headers.[3] Durch diesen Mechanismus, als auch durch die unten genannten CRC-Checksummen, wird die Sicherheit der Partitions-Metadaten erhöht. Z.B. kann beim versehentlichen Löschen des GPT Headers zu Beginn des Devices noch auf den Backup GPT Header zurückgegriffen werden.
  • Verwendung eines Protective MBR an der LBA 0 zur Gewährleistung der Abwärtskompatibilität für Werkzeuge, die nicht mit GPT umgehen können. Dieser Protective MBR des Partitions-Typs "0xee" veranlasst z.B. fdisk dazu, auf GNU Parted zu verweisen:
  1. fdisk -l /dev/sdc
  2. gdisk

Booten mit dem Installationsimage

Auswählen des deutschen Tastaturlayouts

loadkeys de
loadkeys de-latin1

Partitionieren mit gdisk

Mit dem Befehl

 lsblk

könnt ihr euch eure block devices auflisten.

 NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
 fd0      2:0    1     4K  0 disk 
 sda      8:0    0 119,2G  0 disk 
 ├─sda1   8:1    0 115,4G  0 part /
 ├─sda2   8:2    0     1K  0 part 
 └─sda5   8:5    0   3,9G  0 part [SWAP]
 sdb      8:16   0 465,8G  0 disk 
 ├─sdb1   8:17   0   756M  0 part /run/archiso/bootmnt 
 ├─sdb2   8:18   0    40M  0 part 
 sr0     11:0    1 164,1M  0 rom
 loop0    7:0    0   328M  1 loop /run/archiso/sfs/airootfs


Es wird in dieser Anleitung davon ausgegangen das die zu partitionierende Festplatte als /dev/sda aufgeführt wird.
Passt den block device euren entsprechenden Bedürfnissen an.
Wenn eure Festplatte beispielsweise als /dev/sdb aufgeführt wird unter lsblk, dann gebt in den nachfolgenden Befehlen
/dev/sdb an, anstelle von /dev/sda

Aufruf von gdisk

gdisk /dev/sda

? gibt alle Befehle aus.

Command (? for help):

Anlegen der ersten neuen Partition für / (Root):

n

Partitionsnummer 1 ist voreingestellt, (Partition number (1-128, default 1):

Enter.

Ersten Sektor (...)

enter

bestätigen. Letzten Sektor der Partition angeben,

Last sector(2048-4711xy,default = 4711ende) or {+-}size{KMGTP}:

mit +5G wird eine Partition angelegt von 5Gbyte Größe.

Partitionstyp (Linux) in Hexcode eingeben,

Hex code or GUID (L to show codes, Enter = 8300):

Taste L zeigt alle möglichen Codes.
Für Linux root Partition wird 8300 was schon voreingestellt ist eingegeben.

Enter

Nächste Partition anlegen für swap:

n

Partitionsnummer 2 ist voreingestellt,

Partition number (2-128, default 2):
Enter.

Ersten Sektor (...) enter bestätigen. Letzten Sektor der Partition angeben,

Last sector(....,default = 4711ende) or {+-}size{KMGTP}:

mit +500M wird eine Partition angelegt von 500Mbyte Größe.

+500M

Partitionstyp in Hexcode eingeben,

Hex code or GUID (L to show codes, Enter = 8300):

Hexcode für Linux-swap ist 8200 und eingeben.

8200 enter

Falls GRUB per Bios und nicht per UEFI geladen wird, so benötigt man noch eine spezielle kleine Partition, genannt Bios boot Partition mit dem Code ef02. In diesem Beispiel wird eine 3MB kleine Partition ans Ende der Platte angelegt. Sollte man Syslinux als Bootloader verwenden, wird diese zusätzliche Partition nicht benötigt.

n

für neue Partition anlegen.
Partitionsnummer 3 ist voreingestellt es wird aber 128 gewählt, damit man weitere Partitionen dazwischen anlegen kann und die Nummerierung mehr Sinn gibt.

Partition number (3-128, default 3): 128

Partitionsnummer 128 eingeben.
Ersten Sektor (first sector) -3M eingeben.
Letzten Sektor der wird angezeigt. Enter
Hexcode ef02 eingeben.

p

für print um noch einmal alle Partitionen anzeigen zu lassen.
Bis jetzt ist noch nichts an der Festplatte verändert worden. Man kann mit q (quit) die Änderungen abbrechen.
Wenn alles in Ordnung ist dann

w 

für schreiben auf die Festplatte.
Es wird noch einmal gefragt ob die Prozeduren durchgeführt werden sollen. Bestätigen mit Y . Sind die Operationen erfolgreich gewesen so wird das angezeigt,

OK; writing new GUID partition table (GPT).
The operation has completed successfully).

Anlegen der Dateisysteme

Gewöhnliche Partition

"Gewöhnliche" Partitionen werden mit dem Programm mkfs angelegt, wobei der Typ des Dateisystems klar benannt werden muss. Dazu dienen verschiedene links, z.B. mkfs.ext4, der ein Dateisystem vom Typ ext4 anlegt.

Anlegen des Dateisystems vom Typ ext4 auf der Rootpartition sda1 mit der Bezeichnung p_arch:

mkfs.ext4 -L p_arch /dev/sda1

Anzumerken ist, dass Linux nicht in der Lage ist, von jedem Dateisystemtyp aus zu booten. In der boot-Partition ist die Auswahl also eingeschränkt.

Swap-Partition

Eine Swap-Partition ist der Platz einer Festplatte, der den "virtuellen Speicher" beheimatet. Falls die Prozesse mehr RAM brauchen als physikalisch vorhanden, kann Linux die Anfrage nicht bearbeiten und ein Fehler tritt auf. Eine swap Partition hilft in dieser Situation, indem physikalischer RAM durch virtuellen RAM erweitert wird. Linux benutzt diesen Platz der Festplatte (die Swap-Partition), um die Informationen, welche nicht mehr in den physikalischen RAM passen, zu speichern (in Wahrheit ist es ein wenig komplizierter, da Linux versucht, Informationen ins Swap zu schreiben, die nicht oft benötigt werden). Da eine Festplatte im Vergleich zu physikalischem RAM sehr langsam ist, ist dies nur ein Behelf.

Anlegen des Dateisystems vom Typ swap auf der Swap-Partition sda2 mit der Bezeichnung p_swap:

mkswap -L p_swap /dev/sda2

Anzumerken ist, dass diese Partition im Fall, dass zu Energiesparzwecken das RAM auf die Platte ausgelagert werden soll (suspend2disk), mindestens so groß wie das physisch vorhandene RAM sein muss, sonst passt letzteres nicht hinein. Wenn ich also 4 GB physisches RAM habe, muss ich hierfür auch mindestens 4 GB Plattenplatz reservieren.

Grub-Bootloader-Partition

Die dritte Partition, die Bios Boot Partition,welche nur benötigt wird, falls Grub als Bootloader benutzt wird, bleibt unangetastet.


Einbinden der Partitionen

Hier kann der Anleitung für Einsteiger beim Punkt Einbinden der Partitionen weiter gefolgt werden. https://wiki.archlinux.de/title/Anleitung_f%C3%BCr_Einsteiger#Einbinden_der_Partitionen

grub installieren

Falls an dieser Stelle grub noch nicht installiert ist, kann das nachgeholt werden:

arch-chroot /mnt pacman -S grub
arch-chroot /mnt grub-install /dev/sda

grub konfigurieren:

grub-mkconfig -o /boot/grub/grub.cfg

Arch Linux neu starten: Neustarten.

Fehlermeldung von grub

Falls diese Fehlermeldung angezeigt wird:

grub-install /dev/sda
/sbin/grub-setup: warn: Embedding is not possible. GRUB can only be installed in this setup by using blocklists.
However, blocklists are UNRELIABLE and their use is discouraged..
/sbin/grub-setup: error: will not proceed with blocklists.

Dann konnte grub nicht installiert werden weil die zusätzliche Partition vom Typ ef02 nicht vorhanden ist.
Abhilfe, man kann die Partition auch nachträglich anlegen. Zum Beispiel ans Ende der Festplatte.
Neu booten mit der Arch Linux Installations-CD.

gdisk /dev/sda

Neue Partition ans Ende der Festplatte anlegen:

Command (? for help): n
Partition number (1-3): 128
First sector (xx-yyyyyy, default = xxx) or {+-}size{KMGTP}: -3M
..
..
Last sector xx-yy,default = Sektorende) or {+-}size{KMGTP}: enter
Hex code or GUID (L to show codes, Enter = 8300): ef02
Changed type of partition to 'Bios boot partition'
Command (? for help): w

Am Ende der Platte ist jetzt die Partition installiert. Mit chroot wie oben grub erneut installieren.
Gpt-MBR nochmal auf sda schreiben.

grub-install /dev/sda
reboot

Weblinks

Quellen


Einzelnachweise

  1. UEFI Specification 2.3.1 (uefi.org)
  2. AMI - An Introduction to UEFI (embedded.communities.intel.com)
  3. Windows and GPT FAQ (msdn.microsoft.com)

Vorlage:Gschoenberger

en:GUID Partition Table