sfdisk
sfdisk
jest skryptową wersją fdisk
Jest to częśćutil-linux
, podobnie jak fdisk
, więc dostępność powinna być taka sama.
Tablicę partycji z pojedynczą partycją, która zajmuje cały dysk, można utworzyć za pomocą:
echo 'type=83' | sudo sfdisk /dev/sdX
bardziej złożone tabele partycji wyjaśniono poniżej.
Aby wygenerować przykładowy skrypt, pobierz konfigurację jednego z dysków:
sudo sfdisk -d /dev/sda > sda.sfdisk
Przykładowe dane wyjściowe mojego podwójnego rozruchu Lenovo T430 Windows 7 / Ubuntu:
label: dos
label-id: 0x7ddcbf7d
device: /dev/sda
unit: sectors
/dev/sda1 : start= 2048, size= 3072000, type=7, bootable
/dev/sda2 : start= 3074048, size= 195430105, type=7
/dev/sda3 : start= 948099072, size= 28672000, type=7
/dev/sda4 : start= 198504446, size= 749594626, type=5
/dev/sda5 : start= 198504448, size= 618891264, type=83
/dev/sda6 : start= 940277760, size= 7821312, type=82
/dev/sda7 : start= 817397760, size= 61437952, type=83
/dev/sda8 : start= 878837760, size= 61437500, type=83
Po zapisaniu skryptu w pliku możesz go zastosować do sdX
:
sudo sfdisk /dev/sdX < sda.sfdisk
Do sfdisk
wprowadzania danych możesz po prostu pominąć nazwy urządzenia i użyć wierszy typu:
start= 2048, size= 3072000, type=7, bootable
Są one po prostu ignorowane, jeśli są obecne, a nazwa urządzenia jest pobierana z argumentu wiersza poleceń.
Kilka wyjaśnień:
- linie nagłówka: wszystkie opcjonalne:
linie podziału:
start
: przesunięcie wewnątrz dysku, na którym zaczyna się partycja.
start
ma bardzo dobre wartości domyślne i często można je pominąć:
- w pierwszym wierszu
start
jest 2048, tj. 1 Mb (2048 + 512), co jest rozsądnym domyślnym ustawieniem dla zgodności dysku
- dalej
start
domyślnie do pierwszej nieprzydzielonej pozycji
size
: man sfdisk
Mówi: The default value of size indicates "as much as possible"
. Aby wypełnić dysk pojedynczą partycją, użyj:/dev/sda : start=2048, type=83
type
: bajt magiczny przechowywany w sektorze rozruchowym dla każdej pozycji partycji . Możliwe wartości: https://en.wikipedia.org/wiki/Partition_type Na tym przykładzie obserwujemy:
7
( sda1
, 2
A 3
): systemy plików, które obsługuje Windows. Zainstalowane fabrycznie elementy systemu Windows i partycje odzyskiwania Lenovo. sudo blkid
etykiety pomagają je zidentyfikować.
5
( sda4
): rozszerzona partycja podstawowa, która będzie zawierać inne partycje logiczne (ponieważ możemy mieć tylko 4 partycje podstawowe z MBR)
83
( sda5
, 7
i 8
): partycje obsługiwane przez system Linux. Dla mnie jeden home
i dwa korzenie z różnymi wersjami Ubuntu
82
( sd6
): zamiana
fdisk
może również czytać sfdisk
skrypty za pomocą I
polecenia, które „źródło” je podczas fdisk
sesji interaktywnej , co pozwala na dalsze dostosowanie przed zapisaniem partycji.
Testowane na Ubuntu 16.04, sfdisk
2.27.1.
Sformatuj i wypełnij partycje plikiem obrazu bez sudo
Jest to dobry sposób na naukę używania sfdisk
bez wysadzania dysków twardych: https://stackoverflow.com/questions/10949169/how-to-create-a-multi-partition-sd-disk-image-without-root- uprawnienia / 52850819 # 52850819