montering av en dd-bild
nyligen var jag tvungen att installera om min bärbara dator på grund av *skäl*. Jag är dock van vid att säkerhetskopiera det regelbundet genom att skapa en fullskivavbildning med dd som lagras på en separat hårddisk.
nu ville jag återställa några data och inställningar från min senaste säkerhetskopia genom att montera den i min fräscha bärbara dator.
lösningen
en lösning skulle vara att genomsöka partitionstabellen genom att använda fdisk:
Disk /media/gue/GUE-USB3/finalBackup.dd: 238,5 GiB, 256060514304 byte, 500118192 sektorer
enheter: sektorer av 1 * 512 = 512 byte
sektorstorlek (logisk/fysisk): 512 byte / 512 byte
I/O-storlek (minimum/optimal): 512 byte / 512 byte
Disklabel typ: dos
diskidentifierare: 0x57bf86df
Enhetsstart Start Slut sektorer storlek Id Typ
/media/gue/GUE-USB3/finalBackup32Bit_T440S_20200124.dd1 * 2048 500117503 500115456 238,5 g 83 Linux
det berättar att en partition av typ 83 (=Linux) börjar vid byte#2048 och slutar vid byte #500117503, och där kunde vi redan använda mount-kommandot för att montera det.
men – detta tillvägagångssätt blir mer komplicerat med fler partitioner, börjar vid olika förskjutningar eftersom du bara kan blanda upp saker och av misstag försöka montera saker som inte existerar.
sedan snubblade jag över kpartx.
loop2p1 : 0 500115456 /dev/loop2 2048
loop borttagen : /dev/loop2
den läser partitionstabeller på angiven enhet och skapar enhetskartor över partitioner segment detekterade. Det kallas från hotplug på enhetskartor skapande och radering – vilket är precis vad vi vill ha.
så istället för callint det med parametern-l kunde jag starta det med parametern – A som skapar loopback-enheter och samtal hotplug (som används för att montera enheten efteråt) så här:
Fine – systemet lägger partitionen som enhet som kan vara (om du har acces rättigheter) läsas som ett USB-minne.
för att bli av med det, ring det bara med parametern-d som tar bort loopback-enheterna:
det är det, ha kul !
Leave a Reply