Tworzenie partycji ext4 z konsoli

74

Mam wolumin /dev/sda1(1,2 TB) zawierający partycję NTFS z wykorzystaniem przestrzeni 0,6 TB.

Chcę utworzyć ext4partycję w pozostałej przestrzeni 0,6 TB.

Nie próbowałem jeszcze niczego, ponieważ nie chcę ryzykować utraty danych, jeśli trafię w niewłaściwe polecenie. (Nie mogę używać gparted, ponieważ nie mam GUI.)

Czy możesz podać mi prawidłowe polecenie lub przynajmniej odpowiednie parametry mkfs.ext4.

root @ rasp: ~ # fdisk -l / dev / sda

Disk /dev/sda: 1500.3 GB, 1500299395072 bytes
255 heads, 63 sectors/track, 182401 cylinders, total 2930272256 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000303ee

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1            2048  2930272255  1465135104    7  HPFS/NTFS/exFAT
Daniel W.
źródło
Dzięki za aktualizację, szukam w szczegółach, ale w tym czasie, to należy mieć kopię zapasową swoich danych NTFS prawo? Jeśli nie, Zrób JUŻ TERAZ! Powinno być to możliwe bez utraty danych, ale nigdy nie wiadomo ... Czy masz pełny dostęp do maszyny? Czy możesz na przykład uruchomić się ponownie w sesji na żywo?
terdon
@terdon Mam dostęp do konta root, ale nie mam dostępu fizycznego. / Dev / sda nie jest tym, z którego uruchamiam. Nie mogę wykonać kopii zapasowej ani uruchomić z niczego innego. Z ubuntuforums.org/showthread.php?t=1244058 przeczytałem, że muszę usunąć partycję z tabeli i ustawić nową w zakresie rozmiaru NTFS, a następnie dodać nową partycję, którą muszę zainicjować za pomocą ext4.
Daniel W.
Tak, dokładnie. Również spojrzeć na to . Teoretycznie, po zmianie rozmiaru za pomocą ntfsresizemożna usunąć partycję za pomocą fdiski odtworzyć ją mniejszą, o ile zaczyna się na tym samym cylindrze . Zasadniczo najpierw usuń istniejącą partycję, a następnie postępuj zgodnie z instrukcjami w mojej odpowiedzi, aby utworzyć nową. Robisz to na własne ryzyko, nigdy nie próbowałem tego osobiście, ale powinno działać. Naprawdę polecam użycie clonezilli lub podobnego narzędzia do wykonania kopii zapasowej w pierwszej kolejności.
terdon
@terdon Zauważyłem, że ntfsresizedziałało poprawnie z sukcesem, ale musiało coś usunąć, ponieważ dostaję błąd integralności Failed to load $MFT: Input/output error.
Daniel W.
Przepraszam, nie mam pojęcia o tym. Być może to pomoże.
terdon

Odpowiedzi:

104

Przede wszystkim musisz utworzyć partycję, a następnie stworzyć system plików.

  1. Utwórz nową partycję

    sudo fdisk /dev/sda
    

    Spowoduje to wyświetlenie fdiskmenu. Powinieneś się z nim zapoznać, poszukać samouczków ( oto jeden ). Podstawowe opcje to:

    Command action
       a   toggle a bootable flagL
       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)
    

    Jeśli wszystko pójdzie dobrze, po naciśnięciu Npojawi się opcja utworzenia nowej partycji w pustej przestrzeni. Jeśli jedynym nieprzydzielonym miejscem jest to, którego chcesz użyć, domyślne opcje powinny być w porządku i możesz po prostu pozwolić fdisk.

  2. Ponieważ chcesz utworzyć extpartycję, nie musisz nic robić. Jeśli chcesz utworzyć inny typ (swap, NTFS lub cokolwiek innego), musisz użyć, taby zmienić typ partycji. Wspominam o tym na wszelki wypadek.

  3. Sprawdź, czy zmiany są zgodne z oczekiwaniami, naciskając, Paby wydrukować tablicę partycji.

  4. Jeśli wszystko jest w porządku, zapisz nową tablicę partycji na disk ( W) i exit ( Q).

Teraz, gdy masz nową pustą partycję, możesz utworzyć jej system plików. Jeśli więc właśnie utworzyłeś /dev/sdaX(gdzie Xjest na przykład numer utworzonej partycji /dev/sda2), uruchom to:

sudo mkfs.ext4 /dev/sdaX
terdon
źródło
Właśnie zmniejszyłem partycję NTFS za pomocą polecenia ntfsresize -s 656511M /dev/sda1. Korzystając z twojego miłego przewodnika, chcę utworzyć drugą partycję, fdiskale po naciśnięciu n, p, 2, to jestNo free sectors available
Daniel W.
Używając cfdisk, to mówi, że mój NTFS nadal ma rozmiar 1500000 MB. Właśnie zmieniłem rozmiar za pomocą ntfsresize?! Co jest nie tak:, - (
Daniel W.
@DanFromGermany proszę dodać wynik sudo fdisk -l /dev/sdado swojego pytania.
terdon
Podążam za twoją odpowiedzią, ale kiedy wybieram n, usłyszę komunikat to create more partitions, first replace a primary with and extended. To, co chcę zrobić, to sekcja 2 GB z dysku SSD, która ma wystarczająco dużo do stracenia.
dustin
@dustin oznacza, że ​​korzystasz ze schematu partycjonowania GPT, który dopuszcza tylko trzy partycje podstawowe. Będziesz musiał przekonwertować istniejące na partycję logiczną (rozszerzoną) i utworzyć w niej pozostałe. To trochę zbyt skomplikowane, aby odpowiedzieć w komentarzu. Jestem pewien, że już o to pytano, ale jeśli nie, opublikuj nowe pytanie.
terdon
21

Składnia jest następująca mkfs.ext4 *partition*

Przykładem może być mkfs.ext4 /dev/sda2gdzie /dev/sda2jest niesformatowana partycja.

Możesz uzyskać informacje o swoim systemie plików, wykonując lsblklub lsblk --fsaby uzyskać więcej informacji.

Ostatnie 2 partycje są puste i nie mają jeszcze żadnych systemów plików:

root@augur:/# lsblk --fs --ascii 
NAME        FSTYPE LABEL MOUNTPOINT
mmcblk0                  
|-mmcblk0p1 vfat   boot  /boot
|-mmcblk0p2 ext4         /
|-mmcblk0p3              
`-mmcblk0p4 
headkase
źródło
Czy to polecenie usunie mój istniejący 0,6 TB NTFS, czy po prostu zużyje tyle miejsca, ile może, bez dotykania innych partycji?
Daniel W.
Tabela partycji musi mieć już wolne miejsce, aby mkfs.ext4 mógł działać. Jeśli masz tylko jedną dużą partycję, musisz zmienić jej rozmiar, aby stworzyć trochę wolnego miejsca dla programu mkfs. W takim przypadku uruchom system Windows i przejdź do narzędzi administratora zarządzania dyskami i zmień rozmiar istniejącej partycji, aby uzyskać trochę wolnego miejsca, które następnie sformatujesz w systemie Linux. Utwórz partycję w wolnym miejscu, a następnie sformatuj ją.
godz.
Nie mam GUI, ani Windows, ani nawet fizycznego dostępu do komputera. Spróbujępartman
Daniel W.
Sprawdź wszystko dwukrotnie. Użyj „lsblk -fs” jak podano powyżej: nie mkfs na niczym, co jest wymienione jako NTFS. Chcesz poszukać pustej partycji.
godz.