sfdisk
sfdisk
- это скриптовая версия fdisk
Он является частью util-linux
, как и fdisk
, поэтому доступность должна быть одинаковой.
Таблица разделов с одним разделом, занимающим весь диск, может быть создана с помощью:
echo 'type=83' | sudo sfdisk /dev/sdX
и более сложные таблицы разделов описаны ниже.
Чтобы сгенерировать пример сценария, получите настройку одного из ваших дисков:
sudo sfdisk -d /dev/sda > sda.sfdisk
Пример вывода на моей двойной загрузке 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
После сохранения сценария в файле вы можете применить его к sdX
с помощью:
sudo sfdisk /dev/sdX < sda.sfdisk
Для ввода sfdisk
вы можете просто опустить имена устройств и использовать строки типа:
start= 2048, size= 3072000, type=7, bootable
Они просто игнорируются, если присутствуют, а имя устройства берется из аргумента командной строки.
Некоторые объяснения:
- строки заголовка: все необязательно:
разделительные линии:
start
: смещение внутри диска, с которого начинается раздел.
start
имеет очень хорошие значения по умолчанию и часто может быть пропущен:
- в первой строке
start
- 2048, то есть 1Mb (2048 + 512), что является нормальным значением по умолчанию для совместимости дисков
- дальнейшее
start
умолчанию для первой нераспределенной позиции
size
: man sfdisk
говорит: The default value of size indicates "as much as possible"
. Поэтому для заполнения диска одним разделом используйте: /dev/sda : start=2048, type=83
type
: магический байт, хранящийся в загрузочном секторе для каждой записи раздела . Возможные значения: https://en.wikipedia.org/wiki/Partition_type. В этом примере мы наблюдаем:
7
(sda1
, 2
и 3
): файловые системы, которые поддерживает Windows. Предустановленные компоненты Windows и разделы восстановления Lenovo. sudo blkid
помогают идентифицировать их.
5
(sda4
): расширенный основной раздел, который будет содержать другие логические разделы (поскольку у нас может быть только 4 основных раздела с MBR)
83
(sda5
, 7
и 8
): разделы, которые поддерживает Linux. Для меня один home
и два корня с разными версиями Ubuntu
82
(sd6
): своп
fdisk
также может читать сценарии sfdisk
с помощью команды I
, которая " берет их" во время интерактивного сеанса fdisk
, что позволяет выполнить дополнительную настройку перед написанием раздела.
Протестировано на Ubuntu 16.04, sfdisk
2.27.1.
Отформатируйте и заполните разделы файл изображения без sudo
Это хороший способ научиться использовать sfdisk
без разрушения жестких дисков: https://stackoverflow.com/questions/10949169/how-to-create-a-multi-partition-sd-disk-image-without-root -privileges/52850819 # 52850819