Diskavbildning är ett mycket användbart verktyg om du vill skapa en hel kopia av en volym och återställa den vid ett senare tillfälle, antingen till samma disk eller en annan helt.
Det är en integrerad del av Disk Utility och, som med partitionering, skapa & återställning av bilder kan utföras via kommandoraden.
Diskbilder förklaras
En diskavbildning är en fil som innehåller hela strukturen för en partition eller till och med bara en mapp. På Mac brukar diskbilder vara DMG-filer. Du kommer förmodligen att ha stött på dessa när du laddar ner appar, som Skype, från webben. Om du minns dagarna med programvara som fanns på antingen en diskett eller optisk skiva, har diskbilder utformats för att fungera på ungefär samma sätt men genom digital, snarare än fysisk, distribution.
När du skapar en bild av en diskpartition dupliceras hela dess struktur till en enda fil, bit för bit. Låt oss säga att vi hade en extern hårddisk som innehåller en enda volym och skapade en diskavbildning från den. Om vi sedan återställde den här skivavbildningen till en annan extern hårddisk skulle den innehålla exakt samma volym med identisk information.
Diskavbildningar behåller också startfunktionalitet, så bilder skapade från startbara OS X-volymer kan skapas och återställas. Detta är särskilt användbart för dem som behöver konfigurera tiotals, om inte hundratals, liknande Mac-datorer med samma programvarukonfiguration. Upprepa istället hela konfigurationsprocessen på varje Mac, den kan slutföras på bara en Mac och en diskavbildning av den skapas och sedan återställas till varannan Mac.
Skapa en diskavbildning av en volym
Kommandot diskutil
är endast för diskhantering, när det gäller att skapa och återställa bilder finns det två andra kommandon att känna till.
Den första, hdiutil
, används för att manipulera diskavbildningar. För syftet med den här guiden kommer vi att använda den för att skapa nya diskavbildningar (även om det finns mycket mer kommandot kan göra).
För att skapa en diskavbildning av en partition är kommandot:
sudo hdiutil create ~/Desktop/{diskavbildningsnamn}.dmg -srcdevice /dev/{diskidentifierare}
Att köra hdiutil
på detta sätt måste vara som root, därför börjar det med sudo
.
Ett exempel på detta kommando i praktiken skulle vara:
sudo hdiutil create ~/Desktop/Lion.dmg -srcdevice /dev/disk2s4
Det här kommandot skapar en ny diskavbildning som heter Lion.dmg på skrivbordet baserat på diskidentifieraren disk2s4. I det här fallet syftade detta på en volym som innehåller en installation av OS X Mavericks.
Skapa en diskbild av en mapp
Kommandot hdiutil
kan också användas för att skapa en diskavbildning baserad på en mapp.
hdiutil create {imagename}.dmg -volname "{Name of volume}" -srcfolder /{path to folder}'
Med kommandot ovan kan vi utföra följande:
hdiutil create ~/Desktop/newimage.dmg -volname "New Disk Image" -srcfolder ~/Desktop/myfolder
Namnet på diskavbildningen och volymnamnet är två olika saker, den första hänvisar helt enkelt till filnamnet på den skapade skivavbildningen. När bilden monteras eller återställs på en disk är volymnamnet det som hänvisas till. Så om jag monterar den här nya diskavbildningen ser du att OS X monterar den som "Ny diskavbildning".
Diskbilder som genereras med ovanstående metoder är skrivskyddade och formaterade som HFS+ som standard, även om deras storlek kommer att vara precis tillräckligt för att innehålla all data som behövs.
Standarddiskbilder kan inte öka i storlek, så du måste ange en viss storlek om du tänker lägga till data till den senare. Parametern -size
kan användas för att ange storleken på skivavbildningen som ska skapas.
Om du behöver ändra eller lägga till mer data till diskavbildningen, använd parametern -format UDRW
som representerar läs/skriv.
Om du kombinerar allt ovanstående blir kommandot:
hdiutil create ~/Desktop/newimage.dmg -volname "New Disk Image" -size 1g -format UDRW -srcfolder ~/Desktop/myfolder
Skapa krypterade diskbilder
Även om Mac OS X inte stöder lösenordsskyddade mappar, kan du skapa krypterade diskbilder och lagra viktiga filer i.
För att skapa en krypterad diskavbildning, använd kommandot:
hdiutil create {imagename}.dmg -kryptering -size {size} -volname {Name of volume} -format {filsystem}
Till skillnad från tidigare exempel läser/skrivs krypterade diskbilder som standard men innehåller inget filsystem, så ett måste anges innan det kan användas.
Här är ett exempel på kommando för att skapa en 1 GB krypterad diskavbildning:
hdiutil create encrypted.dmg -kryptering -storlek 1g -volname "Encrypted Disk Image" -fs JHFS+
Under processen kommer OS X:s lösenordsgenerator att visas för dig att antingen ange och bekräfta (eller generera) ett lösenord.
Ändra storlek på skivavbildningar
Om du skapar en diskavbildning som har blivit full, eller en som var mycket större än nödvändigt, kan den ändras storlek med hjälp av ändra storlek
och -storlek
code> parameter.
hdiutil resize -size {new size} {imagename}.dmg
Förutsatt att det antingen finns tillräckligt med ledigt utrymme på volymen som skivavbildningen är placerad på, eller att storleken inte är mindre än den totala mängden data som den innehåller, kommer skivavbildningen att ändra storlek enligt den angivna storleken.
hdiutil resize -size 2g newimage.dmg
Återställa skivavbildningar
Att kopiera en diskavbildning till en volym på en disk kallas oftare för återställning, du skulle återställa en diskavbildning. Även om termen antyder att diskavbildningen kan ha sitt ursprung från den disk du använder i första hand, används den oavsett detta faktum.
Återställning av diskavbildningar görs inte med antingen hdiutil
eller diskutil
, men med nästa kommando som vi tittar på: asr
.
asr
(Apple Software Restore), används för att kopiera (återställa) en diskavbildning till en disk. Kommandot som används för att återställa en diskavbildning är:
sudo asr restore --source {disk image}.dmg --target /Volumes/{volume name}
Det finns några alternativ som kan inkluderas för att påskynda processen som kan läggas till i slutet av kommandot.
- noprompt (visar inga meddelanden före radering eller återställning)
- överifiera (hoppar över verifiering efter återställning)
- radera (radera målvolymen innan du fortsätter)
Ett exempel på kommando som använder dessa alternativ skulle vara:
sudo asr restore -source ~/Desktop/Lion.dmg -target /Volumes/Lion -noprompt -noverify -erase
Återställa volym till volym
Om du behövde duplicera en volym från en extern hårddisk till en annan, behöver du inte skapa en diskavbildning först eftersom asr
kan återställa en volym till en annan.
Kommandot för att göra detta liknar att återställa en diskavbildning, men vi refererar till en volym istället för en diskavbildning. Till exempel:
sudo asr restore -source /Volumes/Mavericks --target /Volumes/NewVolume -noprompt -noverify -erase
När det är klart kommer målvolymen att vara identiskical till källvolymen, även med samma namn.
Avslutning
Med en kombination av diskutil
, hdiutil
och asr
kan funktionerna i Diskverktyget alla utföras via kommandoraden, från krypterade diskavbildningar till grundläggande volymduplicering.