[Eisfair] howto partitionsgrenzen verschieben

D. Oezbilen oezbilen at gmx.net
Sa Feb 13 20:44:15 CET 2021


Hallo Andreas,
hast Du ueberhaupt die Moeglichkeit die ganze Platte (alle Part.) zu 
sichern, dd etc. ?

Zumindenst - ohne gebootet zu haben- per find und cpio.
	
	find . (wo auch, was eingehaengt ist, die Part einzeln) -print | cpio 
-dumpv /wohin_auch_immer_Partx

ergibt eine 1:1 Kopie der Dateien, das v. der Geometrie der Platte 
losgeloest ist.
Ein kleiner, feiner Unterschied zu dd, was _immer_ die Geometrie der HD 
mit nimmt. Wenn irgendwas schief geht, kannst Du auf eine frisch 
formatierte HD, Part. diese Sicherung rueckspielen

Achtung auf die UUID, sonst per

	tune2fs -U [blkid-alt] fuer ext2/3/4 -
	mkswap -U [blkid-alt] fuer swap
	xfs_admin -U [blkid-alt] fuer xfs

setzen. Deswegen ist es auch hoch ratsam mit blkid > /bklid.txt die akt. 
UUIDs zu dumpen.

Wenn der Bootsector wech ist, empfehle ich Dir grub2.iso (oder so 
aehnlich) um dieses BS ueberhaupt zu booten und darin den Bootsector 
(per lilo oder grub) wieder zu installieren. Das funkt absolut 
zuverlaessig.

dd haette den Vorteil, dass Du natuerlich diese Sicherung als Image per 
losetup /dev/loopX auf einer anderen Maschine einbinden koenntest, die 
eine Graphik hat, damit gparted zum Zuge kommt, statt evtl. mit der cli 
einen Blindflug anzutreten.
Das alles war nur die Vorab-Sicherung des System, irgendwie, 
irgendwohin, aber auch so, dass alles erhgalten bleibt und Du auf 
Dateiebene an alles ran kommst. Fuer den Fall der Faelle, dass ...

Wenn Du ein dd-Image hast, bringt einfaches

	losetup

z.B. dies:

losetup

NAME       SIZELIMIT OFFSET AUTOCLEAR RO BACK-FILE
/dev/loop0         0      0         1  1 /home/iso-images/linux/debian.iso
/dev/loop1         0      0         1  1 /home/iso-images/xyz.iso
/dev/loop2         0      0         0  0 /home/vm/eisx64/veisx64

Wenn Du jetzt ein anderes Image, eine dd-Sicherung einbinden willst ist 
_drei_ dran
=>
[debbie ist das Image]
losetup /dev/loop3 ./debbie

// losetup -f --show ./veisx64 zeigt an, und bindet zugleich ein ohne 
Arithmetik :-) //

losetup zeigt jetzt

...
/dev/loop2         0      0         0  0 /home/vm/eisx64/veisx64
/dev/loop3         0      0         0  0 /home/vm/LinuxMint/debbie

mit kpartx kannst Du die Parts de loop3-devs dem System bekannt machen:

kpartx -av /dev/loop3
add map loop3p1 (253:0): 0 8398848 linear /dev/loop3 4096
add map loop3p2 (253:1): 0 92258304 linear /dev/loop3 8404992

BTW:
Mit
	mount /dev/mapper/loop3p2 /x
bindest Du die zweite Part aus dem Image ein.
loop3p1 ist in diesem Bsp. swap, uninteressant, deswegen loop3p2

Ein df -h zeigt dann:
/dev/mapper/loop3p2   44G   16G   26G  39% /x
So kaemst Du auch an die Dateien in der Part.

Interessant ist jedoch, jetzt unter einer GUI und einem Terminal auf der GUI

	gparted /dev/mapper/loop3p2

zu starten. Hier kannst Du gparted arbeiten lassen. Nach dem selben 
Muster gehst Du die andern Part. an. Alle befinden sich in /loop/devX; 
ueber loopXpY werden diese Part. v. gparted hin- und her geschoben.

Abbau in umgekehrter Folge:
Wenn ein Mount vorliegt, umount /dev/mapper/loopXpy.
Dann ein kpartx -d /dev/loop3
Zum Ende hin ein losetup -d /dev/loop3.

Wenn alle Part. so sind, wie Du es haben willst, kannst Du dieses mod. 
Image per dd wieder in die Kiste rueckschieben/-schreiben. Sollte es 
schiefgegangen sein, hast Du immerhin das dd-Image und nach o.a. Abfolge 
kommst Du an alles dran, Config etc.

Sollte das rueckgespielte dd-Image auf der Kiste nicht booten, dann per 
grub2
<https://www.supergrubdisk.org/super-grub2-disk/>
die Part, den eis booten und lilo ausfuehren.

Viel Erfolg
Oezbilen


Mehr Informationen über die Mailingliste Eisfair