Многие программы следуют одинаковым соглашениям о единицах измерения размера или "размере блока". Но это не универсальное правило, каждая программа в целом может «делать то, что она хочет», поэтому обязательно прочитайте man или информационную страницу каждого инструмента, чтобы быть уверенным.
Для разметки я бы определенно выбрал gparted, он должен избегать путаницы, показывая вам, какие юниты он использует довольно четко.
Мой man resize2fs
самом деле не говорит, что использует только МБ (один миллион байт), а вот так:
The size parameter specifies the requested new size of the filesystem.
If no units are specified, the units of the size parameter shall be the
filesystem blocksize of the filesystem. Optionally, the size parameter
may be suffixed by one of the following the units designators: 's',
'K', 'M', or 'G', for 512 byte sectors, kilobytes, megabytes, or giga‐
bytes, respectively. The size of the filesystem may never be larger
than the size of the partition. If size parameter is not specified, it
will default to the size of the partition.
Note: when kilobytes is used above, I mean real, power-of-2 kilobytes,
(i.e., 1024 bytes), which some politically correct folks insist should
be the stupid-sounding ``kibibytes''. The same holds true for
megabytes, also sometimes known as ``mebibytes'', or gigabytes, as the
amazingly silly ``gibibytes''. Makes you want to gibber, doesn't it?
fdisk показывает размеры в секторах, в зависимости от того, что проверяемое устройство говорит о секторе. Вот пример выходных данных для небольшого устройства, размер которого составляет 3997 МБ, 3997171712 байт, что использует предпочтительный "больший" размер 1 МБ = 1 000 000 байт:
$ sudo fdisk -l /dev/sdb
Disk /dev/sdb: 3997 MB, 3997171712 bytes
17 heads, 16 sectors/track, 28702 cylinders, total 7806976 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: 0x00000000
Device Boot Start End Blocks Id System
/dev/sdb1 8192 7806975 3899392 b W95 FAT32
Вы можете заметить, что он говорит, что единственный раздел - это 3899392 блока, но вычитание конца из начала дает вдвое больше ... это странно и неправильно, но man fdisk
действительно говорит:«fdisk - это программа с ошибками, которая делает нечеткие вещи - обычно это приводит к разумным результатам.
Его единственным преимуществом является то, что он имеет некоторую поддержку меток дисков BSD и других таблиц разделов, не относящихся к DOS. Избегайте этого, если сможете.
Он рекомендует cfdisk
, который более точно показывает (в блоках по 512 байт):
$ sudo cfdisk -P s /dev/sdb
Partition Table for /dev/sdb
First Last
# Type Sector Sector Offset Length Filesystem Type (ID) Flag
-- ------- ----------- ----------- ------ ----------- -------------------- ----
Pri/Log 0 8191* 0# 8192*Free Space None
1 Primary 8192* 7806975* 0 7798784 W95 FAT32 (0B) None
parted показывает MB = 1 000 000 байт по умолчанию, но это можно изменить с помощью этого:
Model: Multi Flash Reader (scsi)
Disk /dev/sdb: 3997MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Number Start End Size Type File system Flags
1 4194kB 3997MB 3993MB primary ext3
но единицы могут быть изменены с помощью команды единиц:
unit unit
Set unit as the unit to use when displaying locations and
sizes, and for interpreting those given by the user when
not suffixed with an explicit unit. unit can be one of
"s" (sectors), "B" (bytes), "kB", "MB", "GB", "TB", "%"
(percentage of device size), "cyl" (cylinders), "chs"
(cylinders, heads, sectors), or "compact" (megabytes for
input, and a human-friendly form for output).
Тем не менее, gparted
показывает размеры в (мой предпочтительный) M или MiB (степени 1024), и он может делать все перемещение / сжатие / изменение размера / форматирование, если хотите, или вы можете только создавать разделы с ним, и форматировать их позже Вы сами используете "весь" раздел и не беспокоитесь о точных размерах.
Возможно, вы захотите прочитать страницу coreutils.info о размере блока:
2.3 Размер блока
Некоторые программы GNU (по крайней мере, 'df', 'du' и 'ls') отображают размеры в "блоках". Вы можете настроить размер блока и способ отображения, чтобы сделать размеры легче для чтения. Размер блока, используемого для отображения, не зависит от размера блока файловой системы. Дробные числа блоков округляются до ближайшего целого числа.
...
За целочисленным размером блока может следовать суффикс для указания кратного этого размера. Буква чистого размера, или буква, за которой следует "iB", указывает кратные степени использования 1024. Буква размера, за которой следует буква "B", указывает на степень 1000. Например, "1M" и "1MiB" эквивалентны "1048576", тогда как "1MB" эквивалентны "1000000".
Простой суффикс без предшествующего целого числа действует так, как если бы к нему был добавлен "1", за исключением того, что он приводит к добавлению индикации размера к выводу. Например, '--block-size = "kB" "отображает 3000 как" 3kB ".
Следующие суффиксы определены. Большие размеры, такие как "1Y", могут быть отклонены вашим компьютером из-за ограничений его арифметики.
килобайт в килобайтах: 10 ^ 3 = 1000.
'k' 'K' 'KiB' кибибайт: 2 ^ 10 = 1024. "K" является особенным: префикс SI - это "k", а префикс ISO/IEC 80000-13 - "Ki", но традиция и POSIX используют "k" для обозначения "KiB".
МБ мегабайт: 10 ^ 6 = 1 000 000.
'M' 'MiB' мебибайт: 2 ^ 20 = 1 048 576.
ГБ гигабайт: 10 ^ 9 = 1 000 000 000.
"G" "GiB" гибибайт: 2 ^ 30 = 1 073 741 824.
Терабайт "ТБ": 10 ^ 12 = 1 000 000 000 000.
Тибибит 'T' 'TiB': 2 ^ 40 = 1 099 511 627 776.
Петабайт PB: 10 ^ 15 = 1 000 000 000 000 000.
'P' 'PiB' pebibyte: 2 ^ 50 = 1 125 899 906 842 624.
'EB' exabyte: 10 ^ 18 = 1 000 000 000 000 000 000.
'E' 'EiB' exbibyte: 2 ^ 60 = 1 152 921 504 606 846 976.
Зетабайт ZB: 10 ^ 21 = 1 000 000 000 000 000 000 000
'Z' 'ZiB' 2 ^ 70 = 1 180 591 620 717 411 303 424.
'YB' yottabyte: 10 ^ 24 = 1 000 000 000 000 000 000 000 000.
'Y' 'YiB' 2 ^ 80 = 1 208 925 819 614 629 174 706 176.
Значения по умолчанию для размера блока могут быть переопределены явным параметром --block-size = SIZE. Опция '-k' эквивалентна '--block-size = 1K', которая используется по умолчанию, если не установлена переменная окружения 'POSIXLY_CORRECT'. Параметр «-h» или «--human-readable» эквивалентен «--block-size = human-readable». Параметр --si эквивалентен параметру --block-size = si.