Jak rozszerzyć partycję logiczną i rozszerzoną za pomocą programu fdisk

14

Próbuję rozszerzyć partycję / dev / sda5, która jest partycją logiczną w ramach rozszerzonej partycji / dev / sda2.

Chcę użyć fdisk .

Procedura powinna polegać na usunięciu obu partycji, a następnie ich odtworzeniu z dokładnie tymi samymi sektorami początkowymi (1001470 i 1001472). Idzie dobrze, dopóki nie zostanie utworzona partycja logiczna, w której minimalny początkowy sektor jest większy ( 1003518 ) niż powinien.

$ sudo fdisk / dev / sda
Polecenie (m dla pomocy): p
Dysk / dev / sda: 9,8 GiB, 10485760000 bajtów, 20480000 sektorów
Jednostki: sektory 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny / fizyczny): 512 bajtów / 512 bajtów
Rozmiar I / O (minimalny / optymalny): 512 bajtów / 512 bajtów
Typ etykiety dysku: dos
Identyfikator dysku: 0x0cd7105f

Początek rozruchu urządzenia Rozmiar sektorów końcowych Typ Id
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2 1001470 16775167 15773698 7,5G 5 przedłużony
/ dev / sda5 1001472 16775167 15773696 7,5G 83 Linux


Partycja 5 została usunięta.
Partycja 2 została usunięta.

Polecenie (m dla pomocy): n
Typ partycji
   p podstawowe (1 podstawowe, 0 rozszerzone, 3 darmowe)
   e rozszerzony (kontener dla partycji logicznych)

Wybierz (domyślnie p): e
Numer partycji (2-4, domyślnie 2):
Pierwszy sektor (999424-20479999, domyślnie 999424): 1001470 
Ostatni sektor, + sektory lub + rozmiar {K, M, G, T, P} (1001470-20479999, domyślnie 20479999 ):
Utworzono nową partycję 2 typu „Extended” i wielkości 9,3 GiB.

Polecenie (m dla pomocy): n
Wykorzystywane jest całe miejsce na partycje podstawowe.
Dodawanie partycji logicznej 5
Pierwszy sektor (1003518-20479999, domyślnie 1003520 ): 1001472

Wartość poza zakresem.

Zrobiłem to z parted , ale powinno być to możliwe z fdisk.

$ fdisk -V
fdisk from util-linux 2.27.1
OGŁOSZENIE
źródło

Odpowiedzi:

11

W normalnym interfejsie fdisk Linuksa stosuje ograniczenia wyrównania do partycji. Które ograniczenia zależą od wersji fdisk. Starsze wersje domyślnie wyrównywały cylindry, aby zapewnić zgodność ze starszymi systemami operacyjnymi, które były niezgodne z LBA . Gdy LBA miał nieco ponad dwie dekady, fdisk domyślnie przestał obsługiwać takie starożytne systemy i zamiast tego przestawił się na wyrównanie 1 MB, co zapewnia lepszą wydajność na nowoczesnych nośnikach pamięci.

W aktualnych wersjach fdisk, aby utworzyć partycje z dowolnym wyrównaniem sektorów (512B), musisz najpierw utworzyć partycję z żądanym punktem końcowym, a następnie przejść do menu eksperta ( x) i użyć polecenia, baby dostosować początek partycji ( zmienia to rozmiar partycji, a nie jej koniec). To wydaje się raczej niezdarne.

Gilles „SO- przestań być zły”
źródło
Działa jak urok. Czy możesz wyjaśnić, dlaczego w tym przypadku tryb ekspercki nie był potrzebny ?
AD
2
@ AD Ponieważ w takim przypadku partycja została wyrównana do 1 MB.
Gilles „SO- przestań być zły”
To prawda, że ​​próbowałem rozszerzyć wyrównane partycje i działało to nawet bez trybu eksperckiego.
AD
14

Kroki podjęte zgodnie z odpowiedzią Gillesa :

$ sudo fdisk / dev / sda

Witamy w fdisk (util-linux 2.27.1).
Zmiany pozostaną tylko w pamięci, dopóki nie zdecydujesz się ich zapisać.
Zachowaj ostrożność przed użyciem polecenia zapisu.


Polecenie (m dla pomocy): p
Dysk / dev / sda: 9,8 GiB, 10485760000 bajtów, 20480000 sektorów
Jednostki: sektory 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny / fizyczny): 512 bajtów / 512 bajtów
Rozmiar I / O (minimalny / optymalny): 512 bajtów / 512 bajtów
Typ etykiety dysku: dos
Identyfikator dysku: 0x0cd7105f

Początek rozruchu urządzenia Rozmiar sektorów końcowych Typ Id
/ dev / sda1 * 2048 999423 997376 487M 83 Linux
/ dev / sda2        1001470 16775167 15773698 7,5G 5 przedłużony
/ dev / sda5        1001472 16775167 15773696 7,5G 83 Linux

Polecenie (m dla pomocy): d
Numer partycji (1,2,5, domyślnie 5): 2

Partycja 2 została usunięta.

Polecenie (m dla pomocy): n
Typ partycji
   p podstawowe (1 podstawowe, 0 rozszerzone, 3 darmowe)
   e rozszerzony (kontener dla partycji logicznych)
Wybierz (domyślnie p): e
Numer partycji (2-4, domyślnie 2):
Pierwszy sektor (999424-20479999, domyślnie 999424): 1001470
Ostatni sektor, + sektory lub + rozmiar {K, M, G, T, P} (1001470-20479999, domyślnie 20479999):

Utworzono nową partycję 2 typu „Extended” i wielkości 9,3 GiB.

Polecenie (m dla pomocy): n
Wykorzystywane jest całe miejsce na partycje podstawowe.
Dodawanie partycji logicznej 5
Pierwszy sektor (1003518-20479999, domyślnie 1003520):
Ostatni sektor, + sektory lub + rozmiar {K, M, G, T, P} (1003520-20479999, domyślnie 20479999):

Utworzono nową partycję 5 typu „Linux” i rozmiarze 9,3 GiB.

Polecenie (m dla pomocy): x


Polecenie eksperta (m dla pomocy): b
Numer partycji (1,2,5, domyślnie 5):
Nowy początek danych (1001471-20479999, domyślnie 1003520): 1001472

Polecenie eksperta (m dla pomocy): p

Dysk / dev / sda: 9,8 GiB, 10485760000 bajtów, 20480000 sektorów
Jednostki: sektory 1 * 512 = 512 bajtów
Rozmiar sektora (logiczny / fizyczny): 512 bajtów / 512 bajtów
Rozmiar I / O (minimalny / optymalny): 512 bajtów / 512 bajtów
Typ etykiety dysku: dos
Identyfikator dysku: 0x0cd7105f

Start urządzenia Początkowe sektory końcowe Typ Typ Start-C / H / S End-C / H / S Attrs
/ dev / sda1 * 2048 999423 997376 83 Linux 0/33/32 62/55/53 80
/ dev / sda2        1001470 20479999 19478530 5 Extende 62/23/86 250/23/209
/ dev / sda5        1001472 20479999 19478528 83 Linux 62/57/118 250/23/209

Następnie r(wróć do menu głównego) i w(zapisz tabelę na dysku).

OGŁOSZENIE
źródło
-1

Fdisk to stary program, który rozumie tylko partycje MBR. Myślę, że twoim problemem jest zmieniona geometria dysku (głowice, sektory na ścieżkę i ścieżki). Po powieleniu danych ze starego dysku na nowy dysk za pomocą polecenia dd (kopiowanie sektorów do sektorów) partycje nie są wyrównane, aby rozpocząć sektory ścieżki. Dlatego fdisk nie pozwala na utworzenie początkowego sektora partycji przed pierwszym wyrównaniem do początku sektora ścieżki, na którym był on na starym dysku.

Możesz spróbować zmienić geometrię nowego dysku w programie fdisk za pomocą polecenia w rozszerzonym menu, ale jest to niewłaściwy sposób. Używaj programów parted i gparted zamiast starego fdisk.

Teraz prędkości odczytu i zapisu nie zależą od wyrównania, aby rozpocząć sektor śledzenia każdej partycji.

Khirgiy Michaił
źródło
Nowoczesne wersje fdisk również rozumieją GPT, ale tutaj nie ma to znaczenia. Problemem niekoniecznie jest zmiana geometrii dysku, a jedynie ograniczenia nieprofesjonalnego interfejsu fdisk.
Gilles „SO- przestań być zły”
To MBR: Disklabel type: dos. Pamiętam, jak parted skarżył się, że nie jest wyrównany, więc mogę spróbować go wyrównać, a następnie rozszerzyć. Jestem pewien, że widziałem tę samą procedurę wykonaną w fdisk i działała.
AD