Zmień pojemność DMG

20

Podczas zmiany mojego dysku twardego Mac na dysk SSD napotkałem następujący problem:

Stworzyłem obraz DMG mojego starego dysku twardego o pojemności 320 GB. Plik DMG zapamiętał i zapisał pojemność obrazu, a problem polega na tym, że mój dysk SSD ma tylko 120 GB. Więc nie można użyć DMG, jeśli nie mogę jakoś zmniejszyć pojemności ..

EDYCJA : Całkowita ilość wykorzystanego miejsca na obrazie to tylko 15 GB.

Patrzyłem, hdiutilale tak naprawdę jestem programistą Ruby on Rails, więc tak naprawdę nie dostaję takich rzeczy ...

Czy w jakikolwiek sposób przyczynia się do zmniejszenia pojemności DMG?

Dzięki!

Tim Baas
źródło

Odpowiedzi:

39

Nie widziałem, aby to zrobić za pomocą GUI - musisz użyć tego, hdiutilo co prosiłeś. To szybkie polecenie. Aby zmienić rozmiar (zmień 25G na cokolwiek chcesz),

hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg

Innym sposobem na kompresję jest sklonowanie obrazu dysku do pakietu sparsebundle, a następnie skompresowanie pakietu sparsebundle. To może, ale nie musi działać, w zależności od stopnia kompresji.

Najpierw utwórz obraz dysku, który będzie odzwierciedlał twój stary obraz dysku:

hdiutil convert /location/of/disk.dmg -format UDSP -o /PATH/TO/NEWIMAGE.sparseimage

Następnie skompresuj powstały sparseimage:

hdiutil compact /PATH/TO/NEWIMAGE.sparseimage

Jeśli te polecenia nie działają, ma to związek z obrazem dysku i / lub uprawnieniami.

Spędziłem dużo czasu, grając z hdiutilnim i nie jest to bezbłędne - znalazłem i zgłosiłem błędy w Snow Leopard, które wciąż nie zostały poprawione w Mountain Lion, więc jeśli masz trochę dziwne zachowanie, nie rób tego odsuń się!

więc leć
źródło
Próbowałem tego, ale czasownik zmiany rozmiaru powoduje problem z uprawnieniami, teraz tworzę obraz dysku RW, aby sprawdzić, czy to działa.
Tim Baas,
Z moim obrazem dysku RW mogłem użyć czasownika zmiany rozmiaru i zmniejszyć obraz do 120G, co spowodowało pojemność 128,85 GB. To właściwy sposób, ale wciąż nie wystarczy zmieścić się na moim dysku SSD. Mówi, że kompaktowy czasownik nie działa compact failed - function not implemented.
Tim Baas,
@TimBaas Trochę późno, ale jeśli masz problemy z uprawnieniami (być może nie masz dostępu do zapisu na DMG), możesz użyć sudo hdiutil resize -size 25G /PATH/TO/DISK/IMAGE.dmg. Po prostu zrobiłem to z obrazem dysku kopii zapasowej Time Machine i nie wydawało się, aby łamało jakiekolwiek uprawnienia.
sudo
Przekształciłem się w rzadki obraz za pomocą twojego drugiego polecenia, ale wtedy ani compactnor, ani resizenie działałyby na nim. compactpowiedział, że obciął 0 bajtów, ale mam wolne 40GiB. convertpowiedział, że rozmiar jest za mały. Wolumin to Mac OS Extended (Journaled).
sudo,
1

Spróbuj tego:

hdiutil compact image.dmg

Ale jak widać w instrukcji hdiutil :

Depending on the location of files in the hosted filesystem, compact may or may not shrink the image.
klocek
źródło
Dziękuję za twoją reakcję. Podczas wykonywania tego polecenia otrzymuję odpowiedź, że jest to problem z uprawnieniami. Prawdopodobnie dlatego, że dmg jest sformatowanym obrazem dysku tylko do odczytu. Teraz mam Carbon Copy Cloner, który tworzy kopię za pomocą FireWire ..
Tim Baas,
Możesz użyć Mac OS X Disk Utility do konwersji obrazu z ro na rw.
Mam go współpracować z CCC, dzięki za pomoc i tak!
Tim Baas,
1

Po tym, jak cjc wskazał na pytanie na apple.stackexchange.com, zrobiłem to. Zadając pytanie, dotarłem do powiązanego zadania, na które odpowiedział ktoś, kto chciał wypróbować Carbon Copy Cloner.

Carbon Copy Cloner sklonował pliki za pomocą FireWire na mój dysk SSDisk bez wątpienia i wszystko jest tak, jak powinno być ...

Oto pytanie, które mam na myśli:

Przywróć system z DMG (oryginalny dysk źródłowy większy niż docelowy)

Dla osób zainteresowanych zmianą rozmiaru obrazu dysku:

Zmodyfikuj obraz dysku do odczytu i zapisu w Narzędziu dyskowym Maca:

Zamontuj dysk, wybierz go i kliknij nowy obraz dysku. Wybierz opcję odczytu i zapisu w rozwijanej strukturze obrazu dysku i kliknij przycisk Zapisz. (Mój system operacyjny jest holenderski, więc są to moje własne tłumaczenia).

Użyj, hdiutilaby zmienić rozmiar obrazu dysku:

W terminalu: hdiutil resize -size 100G /location/of/disk.dmg. Możesz wymienić 100G na żądany rozmiar.

Opcjonalnie (nie działało dla mnie), możesz spróbować go skompaktować:

W terminalu: hdiutil convert /location/of/disk.dmg -format UDSP -o /location/of/NEW/disk.dmg.

To tworzy rzadki obraz.

Następnie: hdiutil compact /location/of/SPARSE/disk.dmg.sparseimage

Spróbuje to zwolnić miejsce na obrazie dysku. Jeśli to działa, myślę, że może być konieczna zmiana rozmiaru DMG, aby zmniejszyć pojemność (nie jestem pewien) ..

Tim Baas
źródło
0

Próbowałem tego wszystkiego bezskutecznie; hdiutil nie pozwoliłby mi zmienić rozmiaru poniżej pewnego progu (znacznie niższego niż OP).

Prosta odpowiedź:

  1. Utwórz nowy plik DMG o żądanym rozmiarze.
  2. Skopiuj wszystkie pliki ze starego DMG
  3. Zamknij i ponownie otwórz nowy DMG i sprawdź, czy wszystko jest w porządku
  4. Kosz / kopia zapasowa / archiwizacja starego DMG.
Gość_8675309
źródło
Nie jestem pewien, jak to zrobić podczas kopiowania systemu. cpdaje mi mnóstwo błędów dla specjalnych plików.
sudo