blockdev --rereadpt /dev/sda
Dies ist eine alte Version des Dokuments!
lsblk
Das lange unter Linux gebräuchliche MSDOS oder MBR Format sollte man nur bei Festplatten unter 2TB verwenden. Für größere Festplatten, und wenn man wie bei aktuellen Rechnern üblich eine UEFI Firmware an Stelle des BIOS vorfindet, sollte man für die Partitionstabelle GPT verwenden.
Erstellen einer virtuellen Festplatte und vorbereiten für den Einsatz in einer VM
Pakete installieren:
qemu-img
qemu-utils
qemu-tools
Virtuelle Festplatte erstellen:
qemu-img create /srv/vmdisk1.img 2G
parted /srv/vmdisk1.img
GPT-Partitionstabelle anlegen: (In der parted
Kommandozeile)
mklabel gpt
100 MiB Swap-Partition anlegen:
mkpart linux-swap 1MiB 100MiB
Daten-Partition anlegen:
mkpart ext4 100MiB 100%
parted
verlassen:
quit
Partitionen aus der Image-Datei im System sichtbar machen:
losetup --show -f -P /srv/vmdisk1.img
Swap-Partition formatieren:
mkswap /dev/loop0p1
System/Datenpartition mit XFS für VM mit 2 vCPUs formatieren:
mkfs.xfs -d agcount=2 /dev/loop0p2
yumdownloader centos-release.x86_64 rpm --root /mnt/loop -ihv centos-release-7-*.rpm install -b --suffix=.orig /etc/yum.repos.d/CentOS-Base.repo /mnt/loop/etc/yum.repos.d/CentOS-Base.repo yum -y --nogpg --releasever=7 --installroot=/mnt/loop install systemd passwd yum procps-ng iproute tmux grub grub2-install --root-directory=./ /dev/loop0
TODO: formatieren, vergrößern
sfdisk -d /dev/sda > part-table.txt
sfdisk /dev/sda < part-table.txt
geht nur bei identischer Festplatte
dd if=/dev/sda of=part-table.img bs=1 count=512
dd if=part-table.img of=/dev/sda bs=1 count=64 skip=446 seek=446
fdisk -l > partitionierung.txt
geht nur von Hand
gdisk -l > partitionierung.txt
geht nur von Hand
parted /dev/sda print > partitionierung.txt
geht nur von Hand
Leere Partitionstabelle erstellen:
parted /dev/sda mklabel msdos
oder
gpt
Partitionierung von Hand anlegen
Debian:
util-linux
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 |
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 (=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
Neue Kerneltabelle prüfen:
cat /proc/partitions
Debian:
parted
help | Hilfe |
rm | Partition löschen |
mklabel | neue Partitionstabelle erstellen |
mkpart | neue Partition erstellen |
set | Typ der Partition setzen |
Partitionstabelle anzeigen | |
quit | fdisk verlassen ohne zu speichern |
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
Partition anlegen:
parted /dev/sda print mkpart quit
Mountpoint anlegen und temporär mounten
mkfs.ext3 /dev/sda6 mkdir /mnt/sda6 mount /dev/sda6 /mnt/sda6
Daten in die neue Partition kopieren:
cp -a /usr/bin/. /mnt/sda6
Kopie überprüfen:
( cd /usr/bin; tar c . ) | ( cd /mnt/sda6; tar d . )
Partition wieder aushängen
umount /mnt/sda6
Partition endgültig mounten:
mount /dev/sda6 /usr/bin tail -n 1 /etc/mtab >> /etc/fstab
Daten auf Orginalpartition löschen:
mkdir /mnt/original mount --bind / /mnt/original shopt -s dotglob rm /mnt/original/usr/bin/* ls -la /mnt/original/usr/bin umount /mnt/original
blockdev --rereadpt /dev/sda