Jak sklonować na mniejszy dysk twardy?


42

Jak sklonować dysk twardy na mniejszy rozmiar.

  1. Clonezilla jest świetna, ale nie obsługuje takiej funkcjonalności.
  2. Również ddi PartImage nie obsługują tego żądania.
  3. rsync nie skopiuje MBR, ponieważ MBR nie jest plikiem.

Muszę sklonować dysk twardy, aby nie wykonać kopii zapasowej, więc rsyncnie jest to akceptowalna odpowiedź.

Jakieś sugestie?


2
Tylko jedno pytanie, dlaczego trzeba być klonem? Jeśli dotyczy UUID, czy masz coś przeciwko zmniejszeniu systemu plików przed wykonaniem kopii dd? Jeśli nie masz nic przeciwko zmniejszaniu się, po prostu uruchom resize2fs, aby sprowadzić system plików do miejsca, w którym jest mniejszy niż dysk docelowy, a następnie dd skopiuj go. Z drugiej strony uruchom ponownie resize2fs, aby rozwinąć i wypełnić nowy dysk.
darkdragn

Odpowiedzi:


36

Oczywiście nie można sklonować większej partycji na mniejszą partycję (używając ddi tym podobne), ponieważ po prostu nie ma wystarczającej ilości miejsca.

Jeśli jednak pliki znajdujące się na większej partycji zmieściłyby się również na mniejszej partycji, można użyć rsyncdo skopiowania tych plików. Dokładne opcje użycia zależą od konkretnego przypadku użycia, ale aby po prostu skopiować wszystkie pliki, wykonaj następujące czynności:

rsync -av /mount/point/of/large/partition/ /mount/point/of/small/partition

Edycja: Jeszcze raz: Nie można klonować większej partycji na mniejszą partycję . (Ale czytaj dalej, twój problem można jeszcze rozwiązać.)

Powód jest prosty: partycja źródłowa jest większa niż partycja docelowa. Czego oczekujesz? Czy niektóre bloki powinny zostać porzucone? Które? A skąd mam ddwiedzieć? Oczywiście, można użyć dd„s bs=i count=opcje tylko do skopiowania pierwszy tak a tak wiele bloków z partycji źródłowej tak, że pasuje na partycji docelowej, ale skończy się ze złamanym partycji. Z pewnością nie tego chcesz.

Ponieważ nie możesz sklonować większej partycji na mniejszą partycję, jedyne, co możesz zrobić, to najpierw zmniejszyć rozmiar partycji źródłowej do rozmiaru mniejszego lub równego rozmiarowi partycji docelowej z czymś takim, gpartedco jest świadome specyfika systemu plików, taka, aby nie utracić danych. I tylko wtedy możesz użyć dddo sklonowania partycji. W idealnym przypadku nowy rozmiar partycji źródłowej powinien być równy rozmiarowi partycji docelowej (a nie tylko mniejszy lub równy ), w przeciwnym razie po klonowaniu skończy się nieprzydzielone miejsce na partycji docelowej.

Należy również pamiętać, że należy nie tylko skopiować MBR większego dysku na MBR mniejszego dysku (lub odwrotnie, dla tej sprawy). MBR, który ma rozmiar 512 bajtów i jest pierwszą sekcją dysku twardego, zawiera informacje o układzie dysku twardego:

  • 446 bajtów - Bootstrap.
  • 64 bajty - tablica partycji.
  • 2 bajty - podpis.

(Uwaga 446+64+2=512).

Jeśli nalegasz na klonowanie MBR, sklonuj tylko pierwsze 446 bajtów:

dd if=/dev/source of=/tmp/mbr.bak bs=512 count=1
dd if=/tmp/mbr.bak of=/dev/target bs=446 count=1

... zastępując /dev/sourcei /dev/targetnazwami urządzeń dysku twardego źródłowego i docelowego, np. /dev/sdai /dev/sdbodpowiednio. ( Więcej informacji jest dostępnych tutaj. )

Jednak właściwym sposobem jest zrobienie czystej instalacji Gruba (lub cokolwiek masz na MBR) na nowym dysku twardym.

Podsumowując, jeśli chcesz sklonować większy dysk na mniejszy, wykonaj następujące czynności:

  1. Ułóż tablicę partycji na dysku docelowym z tyloma partycjami, co na dysku źródłowym. Pomiędzy partycjami na dysku źródłowym a partycjami na dysku docelowym powinna istnieć relacja jeden do jednego, z tym że (niektóre) partycje na dysku docelowym mogą być mniejsze niż odpowiadające im partycje na dysku źródłowym. Użyj do tego narzędzia takiego jak fdisklub cfdisk.

  2. Dla każdej partycji na dysku docelowym, która jest mniejsza niż odpowiadająca jej partycja na dysku źródłowym, zmniejsz rozmiar tej odpowiedniej partycji na dysku źródłowym, aby pasował do rozmiaru partycji na dysku docelowym. Użyj takiego narzędzia gparted.

  3. Dla każdej partycji na dysku źródłowym wydaj polecenie

    dd if=/dev/sdaX of=/dev/sdbY
    

    ... aby sklonować partycję /dev/sdaXz dysku źródłowego na odpowiednią partycję /dev/sdbYna dysku docelowym (oczywiście odpowiednio zamień nazwy urządzeń).

  4. Jeśli nalegasz również na klonowanie MBR, użyj dwóch ddpoleceń napisanych powyżej w tym poście (tych z tymi /tmp/mbr.bakrzeczami). Należy jednak pamiętać, że lepsza byłaby czysta ponowna instalacja Grub.


2
rsync nie skopiuje MBR, ponieważ MBR nie jest plikiem, więc rsync nie jest przeznaczony do klonowania. Muszę sklonować
dysk

2
Tak, rsyncrzeczywiście nie jest przeznaczony do klonowania. Właśnie to mówiłem - uważnie przeczytaj mój post. ;) Zredagowałem swój post, aby wyjaśnić, w jaki sposób można sklonować wszystkie partycje, a także MBR. Mam nadzieję, że jest to bliższe temu, czego chcesz.
Malte Skoruppa

1
Jak ktoś wykonuje czystą instalację Grub?
Ken Sharp

1
@KenSharp Zobacz tutaj, na przykład: help.ubuntu.com/community/Grub2/Installing
Malte Skoruppa

1
@gerrit Użycie parted/ gparteddla kroku 1 jest całkowicie w porządku. Jak to często bywa, istnieje wiele sposobów na osiągnięcie celu. fdisk/ cfdisksą bardziej „podstawowymi” narzędziami i w powyższym opisie po prostu próbowałem odwołać się do najbardziej podstawowego narzędzia, które wykonałoby zadanie.
Malte Skoruppa

14

Dokładne klonowanie nie jest możliwe, ponieważ Malte Skoruppa już opublikował. Jednak clonezilla jest w stanie wykonać to zadanie, o ile większy dysk nie jest pełny (Malte już o tym wspominała).

Zasadniczo musisz włączyć opcje zaawansowane i „zignorować” komunikat ostrzegawczy dotyczący mniejszego dysku. Zobacz dokumentację Clonezilla, aby uzyskać szczegółowe informacje na temat zrzutów ekranu. Miałem ten sam problem podczas przywracania kopii zapasowej dysku twardego 160 GB na dysk SSD 64 GB. Dla mnie to działało dobrze.

Innym rozwiązaniem, które powinno być pożądanym rezultatem, byłoby odtworzenie dysku o tym samym rozmiarze i partycjonowanie w celu dopasowania nowego schematu partycji do mniejszego dysku. Zobacz jsm-techblog.blogspot.de, aby dowiedzieć się, jak to zrobić.


@DennisNolte Którą zaawansowaną opcję należy włączyć w Clonezilla? Czytając dokumenty, zgaduję, -k1że utworzy tabelę partycji proporcjonalnie na dysku docelowym i włączy opcję automatycznej -rzmiany rozmiaru systemu plików na partycji. Czy to jest poprawne?
Pro Backup

Nie jestem już w 100% pewien, ale byłyby to opcje, które spróbowałbym, gdyby zrobił to samo ponownie, tak. Jednak potrzebowałem 2 lub 3 prób, aż zadziałało poprawnie, i niestety nie pamiętam, jakie kroki podjąłem, oprócz korzystania z opcji zaliczek.
Dennis Nolte

Nie udało mi się uruchomić tej k1opcji przy użyciu tej opcji, jednak ta -icdsopcja działała dla mnie. Wyślę odpowiedź z dalszymi szczegółami.
bbodenmiller

Dodałem szczegóły na temat tego, jak to działa na askubuntu.com/a/504778/310789 .
bbodenmiller

Clonezilla może to zrobić poprzez kopiowanie z dysku na dysk, ale tylko w trybie eksperta (parametr -icds). @ProBackup pamiętaj o używaniu -k1, w moim przypadku generuje to segfault (Clonezilla Live 20160627). Zamiast tego użyj Gparted przed (i po) klonem, aby zostawić (i odzyskać) tyle nieprzydzielonego miejsca, ile potrzeba, a następnie klon pomijając sprawdzanie miejsca na dysku (-icds). Wymieniłem tutaj kroki, aby wykonać klon na mniejszy dysk (pomiń części Win7 o MBR, jeśli masz tylko Linuksa).
chirale

7

Gparted powinien wykonać zadanie

  1. Po zmianie rozmiaru za pomocą gparted, uruchom komputer z napędu, aby dać systemowi operacyjnemu szansę na naprawienie błędów przed obrazowaniem w Clonezilli.

  2. Następnie uruchom Clonezilla i zrób kopię wymaganych partycji dysku twardego

Kolejna opcja, która okazała się dla mnie świetna : MondoRescure

Mondo Rescue to rozwiązanie GPL do odzyskiwania po awarii.

Obsługuje taśmy, dyski, sieć i dyski CD / DVD jako nośniki kopii zapasowych, wiele systemów plików, LVM, oprogramowanie i sprzęt Raid.

Prosty przewodnik można znaleźć tutaj

Zamieszczę kilka zrzutów ekranu:

KROK 1 KOPIA ZAPASOWA (EKRAN PARTYCJI)

1. Wybierz z listy obsługiwanych typów nośników kopii zapasowych.

wprowadź opis zdjęcia tutaj

2.Jeśli tworzysz kopię zapasową na CD / DVD- + R [W], wówczas Mondo zapyta Cię, czy Twoja nagrywarka CD ma technologię BurnProof, znajduje się w laptopie, czy też jest ekscentryczna. Jeśli tworzysz kopię zapasową w streamerze taśm, nie zobaczysz tego komunikatu

3. Ile chcesz kompresji? Brak, jeśli streamer taśm ma wbudowaną kompresję sprzętową. Maksymalnie, jeśli twój procesor jest niesamowicie szybki. Średnia powinna wystarczyć w większości sytuacji.

wprowadź opis zdjęcia tutaj

4. Jeśli chcesz wykonać kopię zapasową całego komputera (z wyjątkiem / sys, / run i / proc, oczywiście oraz / tmp), pozostaw tę opcję jako /, która jest domyślna. W przeciwnym razie określ podzbiory (np. / Usr / local | / home), upewniając się, że wstawisz potok między każdą ścieżką.

wprowadź opis zdjęcia tutaj

5. Jeśli tworzysz kopię zapasową całego komputera, możesz wykluczyć niektóre katalogi, np. / Shared / MP3. Określ je w oknie dialogowym „wyklucz katalogi”. Proszę wstawić potok pomiędzy każdą ścieżkę, np. / Shared / private | / scratch | / nfs | / windows

wprowadź opis zdjęcia tutaj

6.Czy twoje jądro jest zdrowe? Użytkownicy systemów Red Hat, Mandrake, SuSE, Debian i Slackware powinni ogólnie powiedzieć „tak”, ponieważ ci dostawcy są dobrzy w wytwarzaniu niezawodnych jąder. Jeśli używasz Gentoo lub LFS, twoje jądro może być niestandardowe, w takim przypadku powiedz „nie”, aby użyć bezpiecznego jądra Mondo (dostarczone osobno).

wprowadź opis zdjęcia tutaj

7. Jeśli chcesz zweryfikować archiwa po zapisaniu ich w mediach, powiedz tutaj „tak”. Jeśli masz absolutną wiarę w swój sprzęt i dystrybucję Linuksa, powiedz „nie” ... i trochę modlitwy.

wprowadź opis zdjęcia tutaj

8.Jeśli jesteś pewien, że chcesz iść naprzód, powiedz „tak” i znajdź coś innego do zrobienia, gdy Mondo tworzy kopię zapasową komputera. Jeśli powiesz „nie”, zostaniesz bezceremonialnie zrzucony po zachęcie powłoki. :-)

wprowadź opis zdjęcia tutaj

9. Rozpocznie się proces tworzenia kopii zapasowej. Najpierw należy wykonać kilka zadań poprzedzających tworzenie kopii zapasowych, ale tworzenie kopii zapasowej jest zasadniczo w toku. Aby uprościć proces tworzenia kopii zapasowej, zadano Ci szereg pytań. Następnym razem, jeśli chcesz, możesz wywołać mondoarchive za pomocą różnych przełączników wiersza polecenia, aby kontrolować jego zachowanie, zamiast odpowiadać na szereg pytań. Szczegółowe informacje można znaleźć na stronie podręcznika man.

wprowadź opis zdjęcia tutaj

10.Mondo utworzy katalog wszystkich plików, których kopia zapasowa ma zostać utworzona. Może to potrwać do pięciu minut. Lista plików zostanie podzielona na zestawy, około 4 MB (przed kompresją) plików na zestaw. Zwykle zajmuje to jedną minutę.

wprowadź opis zdjęcia tutaj

11.Mondo dzwoni do Mindi. Mindi generuje obraz nośnika startowego i obrazy dysku danych pomocniczych, które są oparte na istniejącej dystrybucji systemu Linux i systemie plików. W ten sposób możesz mieć pewność, że narzędzia Mondo będą kompatybilne z istniejącymi systemami plików i plikami binarnymi: narzędzia Mondo to twoje narzędzia. Uruchomienie Mindi zajmuje pięć minut.

wprowadź opis zdjęcia tutaj

12. Wreszcie Mondo rozpoczyna tworzenie kopii zapasowej komputera. Proces ten może potrwać kilka minut lub kilka godzin, w zależności od ilości danych, które archiwizujesz, szybkości procesora, ilości pamięci RAM itd. Wykona kopię zapasową zwykłych plików, a następnie dużych plików (pliki większe niż około 32 MB). Jeśli zdecydowałeś się zweryfikować swoje kopie zapasowe, Mondo to zrobi.

wprowadź opis zdjęcia tutaj

KROK 2 PRZYWRÓĆ (KLON PARTYCJI)

1. Wybierz typ nośnika kopii zapasowej. Proces przywracania na żywo jest bardzo podobny do tego, którego doświadczysz, jeśli wpiszesz mondorestore bez parametrów po uruchomieniu z nośnika Mondo.

wprowadź opis zdjęcia tutaj

2. Naciśnij „OK” po włożeniu taśmy / płyty CD. Jeśli utworzono kopię zapasową taśmy, sama taśma powinna wystarczyć. Jeśli utworzyłeś kopię zapasową CD, pierwsza płyta CD powinna wystarczyć. W przeciwnym razie może być potrzebny nośnik rozruchowy.

wprowadź opis zdjęcia tutaj

3. Zgłoś pliki i katalogi, które chcesz przywrócić. Użyj przycisków „Więcej” i „Mniej”, aby otworzyć i zamknąć podkatalogi.

wprowadź opis zdjęcia tutaj

4. Określ lokalizację, w której chcesz przywrócić pliki. Zasadniczo „/” jest właściwe. Jeśli nie chcesz zastępować nowszych wersji przywracanych plików, określ ścieżkę przywracania / tmp / BKP lub podobny.

wprowadź opis zdjęcia tutaj

5.Moreorestore pobierze informacje o konfiguracji z nośnika. (Przykładowy ekran jest przeznaczony dla użytkowników taśm. Użytkownicy CD zobaczą coś innego.)

wprowadź opis zdjęcia tutaj

6. Dane zostaną przywrócone na dysk twardy - najpierw zwykłe pliki, a następnie wszelkie duże (32 MB lub więcej) pliki w zestawie przywracania.

wprowadź opis zdjęcia tutaj


Wygląda interesująco. Spróbuję, a potem
przekażę

@Maythux informacje zwrotne z wynikami?
Highmastdon

Musisz najpierw nagrać wszystko na dysk?
Ken Sharp

Dla tych, którzy lubią wskakiwać i próbować różnych rzeczy, aby mondo mogło działać, musisz pobrać i zainstalować najnowsze wersje lib-projectbuilder-perl, libmondorescue-perl, mindi-busybox, mindi i mondo z MondoRescue link powyżej i zainstaluj je w tej kolejności, aby uniknąć niezadowolonych zależności. Dostępne są pakiety .deb, więc nie musisz ich kompilować ze źródła, jeśli wolisz.
Elder Geek

Wydaje się, że bieżąca wersja nie zawiera interfejsu użytkownika wersji (1.5), a test Mindy nie uruchomił się dla mnie.
Elder Geek

4

„Pseudoklonowanie” większego dysku twardego na mniejszy można osiągnąć za pomocą Clonezilla. Skutecznie możesz zapisywać i przywracać partycje dysku. Doprowadzą Cię następujące kroki (opracowane dla transferu HDD na SSD):

  1. Pierwszą sztuczką jest użycie Gparted do zmiany rozmiaru partycji na dysku twardym, zmniejszając każdą partycję, aby zmniejszyć ilość nieużywanego miejsca w niej zawartego. Oczywiście partycje muszą być tak dobrane, aby całkowita przestrzeń wymagana dla wszystkich partycji była mniejsza niż pojemność dysku SSD.

  2. Następnie uruchamia się Clonezilla i wykonuje kopię poszczególnych partycji dysku twardego (przy użyciu opcji saveparts), przechowując je tymczasowo na zewnętrznym dysku USB. Należy pamiętać, że konieczne jest zapisanie partycji (saveparts) zamiast tworzenia obrazu całego dysku (saveisk).

  3. Po zainstalowaniu dysku SSD na komputerze docelowym drugą sztuczką jest ponowne użycie menedżera partycji w celu utworzenia pożądanej struktury partycji na dysku SSD.
  4. Następnie Clonezilla służy do przywracania zapisanych partycji (przy użyciu części przywracania) na dysk SSD.

Zobacz: „Klonowanie” dysku twardego na mniejszy dysk SSD, aby uzyskać więcej dyskusji na temat tego procesu i kilka linków do źródeł referencyjnych.


3

Ponieważ większość powyższych przykładów wydaje się sugerować faktyczną zmianę rozmiaru oryginalnego dysku, istnieje ryzyko, że Twoje dane zostaną zmodyfikowane przed dokonaniem kopii, jeśli tak jest.

Jest inny sposób, który jest mniej ryzykowny, chociaż bardzo ręczny, którego używam. Ponieważ pozostawia dysk źródłowy nietknięty na wypadek, gdybyś chciał cofnąć się z powodu awarii.

Również przy klonowaniu / zmianie rozmiaru nie można przełączyć się na nowszy system plików podczas przenoszenia na nowy dysk podczas wymiany dysku. Zgodnie z poniższą procedurą wystarczy utworzyć wybrany system plików na dysku docelowym.

Zainstaluj nowy dysk docelowy obok oryginalnego dysku w komputerze.

  • komputer rozruchowy z Live CD Ubuntu.
  • Na dysku docelowym. użyj gparted create: ext4 (lub dowolnego nowego szybkiego systemu plików, na który zdecydujesz się przełączyć) (wolumin oraz swap wolumin i swap - system plików
  • W gparted ustaw flagę rozruchową na nowym woluminie

W moim przykładzie źródłem (oryginalnym dyskiem) jest / dev / sda, a miejscem docelowym (nowym mniejszym dyskiem) jest / dev / sdb W twojej konfiguracji może być inaczej

zamontuj src jako tylko do odczytu w katalogu / mnt / source

  • mkdir / mnt / source; mount -o ro / dev / sda / mnt / souce

zamontuj dysk docelowy pod / mnt / destination

  • mount / dev / sdb1 / mnt / destination /

skopiuj system plików src do docelowego systemu plików za pomocą:

  • rsync -log /mnt/destination/rsync-copy.log --progress -avr --exclude = / mnt / source / dev / -A -H -X --numeric-ids / mnt / source / * / mnt / destination /

Ubuntu używa UUID zamiast nazwy urządzenia, aby znaleźć i zamontować dysk, ponieważ mamy nowy dysk, chcemy zmienić docelowy plik FSTAB, aby użyć nowego dysku UUID do zamontowania dysku

  • ls -la / dev / disk / by-uuid

    teraz zmień uuid na / i zamień w / mnt / destination / etc / fstab. nie zapomnij zmienić systemu plików dla punktu montowania, jeśli zdecydujesz się zmienić go na coś innego niż oryginalny dysk

jeśli ważne jest, aby grub jest tej samej wersji, uruchom ponownie oryginalny dysk i uruchom i uruchom poniższe polecenie, aby zainstalować grub na nowym dysku

  • grub-install / dev / dev / sdb

Teraz wyjmij dysk źródłowy z komputera i uruchom dysk docelowy. grub nie uruchomi się całkowicie i nie przejdzie do powłoki odzyskiwania w powłoce odzyskiwania grub:

aby załadować potrzebne moduły grub - insmod ext2 - insmod linux wyświetla listę urządzeń dyskowych - ls

wybierz odpowiednie urządzenie (w moim przykładzie jest to hd0, msdos1)

  • ustaw root = (hd0, msdos1)

znajdź dokładną nazwę vmlinuz-xxx i initrd-xxx, aby skonfigurować gruba do użycia

  • ls / boot /

    zobacz i użyj poprawnej nazwy dla vmlinuz i initrd, które otrzymałeś od ls powyżej i użyj ich zamiast przykładowej wersji, której używam tutaj poniżej

  • linux /boot/vmlinuz-2.6.32-5-amd64 root = / dev / sda single

    jeśli / dev / sda jest urządzeniem, napęd będzie dyskiem rootfs przy następnym uruchomieniu> komputera z tylko dyskiem dst

  • initrd /boot/initd.img-2.6.32-5-amd64

  • bagażnik

powinno to pomyślnie uruchomić komputer. Wreszcie, aby zaktualizować GRUB-a, aby korzystać z nowego identyfikatora dysku, więc nie trzeba powtarzać tej ręcznej procedury za każdym razem:

  • update-grub

3

Możesz przenieść swoje dane na mniejszy dysk za pomocą Clonezilla i GParted .

Za pomocą GParted Live CD zmniejsz partycje, aby zmieściły się na nowym dysku. Przenieś partycje tak, aby puste (szare) miejsce znajdowało się na końcu / po prawej stronie dysku. Jeśli przed pierwszą partycją było już puste miejsce, zostaw to miejsce, ponieważ może ono zawierać dane rozruchowe lub inne ukryte informacje.

Za pomocą Clonezilla wykonaj device-deviceklon. Wybierz opcje zaawansowane i włącz -icdsopcję pomijania sprawdzania rozmiaru dysku. Kontynuuj klonowanie, usuń stary dysk i spróbuj uruchomić komputer z nowego dysku. Jeśli wystąpią błędy, wypróbuj -fsck-src-partopcję, która pomaga naprawić błędy na dysku źródłowym.

Z dokumentów Clonezilla :

Jeśli masz pewność, że wszystkie dane z obrazu zmieściłyby się na mniejszym dysku, tj. Nie zostaną zapisane na niewłaściwym miejscu na dysku, możesz zaznaczyć opcję „-icds”. Ostrzeżenie! Aby wybrać tę opcję, musisz wiedzieć, co robisz!

W jednym z przeczytanych FAQ zasugerowałem użycie obu opcji -icdsi -k1z Clonezillą, ale to nie działało dla mnie. Inni wspominali, że można kopiować partycje za pomocą GParted, jednak nie można skopiować wszystkich typów partycji i nie mogłem uruchomić komputera po użyciu tej metody, prawdopodobnie z powodu ukrytych informacji między partycjami, które nie zostały skopiowane.


1

Może nie być poprawną odpowiedzią na pytanie, ale dochodzę do tej strony, próbując rozwiązać podobny problem:

Chciałem sklonować starą kompaktową kartę flash 256 MB na kartę 32 MB, która uległa awarii, karta flash zawiera małe urządzenie z systemem Linux, które wytwarza małe cewki sprężynowe.

Rozwiązany w ten sposób:

(Oczywiście efektywna przestrzeń użyta w 256Mb wynosiła <32Mb, więc dobrze pasuje)

  1. utwórz obraz karty flash 256 Mb z „dd” (tzn. zakładając, że karta jest zamontowana w / dev / sdb):

    dd if=/dev/sdb of=image256.iso
  2. Użyj unetbootin, aby odczytać ISO „image256.iso” (opcja Diskimage).

  3. Wybierz napęd USB, na którym znajduje się karta 32Mb, i zrzuć obraz na kartę 32Mb.

To wszystko, karta 32Mb ponownie uruchomiła mój komputer.

HTH


0

Możesz spróbować zrobić to w dwóch krokach, najpierw przekształcić klon systemu w rzadki obraz (obraz staje się większy po dodaniu do niego kolejnych elementów). Teraz przywróć z tego obrazu na drugi mniejszy dysk.


0

można to zrobić .. Z Live CD po prostu zmniejsz system plików (resize2fs), niż lvm (jeśli istnieje) ostatniej partycji (jak / dev / sdc3) z dużego dysku, aby zmieścił się na małym dysku.

Przy pomocy fdisk usuwaj i odtwarzaj przy mniejszych sektorach ostatnią partycję (/ dev / sda3), więc ostatni sektor dużego dysku ma taką samą wartość jak ostatni sektor małego dysku.

Niż #dd if = big of = small bs = 10M, aż zabraknie miejsca.

Dodatkowa ostrożność podczas zmniejszania, ponieważ jedna zła wartość spowoduje utratę danych.


0

Po zmniejszeniu systemu plików na większym dysku za pomocą GParted umieściłem dwa dyski w obudowie RAID w trybie dublowania, gdzie większy dysk jest źródłem, a mniejszy dysk jest celem. Musiałem tylko kliknąć przycisk resetowania wewnątrz skrzynki (nie zmieniać trybu, tj. Raid 1 na Raid 0), aby rozpocząć klonowanie. Działa idealnie! :) Użyłem obudowy RAID GW3.5AX2-SU3 / MB.


0

publikuję swoje doświadczenia dotyczące zmniejszania dysku rozruchowego z dyskiem 250 GB (SDA) na dysk 120 GB (SDC)

sda zawiera 2 partycje:

  • sda1 -> / boot (ext3)
  • sda2 -> lvm2: / (245GB) i zamiana (5 GB)

ja również:

  • dd sda mbr do sdc
  • fdisk sdc i zapisz zmiany, więc tworzy strukturę w sdc
  • dd sda1 do sdc1

wtedy jak mój gparted NIE działa z lvm:

z dysku ratunkowego:

  • pierwszy umount VG / LV00
  • e2fsck VG / LV00
  • resize2fs / VG / LV00 xxxxxxxxK (daję 1 GB więcej niż zajęte miejsce)
  • lvreduce -L xxxxxxxxxK VG / LV00 (daję 1 GB więcej niż przestrzeń FS)
  • pvresize / dev / sda2 --setphysicalvolumesize xxxxxxxxxxxxK (daję 1 gb więcej niż trzy miejsca na LV) (mam tutaj BŁĄD ... więc:

    • pvs -v --segments / dev / sda2 (aby zobaczyć segmenty)
      • pvmove --alloc wszędzie / dev / sda2: segment_min-segment_max (z segmentów, które widziałem „po prawej” dysku)

Ale wciąż partycja była duża, ponieważ zmniejszam tylko FS-LV-VG, więc:

ponownie tworzę partycję za pomocą fdisk:

fdisk /dev/sda 
d --> 2
n --> p --> 2 --> default --> (new reduced
size!!!)
 w

następnie system pyta, czy stara tablica partycji będzie używana do następnego uruchomienia. Ale zapomniałem zrestartować się i zrobić obraz:

dd if = / dev / sda2 of = / dev / sdc2 bs = 4096 (w tym momencie myślałem, że coś będzie nie tak i nie mogłem uruchomić z sdc, ponieważ tablica partycji nie odzwierciedla końca nowego sda2)

ALE wszystko było w porządku i po ponownym uruchomieniu, a nawet system wybiera partycję sdc do uruchomienia (narzeka na zduplikowane PV, LV i / boot)

Nie wiem, czy mam szczęście, czy robię niepotrzebne kroki ... każdy komentarz będzie wdzięczny.


Czy to odpowiedź czy pytanie?
Seth

Obie rzeczy, jak sądzę ...
oso_togari

0

Oświadczenie: Jestem oryginalnym autorem WereSync

Jest to możliwe przy użyciu WereSync . WereSync postępuje zgodnie z ogólnym procesem odpowiedzi Malte, ale wymaga tylko jednego polecenia zamiast kilku. Ponadto, jeśli używasz swojego klonu jako kopii zapasowej, może on stopniowo aktualizować tę kopię zapasową, ponieważ wykorzystuje rsync w backendie.

Aby zainstalować WereSync, użyj pip:

pip install weresync

Stamtąd możesz po prostu użyć polecenia WereSync

 weresync -C -g 2 -E 1 /dev/sda /dev/sdb

Powyższe polecenie kopiuje dane z / dev / sda do / dev / sdb. Te -Cznaki flag że WereSync należy sprawdzić, czy partycji na dwa dyski są równoważne, a jeżeli nie są one WereSync należy skopiować partycje z / dev / sda do / dev / sdb i zmieniać je tak, że pasuje. UUID nowych partycji będą różne. System używany do testowania poprawności partycji może być wybredny, więc po pierwszej kopii zapasowej zalecam pominięcie tej flagi.

Polecenia -gi -Emożna pominąć, ale instalacja modułu ładującego prawie na pewno zakończy się niepowodzeniem.

-g odnosi się do „partycji grub”, w przeciwnym razie grub powinien być zainstalowany. Ogólnie jest to partycja zamontowana na /. Więc jeśli masz / dev / sda2 zamontowane na /, przechodzisz -g 2do WereSync, jak w powyższym przykładzie. Jeśli zostanie to pominięte, WereSync spróbuje samodzielnie wykryć odpowiednią partycję, ale jest to podatne na błędy. Polecam po prostu przekazać flagę.

-Eodnosi się do partycji EFI. Jeśli twoja partycja EFI jest na / dev / sda1, przekaż -E 1do WereSync jak w powyższym poleceniu.

Jeśli masz oddzielną partycję dla folderu / boot, musisz również poinformować WereSync. Jeśli masz to na / dev / sda3, przejdź -B 3do WereSync.

Bardziej szczegółowe informacje na temat możliwych flag dla tego polecenia można znaleźć w dokumentacji polecenia WereSync .


Czy możesz dodać film na żywo?
Tal.

0

Doszedłem do tego problemu, ponieważ aktualizacja Win 10 do 1607 ulegałaby awarii po ponownym uruchomieniu, spowodowana nierozpoznaniem mojego NVMe (Samsung 950 Pro), więc sklonowałem NVMe na innym (większym) dysku wewnętrznym (w moim przypadku „Toshiba”) , zaktualizowano Win 10 i przywrócono system do NVMe.

Oto kroki, które musiałem zrobić, aby to osiągnąć (ponieważ części przywracania -icdsnie działały).

Przybory:

  • Windows 10 1607 DVD (głębia bitowa i język w zależności od bieżącego systemu operacyjnego)
  • Clonezilla Live DVD ( 2.4.5 + )
  • lub Clonezilla Live DVD ( 20160203-xenial + ), ponieważ można go uruchomić z ustawionym UEFI w systemie BIOS
  • (opcjonalnie) GParted Live DVD ( 0.27.0-1 )

Przygotowanie:

  1. wypal wszystkie narzędzia na płytach CD / DVD
  2. uruchom Clonezilla i sklonuj NVMe do obrazu (na np. dysku zewnętrznym)

Uwaga:

Jeśli korzystałeś z Clonzila ze stabilnej gałęzi, musisz przejść do starszego trybu rozruchu w BIOSie, aby móc uruchomić z płyty CD. W przeciwnym razie, jeśli korzystasz z pobierania z alternatywnego oddziału, powinien on obsługiwać rozruch UEFI.

Zrzeczenie się:

Postępuj zgodnie z instrukcjami na własną odpowiedzialność. Kroki i polecenia tutaj są sprawdzane i sprawdzane podwójnie, ale literówki mogą spowodować utratę danych lub awarię sprzętu, więc najpierw dowiedz się, co robisz, i wykonaj te kroki jako wskazówki w dobrym kierunku.

Procedura:

  1. uruchom Clonezilla i sklonuj (dysk do napędu) NVMe do Toshiba (w moim przypadku drugi dysk wewnętrzny, który wcześniej wyczyściłem / utworzył kopię zapasową)
  2. za pierwszym razem myślę, że miałem pewne konflikty w systemie Windows z NVMe wciąż posiadającym informacje o rozruchu Win, więc tym razem natychmiast po początkowym klonowaniu do Toshiby (więc przed przejściem na rozruch UEFI) usunąłem wszystkie partycje na dysku NVMe

    ~ usuwanie można łatwo wykonać w powłoce Clonezilla za pomocą:

    sudo su
    dd if=/dev/zero of=/dev/nvme0n1 bs=512 count=1
    

    ~ alternatywnie uruchom system GParted i zrób to tam wizualnie

  3. (przełącz na rozruch UEFI w BIOSie)

  4. boot (zostanie użyte Toshiba)
  5. uruchom Win 10 1607 zainstaluj DVD i wybierz Zainstaluj, zaznacz Pobierz aktualizacje i wybierz Zachowaj aplikacje i dane. To powinno uaktualnić Toshiba do najnowszej wersji Win 10.
  6. (przejdź do starszego rozruchu w systemie BIOS) na wszelki wypadek, wykonaj kopię zapasową Toshiba do obrazu (przez Clonezilla)
  7. ponieważ kopiowanie MBR nic mi nie zrobiło, GPT jest ważne w tej historii, więc wejdź do powłoki (Clonezilla) i skopiuj GPT z Toshiby do NVMe za pomocą

    sudo su
    sgdisk /dev/sda -R /dev/nvme0n1
    sgdisk -G /dev/nvme0n1`
    

    ( wyjaśnienie )

  8. ponieważ Clonezila (nawet z przełącznikami Expert) odmawia przywracania partycji, ponownie wejdź do powłoki i wykonaj:

    partprobe #forces kernel to reload partition infos
    fdisk -l #shows all disks info
    dd if=/dev/sda1 of=/dev/nvme0n1p1 bs=64K status=progress
    dd if=/dev/sda2 of=/dev/nvme0n1p2 bs=64K status=progress
    dd if=/dev/sda3 of=/dev/nvme0n1p3 bs=64K status=progress
    ...
    

    ( więcej informacji )

  9. zrób kopię zapasową Tosiba MBR i GPT:

    sgdisk --backup=sda.gpt /dev/sda
    
  10. skopiuj kopię zapasową w bezpieczne miejsce (abyśmy mogli ją przywrócić, a nie cały obraz dysku, który zrobiliśmy w kroku 6)

    mkdir /mnt/usb
    (put in usb flash or similar)
    mount /dev/sdb /mnt/usb
    cp sda.gpt /mnt/usb
    umount /dev/sdb`
    
  11. wyczyść informacje o partycji Toshiba, aby nie powodowało to konfliktów z systemem Windows

    dd if=/dev/zero of=/dev/sda bs=512 count=1
    
  12. (przełącz na rozruch UEFI w systemie BIOS) uruchom system z dysku DVD z systemem Windows 10 (1607), wybierz polecenie Napraw> Rozwiązywanie problemów> Wiersz polecenia i wykonaj wszystkie te czynności:

    bootrec /fixboot
    bootrec /scanos
    bootrec /fixmbr
    bootrec /rebuildbcd
    exit
    

    ( więcej informacji )

  13. uruchom ponownie system Windows 1607 na dysku NVMe

  14. Zdobyć!
  15. (ponownie zainicjuj Toshiba w Zarządzaniu dyskami)
  16. (opcjonalnie) wykonaj kopię zapasową zaktualizowanego dysku NVMe (klonuj do obrazu za pomocą Clonezilla)
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.