Jak rozszerzyć moją partycję root (/)?


68

Do dzisiaj korzystałem z Ubuntu 13.04 w moim podwójnym rozruchu systemu Windows7 / Ubuntu. Właśnie zaktualizowałem system do Ubuntu 14.04. Mój program aktualizujący oprogramowanie pokazał komunikat o dostępnych aktualizacjach. Kontynuowałem Install Now . Wkrótce mam następujące okno.

Komunikat „Za mało wolnego miejsca na dysku”

Potem próbowałem sudo apt-get cleanzgodnie z zaleceniami. Nic się nie stało! Nawet okno się nie otworzyło. Naucz mnie usuwania tymczasowych pakietów.

Usuwanie plików tymczasowych może nie być bardzo pomocne w przypadku dalszych aktualizacji i instalacji, ponieważ nie mam zbyt dużo miejsca w moim /. Chcę rozszerzyć moją partycję za pomocą nieprzydzielonego miejsca w moim HD. Oto moje okno Gparted.

Okno dwuczęściowe

Mam tutaj odpowiedź . Ale to nie było dla mnie przydatne. Miałem dwie możliwości. Ale odpowiedź nie działała na oba moje chiocesy.

Wybór 1: Mogę użyć nieprzydzielonego miejsca 4,25 GiB do rozszerzenia mojego / dev / sda10. Aby to zrobić, muszę przenieść moją partycję wymiany linuxa. Ale moja opcja Zmień rozmiar / Przenieś jest wyłączona dla partycji wymiany linux. Wybór 1 nie powiódł się!

Wybór 2: Zamiast tego mogę użyć nieprzydzielonego miejsca 14,35 GiB. W takim przypadku muszę przenieść więcej niż jedną partycję. Partycja / dev / sda4 jest pierwszą na liście. Nawet ta partycja ma ten sam problem. Opcja zmiany rozmiaru / przenoszenia jest wyłączona. Wybór 2 nie powiódł się!

Teraz nie mam wyboru.

Co powinienem zrobić? Pomóż mi rozszerzyć mój / z Gparted.


2
Dlaczego mówi 1,96 GiB nieużywany w twoim katalogu głównym? Naprawdę masz miejsce, nie? Jaka jest wydajność df?
Braiam

1
apt-get cleannie wyskakuje okno ani nawet nie echo wiersza poleceń co zrobił. Po prostu to robi, ale uwolniona przestrzeń 1,96 GB pokazuje, że coś zrobił.
chaskes

Odpowiedzi:


62

Możesz w końcu użyć 4.25 GiB na końcu bez ponownego uruchamiania, ponieważ Linux obsługuje zmianę rozmiaru partycji on-line od jądra 2.6 (co oznacza, że ​​możesz zmieniać rozmiar partycji, gdy są one zamontowane, nawet partycję root, bez ponownego uruchamiania).

Pokażę ci, jak usunąć partycję wymiany i rozszerzyć partycję root z całą wolną przestrzenią na końcu. Następnie użyję nieprzydzielonego miejsca na początku (14,35 GiB) do nowej partycji wymiany. Oczywiście 14.35 GiB to trochę więcej, więc możesz także użyć niektórych do rozszerzenia partycji NTFS.


  1. Otwórz GParted

  2. Kliknij prawym przyciskiem myszy /dev/sda11i wybierzSwapoff

  3. Kliknij prawym przyciskiem myszy /dev/sda11i wybierzDelete

  4. Kliknij Apply All Operations

  5. Otwórz terminal

  6. Rozszerz partycję root:

    sudo resize2fs /dev/sda10
    
  7. Wróć do GParted

  8. Otwórz GPartedmenu i kliknijRefresh Devices

  9. Kliknij prawym przyciskiem myszy nieprzydzielone miejsce i wybierz New

  10. Wybierz linux-swapjako system plików

  11. Kliknij Add

  12. Kliknij Apply All Operations


Początkowo napisałem to używając tylko wiersza poleceń, ale potem zdecydowałem się na użycie GParted tak często, jak to możliwe, ponieważ może ci być łatwiej zobaczyć, co się dzieje. Możesz nawet rozszerzyć partycję root za pomocą GParted. Musisz jednak odmontować partycję root, zanim zaczniesz nad nią pracować. Mam na myśli, że powinieneś pracować w trybie offline (używając liveUSB). W niektórych przypadkach grub może zostać uszkodzony. Ponownie zainstaluj grub, zanim opuścisz tryb offline.

Wierzę, że GParted automatycznie włączy nową partycję wymiany, ale nie jestem pewien. Zawsze możesz to sprawdzić, klikając go prawym przyciskiem myszy, a następnie wybierając Swapon. Jeśli ta opcja nie jest dostępna, partycje wymiany są prawdopodobnie już włączone.

Również Refresh Deviceskrok jest prawdopodobnie niepotrzebny, ale powinieneś go wykonać, aby się upewnić.

Nie możemy zmienić rozmiaru partycji rozszerzonej ( sda4w tym przypadku), ponieważ ma ona zamontowaną partycję logiczną. Musimy więc uruchomić komputer w trybie na żywo napędu USB / CD Ubuntu. Następnie uruchom GParted, w razie potrzeby wyłącz swap, kliknij prawym przyciskiem myszy partycję rozszerzoną i zmień jej rozmiar zgodnie z własnymi potrzebami. Następnie wykonaj kroki wymienione w razie potrzeby, aby zmienić rozmiar katalogu głównego i dodać zamianę z powrotem. W przypadku zmiany UUID partycji root, możesz zaktualizować Grub, wykonując następujące kroki w trybie na żywo:

sudo mount /dev/sda10 /mnt 
sudo mount -o bind /dev/ /mnt/dev 
sudo grub-install --root-directory=/mnt /dev/sda 
sudo chroot /mnt /bin/bash 
# Now within the chroot
sudo update-grub
exit
# Now outside chroot

Pierwsze kilka poleceń służy do montowania partycji głównej ( sda10w tym przypadku) i konfiguruje się ją /dev/w środowisku chroot. (Inne partycje, które mogą być montowane podobnie do chroot są bardziej funkcjonalne /proc, /sysi /dev/pts.) Następnie ponownie zainstalować grub (naprawdę nie jest to konieczne). Następnie wchodzimy do chroot i aktualizujemy grub. Powoduje to, że grub korzysta z nowych UUID w razie potrzeby. Po wyjściu z chroota uruchom ponownie komputer i powinniśmy odzyskać menu grub.


@muru: Tak, zadziałało. Odzyskałem mojego gruba! Wielkie dzięki. Gdzie się tego nauczyć? Chcę się nauczyć.
Ramvignesh,

2
@Ramvignesh - Nie ma jednego przewodnika, ale jeśli pozostaniesz w Ask Ubuntu, znajdziesz wiele informacji. Ludzie tutaj linkują do wielu stron informacyjnych, a ty widzisz różnego rodzaju problemy i widzisz, jak ludzie mądrzejsi niż ty lub ja je rozwiązujemy. W tym przypadku dowiedziałem się o GRUB od help.ubuntu.com/community/Grub2/Installing .
muru

3
Te instrukcje są niepoprawne: uruchamianie resize2fsbez wcześniejszej zmiany rozmiaru partycji nie przyniesie żadnego efektu. Nie musisz też uruchamiać rzeczy z wiersza poleceń, ponieważ gparted dba o to za Ciebie. Po prostu zmień rozmiar partycji root w gparted.
psusi

Działa to dla mnie dobrze, ale chciałbym zauważyć, że na tym askubuntu.com/a/600017/223089 możesz rozszerzyć partycję bezpośrednio w Gparted. Dlatego zgadzam się z @psusi powyżej, że w kroku 6 łatwiej jest rozszerzyć partycję w Gparted.
John Creamer

@JohnCreamer, głównym punktem, na który zwracałem uwagę w poprzednim komentarzu, było to, że instrukcje te pomijają etap, w którym partycja jest faktycznie powiększana, a bez tego nie można powiększyć systemu plików (ponieważ nie może on przekroczyć rozmiaru partycji zawierającej go ), więc instrukcje te nie będą działać, jeśli dokładnie je zastosujesz.
psusi

6

Nie możesz modyfikować partycji systemowych (i partycji rozszerzonych nadrzędnych, takich jak /dev/sda4), gdy system ich używa - więc musisz zmodyfikować partycje spoza systemu - dysk instalacyjny Ubuntu powinien to zrobić. Najpierw musisz uruchomić komputer z dysku i otworzyć GParted.

  • Jeśli partycje mają obok nich klucz, są w użyciu - musisz je kliknąć prawym przyciskiem myszy i wybrać odmontować.
  • W przypadku faktycznej zmiany rozmiaru należy wykonać dwie dość łatwe czynności:

    • Rozwiń rozszerzoną partycję /dev/sda4na koniec dysku, przesuń partycję wymiany w prawo, a następnie rozwiń /dev/sda10partycję.

    • Zmniejsz rozmiar /dev/sda9 /homepartycji, a następnie rozwiń /dev/sda10partycję.

Chociaż przenoszenie wszystkich partycji w /dev/sda4lewo, następnie przenoszenie wymiany i rozszerzanie partycji, powinno również działać.

Chociaż możliwe jest posiadanie działającego systemu z 5 ~ GB miejsca na /partycji, prawdopodobnie będzie działać lepiej z co najmniej 7-10 GB miejsca.

Jak zawsze należy to zrobić, należy wykonać kopię zapasową danych przed zrobieniem czegokolwiek. Ponadto, jeśli używasz tylko 4 GB w zainstalowanym systemie Ubuntu, możesz wykonać kopię zapasową w innym miejscu i wykonać nową instalację, co oznacza, że ​​pakiety ze starego systemu nie będą zajmowały miejsca.


3
Sugerując przeniesienie partycji OP (zamiast ich rozszerzenia), powinieneś wspomnieć, że może to zająć bardzo dużo czasu i że będzie musiał ponownie zainstalować / naprawić grub2 z mediów na żywo.
chaskes
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.