Hier werden die Unterschiede zwischen zwei Versionen gezeigt.
| Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
|
admin_grundlagen:partitionierung [2024/01/24 08:03] sh [Beispiel: GPT mit parted] |
admin_grundlagen:partitionierung [2025/09/27 06:22] (aktuell) ingo_wichmann [Format der Partitionstabelle] |
||
|---|---|---|---|
| Zeile 2: | Zeile 2: | ||
| lsblk | lsblk | ||
| - | ===== Kernel Partitionsliste aktualisieren ===== | + | ====== Partitionierung ====== |
| - | Nach Änderungen an einem Boot-Datenträger. (Im Paket parted) | + | |
| - | partprobe | + | |
| ===== Format der Partitionstabelle ===== | ===== Format der Partitionstabelle ===== | ||
| - | Das lange unter Linux gebräuchliche MSDOS oder [[wpde>Master Boot Record|MBR]] Format sollte man nur bei Festplatten unter 2TB verwenden. Für größere Festplatten, und wenn man wie bei aktuellen Rechnern üblich eine [[wpde>Unified Extensible Firmware Interface|UEFI]] Firmware an Stelle des [[wpde>BIOS]] vorfindet, sollte man für die Partitionstabelle [[wpde>GUID Partition Table|GPT]] verwenden. | + | Das lange unter Linux gebräuchliche [[wpde>Master Boot Record|MSDOS oder MBR]] Format kann man nur bei Festplatten unter 2TB verwenden. Es ist komplizierter zu benutzen(( zumindest wenn man mehr als 4 Partitionen anlegen will)). Wenn man (wie bei aktuellen Rechnern üblich) eine [[wpde>Unified Extensible Firmware Interface|UEFI]] Firmware an Stelle des [[wpde>BIOS]] vorfindet, muss man zum Booten [[wpde>GUID Partition Table|GPT]] verwenden. Labels sind nützlich, wenn man mehrere Festplatten eingebaut hat - die gibt es nicht bei MBR Partitionen. |
| + | |||
| + | Tools: | ||
| + | * ''fdisk'' - MBR und GPT Partitionstabellen | ||
| + | * ''gdisk'' - Spezialist für GPT Partitionstabellen | ||
| + | * ''parted'' - MBR und GPT Partitionstabellen | ||
| + | |||
| + | ===== Beispiel: neue Partition anlegen ===== | ||
| + | ==== mit gdisk ==== | ||
| + | ++++ Wichtige gdisk Befehle | | ||
| + | | ? | Hilfe | | ||
| + | | d | Partition löschen | | ||
| + | | n | neue Partition erstellen | | ||
| + | | t | Typ der Partition setzen | | ||
| + | | c | Name/Label der Partition setzen | | ||
| + | | p | Partitionstabelle anzeigen | | ||
| + | | w | geänderte Partitionstabelle speichern | | ||
| + | | q | gdisk verlassen ohne zu speichern | | ||
| + | ++++ | ||
| + | === Benötigte Pakete === | ||
| + | * Debian: ''gdisk'' | ||
| + | |||
| + | === Partition erstellen === | ||
| + | [[wpde>Byte#Vergleich|2 Gigibyte]] große Partition auf Festplatte ''/dev/sda'' anlegen: | ||
| + | gdisk /dev/sda | ||
| + | Aktuelle Partitionstabelle anzeigen: | ||
| + | p | ||
| + | Neue Partition erstellen: | ||
| + | n | ||
| + | Startblock auswählen: //Bei der ersten Partition sollte hier Sektor 2048 oder ein Vielfaches davon stehen// | ||
| + | |||
| + | Größe angeben: | ||
| + | +2G | ||
| + | Label ändern: | ||
| + | c | ||
| + | Name eingeben: ((Wenn in dem Computer viele Festplatten eingebaut sind, dann wird man wahrscheinlich nur eine Partition anlegen und den Platz mit [[LVM]], [[RAID]], [[lpi2:btrfs]] oder [[ZFS]] verwalten. Dann ist ein Namensschema nützlich, z.B. f/b für Front/Back,r0 für Reihe 0 von oben und c0 für Spalte 0 von links)) | ||
| + | fr0c0 | ||
| + | geänderte Partitionstabelle speichern: | ||
| + | w | ||
| + | |||
| + | === Prüfen, ob der Kernel die geänderte Partitionstabelle kennt == | ||
| + | cat /proc/partitions | ||
| + | Wenn nicht, Kernel Partitionstabelle neu einlesen lassen: | ||
| + | blockdev --rereadpt /dev/sda | ||
| + | ((oder | ||
| + | partprobe | ||
| + | )) | ||
| + | ==== mit fdisk ==== | ||
| + | ++++ Wichtige fdisk Befehle | | ||
| + | | m | Hilfe | | ||
| + | | d | Partition löschen | | ||
| + | | n | neue Partition erstellen | | ||
| + | | t | Typ der Partition setzen | | ||
| + | | p | Partitionstabelle anzeigen | | ||
| + | | w | geänderte Partitionstabelle speichern | | ||
| + | | q | fdisk verlassen ohne zu speichern | | ||
| + | ++++ | ||
| + | === Benötigte Pakete === | ||
| + | * Debian: ''util-linux'' | ||
| + | === Partition erstellen === | ||
| + | [[wpde>Byte#Vergleich|2 Gigibyte]] große Partition auf Festplatte ''/dev/sda'' anlegen: | ||
| + | fdisk /dev/sda | ||
| + | Aktuelle Partitionstabelle anzeigen: | ||
| + | p | ||
| + | Neue Partition erstellen: | ||
| + | n | ||
| + | Partition als logische Partition erstellen (//nur bei MSDOS/MBR//): | ||
| + | l | ||
| + | Startblock auswählen: //Bei der ersten Partition sollte hier Sektor 2048 oder ein Vielfaches davon stehen. Wenn die Sektorgröße 512 Bytes ist, dann liegt der Partitionsbeginn bei 1048576 Bytes ([[wpde>Mebibyte|=1 MiB]]).// | ||
| + | |||
| + | Größe angeben: | ||
| + | +2G | ||
| + | geänderte Partitionstabelle speichern: | ||
| + | w | ||
| + | |||
| + | === Prüfen, ob der Kernel die geänderte Partitionstabelle kennt == | ||
| + | cat /proc/partitions | ||
| + | Wenn nicht, Kernel Partitionstabelle neu einlesen lassen: | ||
| + | blockdev --rereadpt /dev/sda | ||
| + | ((oder | ||
| + | partprobe | ||
| + | )) | ||
| + | |||
| + | ==== mit parted ==== | ||
| + | ++++ Wichtige parted Befehle | | ||
| + | | help | Hilfe | | ||
| + | | rm | Partition löschen | | ||
| + | | mklabel | neue Partitionstabelle erstellen | | ||
| + | | mkpart | neue Partition erstellen | | ||
| + | | set | Typ der Partition setzen | | ||
| + | | print | Partitionstabelle anzeigen | | ||
| + | | quit | fdisk verlassen ohne zu speichern | | ||
| + | ++++ | ||
| + | === Benötigte Pakete === | ||
| + | * Debian: ''parted'' | ||
| + | |||
| + | === Partition erstellen === | ||
| + | 2 Gibibyte große Partition auf Festplatte ''/dev/sda'' anlegen: | ||
| + | parted /dev/sda | ||
| + | Aktuelle Partitionierung ausgeben: | ||
| + | |||
| + | Neue Partition erstellen: | ||
| + | mkpart | ||
| + | Partition type? primary/logical? | ||
| + | l | ||
| + | File system type? | ||
| + | ext3 | ||
| + | Start? | ||
| + | xxx | ||
| + | End? | ||
| + | xxx | ||
| + | Parted verlassen: | ||
| + | quit | ||
| + | |||
| + | ====== Partitionstabelle sichern und wiederherstellen ====== | ||
| + | ==== sfdisk ==== | ||
| + | === sichern === | ||
| + | sfdisk -d /dev/sda > part-table.txt | ||
| + | === wiederherstellen === | ||
| + | sfdisk /dev/sda < part-table.txt | ||
| + | |||
| + | ==== sgdisk ==== | ||
| + | nur für GPT Partitionen | ||
| + | === sichern === | ||
| + | sgdisk --backup=sda.gpt.bkup /dev/sda | ||
| + | === wiederherstellen === | ||
| + | sgdisk --load-backup=sda.gpt.bkup /dev/sda | ||
| + | |||
| + | ==== dd ==== | ||
| + | geht nur bei identischer Festplatte | ||
| + | === sichern === | ||
| + | dd if=/dev/sda of=part-table.img bs=1 count=512 | ||
| + | === wiederherstellen === | ||
| + | dd if=part-table.img of=/dev/sda bs=1 count=64 skip=446 seek=446 | ||
| + | |||
| + | ==== fdisk ==== | ||
| + | === sichern === | ||
| + | fdisk -l > partitionierung.txt | ||
| + | === wiederherstellen === | ||
| + | geht nur von Hand | ||
| + | |||
| + | ==== gdisk ==== | ||
| + | === sichern === | ||
| + | gdisk -l > partitionierung.txt | ||
| + | === wiederherstellen === | ||
| + | geht nur von Hand | ||
| + | |||
| + | ==== parted ==== | ||
| + | === sichern === | ||
| + | parted /dev/sda print > partitionierung.txt | ||
| + | === wiederherstellen === | ||
| + | geht nur von Hand | ||
| ====== Übung: default-Werte für mount-Optionen herausfinden ====== | ====== Übung: default-Werte für mount-Optionen herausfinden ====== | ||
| Test-Image erstellen und mounten: | Test-Image erstellen und mounten: | ||
| + | fallocate -l 500M /tmp/zero.img | ||
| + | (( | ||
| + | oder | ||
| dd if=/dev/zero of=/tmp/zero.img bs=1M seek=500 count=0 | dd if=/dev/zero of=/tmp/zero.img bs=1M seek=500 count=0 | ||
| + | oder | ||
| + | dd if=/dev/zero of=/tmp/zero.img bs=1M 500 | ||
| + | )) | ||
| mkfs.ext4 /tmp/zero.img | mkfs.ext4 /tmp/zero.img | ||
| mkdir /mnt/img | mkdir /mnt/img | ||
| Zeile 99: | Zeile 254: | ||
| | | ||
| TODO: formatieren, vergrößern | TODO: formatieren, vergrößern | ||
| - | ====== Partitionstabelle sichern und wiederherstellen ====== | ||
| - | ==== sfdisk ==== | ||
| - | === sichern === | ||
| - | sfdisk -d /dev/sda > part-table.txt | ||
| - | === wiederherstellen === | ||
| - | sfdisk /dev/sda < part-table.txt | ||
| - | |||
| - | ==== sgdisk ==== | ||
| - | nur für GPT Partitionen | ||
| - | === sichern === | ||
| - | sgdisk --backup=sda.gpt.bkup /dev/sda | ||
| - | === wiederherstellen === | ||
| - | sgdisk --load-backup=sda.gpt.bkup /dev/sda | ||
| - | |||
| - | ==== dd ==== | ||
| - | geht nur bei identischer Festplatte | ||
| - | === sichern === | ||
| - | dd if=/dev/sda of=part-table.img bs=1 count=512 | ||
| - | === wiederherstellen === | ||
| - | dd if=part-table.img of=/dev/sda bs=1 count=64 skip=446 seek=446 | ||
| - | ==== fdisk ==== | ||
| - | === sichern === | ||
| - | fdisk -l > partitionierung.txt | ||
| - | === wiederherstellen === | ||
| - | geht nur von Hand | ||
| - | |||
| - | ==== gdisk ==== | ||
| - | === sichern === | ||
| - | gdisk -l > partitionierung.txt | ||
| - | === wiederherstellen === | ||
| - | geht nur von Hand | ||
| - | |||
| - | |||
| - | ==== parted ==== | ||
| - | === sichern === | ||
| - | parted /dev/sda print > partitionierung.txt | ||
| - | === wiederherstellen === | ||
| - | geht nur von Hand | ||
| - | |||
| - | Leere Partitionstabelle erstellen: | ||
| - | parted /dev/sda mklabel | ||
| - | msdos | ||
| - | oder | ||
| - | gpt | ||
| - | Partitionierung [[partitionierung#beispielneue_partition_anlegen| von Hand anlegen]] | ||
| - | |||
| - | ====== Partitionierung ====== | ||
| - | ===== fdisk/gdisk ===== | ||
| - | * fdisk - MBR und GPT Partitionstabellen | ||
| - | * gdisk - Spezialist für GPT Partitionstabellen | ||
| - | ==== Benötigte Pakete ==== | ||
| - | Debian: | ||
| - | util-linux | ||
| - | === Wichtige fdisk Befehle === | ||
| - | | m | Hilfe | | ||
| - | | d | Partition löschen | | ||
| - | | n | neue Partition erstellen | | ||
| - | | t | Typ der Partition setzen | | ||
| - | | p | Partitionstabelle anzeigen | | ||
| - | | w | geänderte Partitionstabelle speichern | | ||
| - | | q | fdisk verlassen ohne zu speichern | | ||
| - | |||
| - | ==== Beispiel: neue Partition anlegen ==== | ||
| - | 2100 MByte große Partition auf Festplatte ''/dev/sda'' anlegen: | ||
| - | fdisk /dev/sda | ||
| - | Neue Partition erstellen: | ||
| - | n | ||
| - | Partition als logische Partition erstellen: | ||
| - | l | ||
| - | Startblock auswählen: | ||
| - | |||
| - | //Bei der ersten Partition sollte hier Sektor 2048 oder ein Vielfaches davon stehen. Wenn die Sektorgröße 512 Bytes ist, dann liegt der Partitionsbeginn bei 1048576 Bytes ([[wpde>Mebibyte|=1 MiB]]). Bei virtuellen Maschinen kann man hier auch 0 angeben.// | ||
| - | |||
| - | Größe angeben: | ||
| - | +2100M | ||
| - | geänderte Partitionstabelle speichern: | ||
| - | w | ||
| - | Alte Kerneltabelle ansehen: | ||
| - | cat /proc/partitions | ||
| - | Kernel Partitionstabelle neu einlesen lassen: | ||
| - | partprobe | ||
| - | ((oder | ||
| - | blockdev --rereadpt /dev/sda | ||
| - | )) | ||
| - | |||
| - | Neue Kerneltabelle prüfen: | ||
| - | cat /proc/partitions | ||
| - | |||
| - | ===== Mit parted ===== | ||
| - | ==== Benötigte Pakete ==== | ||
| - | Debian: | ||
| - | parted | ||
| - | |||
| - | === Wichtige parted Befehle === | ||
| - | | help | Hilfe | | ||
| - | | rm | Partition löschen | | ||
| - | | mklabel | neue Partitionstabelle erstellen | | ||
| - | | mkpart | neue Partition erstellen | | ||
| - | | set | Typ der Partition setzen | | ||
| - | | print | Partitionstabelle anzeigen | | ||
| - | | quit | fdisk verlassen ohne zu speichern | | ||
| - | |||
| - | ==== Beispiel: neue Partition anlegen ==== | ||
| - | 2100 MByte große Partition auf Festplatte ''/dev/sda'' anlegen: | ||
| - | parted /dev/sda | ||
| - | Aktuelle Partitionierung ausgeben: | ||
| - | |||
| - | Neue Partition erstellen: | ||
| - | mkpart | ||
| - | Partition type? primary/logical? | ||
| - | l | ||
| - | File system type? | ||
| - | ext3 | ||
| - | Start? | ||
| - | 16500 | ||
| - | End? | ||
| - | 19077 | ||
| - | Parted verlassen: | ||
| - | quit | ||
| - | |||
| - | === Fehlermeldung: The resulting partition is not properly aligned for best performance === | ||
| - | eine Lösung wird nicht mehr Bereitgestellt | ||
| - | |||