10 komend fdisk do zarządzania partycjami dyskowymi w systemie Linux
fdisk oznacza (dla „dysk stały lub dysk formatowy”) jest najczęściej używanym narzędziem do manipulacji dyskami w systemach Linux/Unix. Za pomocą polecenia fdisk można przeglądać, tworzyć, zmieniać rozmiar, usuwać, zmieniać, kopiować i przenosić partycje na dysku twardym, używając własnego, przyjaznego dla użytkownika interfejsu tekstowego opartego na menu.
To narzędzie jest bardzo przydatne w zakresie tworzenia miejsca na nowe partycje, organizowania miejsca na nowe dyski, reorganizacji starych dysków oraz kopiowania lub przenoszenia danych na nowe dyski. Pozwala na utworzenie maksymalnie czterech nowych partycji podstawowych i kilku partycji logicznych (rozszerzonych), w oparciu o rozmiar dysku twardego, który posiadamy w systemie.
Ten artykuł wyjaśnia 10 podstawowych poleceń fdisk do zarządzania tablicą partycji w systemach opartych na Linuksie. Musisz być użytkownikiem root, aby uruchomić polecenie fdisk, w przeciwnym razie otrzymasz błąd „nie znaleziono polecenia”.
Wyświetl wszystkie partycje dyskowe w Linuksie
Następujące podstawowe polecenie wyświetla listę wszystkich istniejących partycji dyskowych w systemie. Argument '-l' oznacza (listing all partitions) i jest używany z poleceniem fdisk, aby wyświetlić wszystkie dostępne partycje w Linuksie. Partycje są wyświetlane według nazw urządzeń. Na przykład: /dev/sda, /dev/sdb lub /dev/sdc.
# fdisk -lDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Wyświetl określoną partycję dysku w Linuksie
Aby wyświetlić wszystkie partycje określonego dysku twardego, użyj opcji '-l' wraz z nazwą urządzenia. Na przykład, poniższe polecenie wyświetli wszystkie partycje urządzenia /dev/sda. Jeśli masz inne nazwy urządzeń, wpisz po prostu nazwę urządzenia jako /dev/sdb lub /dev/sdc.
# fdisk -l /dev/sdaDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVM
Sprawdź wszystkie dostępne komendy fdisk
Jeśli chcesz zobaczyć wszystkie komendy, które są dostępne dla fdisk. Wystarczy użyć poniższego polecenia, podając nazwę dysku twardego, np. /dev/sda, jak pokazano poniżej. Poniższe polecenie da Ci wynik podobny do poniższego.
Wpisz 'm', aby zobaczyć listę wszystkich dostępnych poleceń fdiska, które mogą być obsługiwane na dysku twardym /dev/sda. Po wpisaniu 'm' na ekranie zobaczysz wszystkie dostępne opcje dla fdisk, które mogą być użyte na urządzeniu /dev/sda.
# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').Command (m for help): mCommand action a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality (experts only)Command (m for help):
Wydrukuj całą tablicę partycji w Linuksie
Aby wydrukować całą tablicę partycji dysku twardego, musisz być w trybie poleceń określonego dysku twardego powiedzmy /dev/sda.
# fdisk /dev/sda
W trybie poleceń, wpisz 'p' zamiast 'm' jak zrobiliśmy to wcześniej. Jak wpiszę 'p', wyświetli się konkretna tablica partycji /dev/sda.
Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 * 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVMCommand (m for help):
Jak usunąć partycję w Linuksie
Jeśli chcesz usunąć konkretną partycję (np. /dev/sda9) z konkretnego dysku twardego takiego jak /dev/sda. Musisz być w trybie poleceń fdisk, aby to zrobić.
# fdisk /dev/sda
Następnie wpisz 'd', aby usunąć dowolną nazwę partycji z systemu. Gdy wpiszę 'd', system poprosi mnie o podanie numeru partycji, którą chcę usunąć z dysku /dev/sda. Załóżmy, że wpiszę tutaj numer '4′, wtedy system usunie partycję numer '4′ (tj. /dev/sda4) dysku i pokaże wolne miejsce w tablicy partycji. Wpisz 'w', aby zapisać tablicę na dysku i wyjść po dokonaniu nowych zmian w tablicy partycji. Nowe zmiany będą miały miejsce dopiero po następnym restarcie systemu. Można to łatwo zrozumieć z poniższego wyjścia.
Ostrzeżenie: Bądź ostrożny, podczas wykonywania tego kroku, ponieważ użycie opcji 'd' spowoduje całkowite usunięcie partycji z systemu i może spowodować utratę wszystkich danych na partycji.
Jak utworzyć nową partycję w Linuksie
Jeśli masz wolne miejsce na jednym z twoich urządzeń powiedzmy /dev/sda i chciałbyś utworzyć nową partycję pod nim. Wtedy musisz być w trybie poleceń fdisk dla /dev/sda. Wpisz następującą komendę, aby wejść w tryb poleceń określonego dysku twardego.
# fdisk /dev/sda
Po wejściu w tryb poleceń, naciśnij teraz komendę „n”, aby utworzyć nową partycję pod /dev/sda o określonym rozmiarze. Można to zademonstrować za pomocą poniższych danych wyjściowych.
Podczas tworzenia nowej partycji, zostaną wyświetlone dwie opcje: 'extended' lub 'primary'. Naciśnij 'e' dla partycji rozszerzonej i 'p' dla partycji podstawowej. Następnie zostaniesz poproszony o wprowadzenie następujących dwóch danych wejściowych.
- Numer pierwszego cylindra partycji, która ma zostać utworzona.
- Numer ostatniego cylindra partycji, która ma zostać utworzona (Ostatni cylinder, +cylindry lub +rozmiar).
Możesz wprowadzić rozmiar cylindra poprzez dodanie „+5000M” w ostatnim cylindrze. Tutaj „+” oznacza dodanie, a 5000M oznacza rozmiar nowej partycji (np. 5000MB). Proszę pamiętać, że po utworzeniu nowej partycji, powinieneś uruchomić komendę 'w' aby zmienić i zapisać nowe zmiany w tablicy partycji i na koniec zrestartować system aby zweryfikować nowo utworzoną partycję.
Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.
Jak sformatować partycję w Linuksie
Po utworzeniu nowej partycji, nie pomiń formatowania nowo utworzonej partycji używając komendy 'mkfs'. Wpisz następującą komendę w terminalu aby sformatować partycję. Tutaj /dev/sda4 jest moją nowo utworzoną partycją.
# mkfs.ext4 /dev/sda4
Jak sprawdzić rozmiar partycji w Linuksie
Po sformatowaniu nowej partycji, sprawdź jej rozmiar używając flagi 's' (wyświetla rozmiar w blokach) z poleceniem fdisk. W ten sposób możesz sprawdzić rozmiar każdego konkretnego urządzenia.
# fdisk -s /dev/sda25194304
Jak naprawić porządek w tablicy partycji
Jeśli usunąłeś partycję logiczną i ponownie ją utworzyłeś, możesz zauważyć problem 'partycji nie w porządku' lub komunikat o błędzie taki jak 'Wpisy w tablicy partycji nie są w porządku na dysku'.
Na przykład, gdy trzy partycje logiczne takie jak (sda4, sda5 i sda6) zostaną usunięte i utworzona zostanie nowa partycja, można się spodziewać, że nowa partycja będzie się nazywać sda4. Jednak system utworzyłby ją jako sda5. Dzieje się tak, ponieważ po usunięciu partycji, partycja sda7 została przeniesiona jako sda4, a wolne miejsce przesunęło się na koniec.
Aby naprawić takie problemy z kolejnością partycji i przypisać sda4 do nowo utworzonej partycji, należy wydać 'x', aby wejść do sekcji dodatkowych funkcji, a następnie wpisać 'f' polecenie eksperta, aby naprawić kolejność tabeli partycji, jak pokazano poniżej.
# fdisk /dev/sdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u').Command (m for help): xExpert command (m for help): fDone.Expert command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.
Po uruchomieniu polecenia 'f', nie zapomnij uruchomić polecenia 'w', aby zapisać i wyjść z trybu poleceń fdisk. Po naprawieniu kolejności tablicy partycji, nie będziesz już otrzymywał komunikatów o błędach.
Jak wyłączyć flagę startową (*) partycji
Domyślnie, polecenie fdisk pokazuje symbol flagi startowej (tj. '*') na każdej partycji. Jeśli chcesz włączyć lub wyłączyć flagę startową na konkretnej partycji, wykonaj następujące czynności.
# fdisk /dev/sda
Naciśnij 'p' aby wyświetlić bieżącą tablicę partycji, zobaczysz, że jest flaga startowa (symbol gwiazdki (*) w pomarańczowym kolorze) na dysku /dev/sda1, jak pokazano poniżej.
Następnie wprowadź polecenie 'a' aby wyłączyć flagę startową, następnie wprowadź numer partycji '1′ jak (np. /dev/sda1) w moim przypadku. Spowoduje to wyłączenie flagi bootowania na partycji /dev/sda1. Spowoduje to usunięcie flagi gwiazdki (*).
Command (m for help): aPartition number (1-9): 1Command (m for help): pDisk /dev/sda: 637.8 GB, 637802643456 bytes255 heads, 63 sectors/track, 77541 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System/dev/sda1 1 13 104391 83 Linux/dev/sda2 14 2624 20972857+ 83 Linux/dev/sda3 2625 4582 15727635 83 Linux/dev/sda4 4583 77541 586043167+ 5 Extended/dev/sda5 4583 5887 10482381 83 Linux/dev/sda6 5888 7192 10482381 83 Linux/dev/sda7 7193 7845 5245191 83 Linux/dev/sda8 7846 8367 4192933+ 82 Linux swap / Solaris/dev/sda9 8368 77541 555640123+ 8e Linux LVMCommand (m for help):
Starałem się jak mogłem, aby zawrzeć prawie wszystkie podstawowe komendy fdiska, ale wciąż fdisk zawiera wiele innych eksperckich komend, których możesz użyć wpisując 'x'. Aby uzyskać bardziej szczegółowe informacje, sprawdź polecenie 'man fdisk' z terminala. Jeśli pominąłem jakąś ważną komendę, proszę podziel się ze mną poprzez sekcję komentarzy.
Read Also :
- 12 poleceń „df” do sprawdzenia przestrzeni dyskowej w Linuksie
- 10 przydatnych poleceń „du” do znalezienia użycia plików i katalogów
.