Многие программы следуют одинаковым соглашениям о единицах измерения размера или «размере блока». Но это не универсальное правило, каждая программа, как правило, может «делать то, что она хочет», поэтому обязательно прочитайте man или информационную страницу каждого инструмента, чтобы быть уверенным.
Для разметки я бы определенно выбрал gparted, он должен избегать путаницы, показывая вам, какие юниты он использует довольно четко.
Мой man resize2fs
фактически не говорит, что использует только MB (один миллион байт), а вот так:
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' kibibyte: 2 ^ 10 = 1024. 'K' - особенный: префикс SI - 'k', а префикс ISO / IEC 80000-13 - 'Ki', но традиция и использование POSIX ' k 'означает "КиБ".
МБ мегабайт: 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.