Jak rozwinąć zaszyfrowaną partycję ubuntu za pomocą LVM

8

Mam instalację Ubuntu Mate Trusty na VB, którą chcę przenieść na fizyczny laptop. Postępując zgodnie z tym przewodnikiem, udało mi się go uruchomić. Jedynym problemem jest teraz to, że chcę rozszerzyć bieżącą partycję, aby wypełnić resztę dysku, który jest zaszyfrowany i używa LVM. Gparted nie obsługuje tego typu operacji, więc muszę skorzystać z interfejsu CLI. Jednak nie rozumiem niczego na temat ręcznego zmieniania rozmiaru partycji i wszystkie przewodniki, które mogę znaleźć, albo koncentrują się na zmniejszaniu partycji, albo są strasznie nieaktualne.

Czy jakiś guru od partycjonowania może zapewnić mi wskazówki do naśladowania?

Dzięki

John Blackberry
źródło

Odpowiedzi:

5

Po długim majstrowaniu i wielokrotnym niepowodzeniu (dzięki Bogu za kopie zapasowe) mogłem go zmienić. Oto mój przewodnik.

Zakłada się, że masz tablicę partycji taką jak moja: sda1 jest zamieniony i około 250 MB, sda2 to pojemnik z sda5 (naszym woluminem kryptograficznym) i dużą ilością wolnego miejsca przed sda2, tak jak

|sda1|sda2 (sda5)|free space|

Uruchom na LiveCD swojej ulubionej dystrybucji. Uruchom gparted i zmniejsz partycję sda1 o około 20 MB. Wynika to z faktu, że fdisk wymaga bufora nieprzydzielonego miejsca między początkiem sda2 i sda5, nie wiem dlaczego. Podczas gdy jesteś przy tym, zwiększ rozmiar sda2 tak daleko, jak to możliwe, aż do prawej. Powinieneś skończyć z

|sda1|free space|sda2 (sda5)|

Śmiało i uruchom fdisk

sudo fdisk /dev/sda

naciśnij p, aby wydrukować bieżący schemat partycji. Zapisz, gdzie zaczyna się sda5.

naciśnij d, aby usunąć najpierw sda5, a następnie sda2. Straszny.

Teraz naciśnij n, aby utworzyć nowy wolumin. Naciśnij e, aby wybrać typ rozszerzony i numer 2. 2. Domyślne wartości początkowe i końcowe powinny być prawidłowe.

Teraz utwórz nową partycję, wpisz Linux (powinna być domyślna) i ponumeruj 5. Wartość początkowa powinna być taka sama jak wcześniej zapisana dla sda5, wartość końcowa jest domyślna (o ile to możliwe) ).

Naciśnij ponownie przycisk p, aby upewnić się, że wszystko jest w porządku, a następnie naciśnij przycisk w, aby zapisać zmiany na dysku.

Ponownie uruchom komputer na żywo.

Jeśli otworzysz gparted, powinieneś go teraz mieć

|sda1|sda2 (free space) (sda5)|

Wykonaj następujące kroki :

Odszyfruj system plików.

sudo cryptsetup luksOpen /dev/sda5 crypt1

Pobierz płytę CD na żywo, aby rozpoznać (aktywować) LVM.

sudo vgscan --mknodes
sudo vgchange -ay

Zmień rozmiar krypty.

sudo cryptsetup resize crypt1

Zmień rozmiar woluminu fizycznego (LVM).

sudo pvresize /dev/mapper/crypt1

Zmień rozmiar woluminu logicznego root (LVM).

Odblokuj wolumin fizyczny (LVM).

 sudo pvchange -x y /dev/mapper/crypt1

Zmień rozmiar woluminu fizycznego (LVM).

 sudo lvresize -l +100%FREE /dev/ubuntu-vg/root

Ponownie zablokuj wolumin fizyczny.

 sudo pvchange -x n /dev/mapper/crypt1

Zmień rozmiar systemu plików.

sudo e2fsck -f /dev/mapper/ubuntu--vg-root
sudo resize2fs -p /dev/mapper/ubuntu--vg-root

Teraz powinieneś zrestartować się i jeśli wszystko poszło dobrze, powinieneś mieć większą zaszyfrowaną partycję.

Uwaga : Ta metoda ma tę wadę, że okrada cię z około 20 MB wymiany. Jeśli zmiana rozmiaru wymiany nie zostanie wykonana, fdisk nie pozwoli ci napisać sda5 w wymaganej pozycji (podejrzewam, że może to prowadzić do uszkodzenia). To zastrzeżenie jest konieczne, dopóki ktoś nie wyjaśni dokładnie, co robi fdisk za kulisami i czy jest jakiś sposób, aby zmusić go do licytacji.

John Blackberry
źródło
1
Doskonały! Świetnie mi działało - sklonowałem twardy dysk laptopa na większy i chciałem wykorzystać dodatkową przestrzeń. Jedyną różnicą były moje buty z UEFI, więc partycja /dev/sda3nie jest sda5, więc odpowiednio wprowadziłem zmiany. Wydawało się też, że nie musiałem wyjmować 20 MB sda2, działało dobrze, po prostu się zmieniając /dev/sda3. Dzięki!
seanlano
Dzięki! tylko 2 notatki. Przed rozpoczęciem musiałem zmienić rozmiar partycji rozszerzonej (sda2), która zawiera zaszyfrowaną (sda5). Pominąłem również 3. przed ostatnim poleceniem, zrobiłem ostatnie 2 polecenie zmiany rozmiaru i właśnie wtedy zablokowałem za pomocą polecenia, które pominąłem.
ozma
0

Staram się postępować zgodnie z tymi instrukcjami i mam problem. Dla mnie - / dev / sda5 jest rozszerzonym woluminem i zawiera system operacyjny i wszystko. Po fdisku usuń i ponownie utwórz partycje, a następnie zapisz zmiany na dysku - czy to nie usuwa wszystkich tych informacji?

Wypróbowałem metodę wymienioną na liście, a kiedy ponownie uruchamiam komputer z dysku CD na żywo, a następnie przechodzę do części „sudo cryptsetup resize crypt1” - pojawia się komunikat „Urządzenie crypt1 nie jest aktywne” i nic potem nie działa.

Próbuję tego na instancji vbox, więc przynajmniej tworzyłem kopie zapasowe, ale nie byłem jeszcze w stanie sprawić, by działało poprawnie.

czego mi brakuje?

Clutsicus
źródło
0

Po tym, jak „zmiana rozmiaru cryptsetup” po prostu nie działała, mam rozwiązanie:

Upewnij się, że / dev / sdX pasuje do twojego dysku! Pamiętaj, że nie jestem jeszcze pewien, czy wpłynie to na grub. Uruchom z Live CD Ubuntu.

  • otwarte gparted
  • przeskaluj / dev / sda2 do pożądanego rozmiaru za pomocą gparted
  • odszyfrować:

    sudo cryptsetup luksOpen /dev/sda5 crypt1

  • przeskaluj / dev / sda5 do pożądanego rozmiaru za pomocą gparted

Możesz upewnić się, że wszystko poszło dobrze, instalując i przeglądając dysk

sudo mount /dev/mapper/ubuntu--vg-root
ozma
źródło