Я хочу знать, как отформатировать накопитель от терминала. Полезными вещами обеспечить в ответе часто были бы используемые опции для команд и основного знания, что можно использовать для экстраполирования будущего использования. Конкретно я хотел бы знать, как отформатировать в различных файловых системах, таких как NTFS, FAT32, EXT4, и т.д. информация о том, как разделить диск через терминал, также требуется.
Я пытаюсь отформатировать внешний жесткий диск большой емкости (EHDD) в NTFS - от терминала.
Я знаю, что могу использовать gparted для этого, а также других программ GUI, но я все еще хочу теперь, как сделать это от терминала.
Существует несколько доступных опций:
fdisk
(более старый, не поддерживает GPT4).parted
(брат CLI GParted).mkfs
программы, если у Вас уже есть разделы и желание отформатировать.fdisk
и parted
являются интерактивными, и имеют команды справки, таким образом, можно всегда искать справку в рамках программы. Оба также scriptable. mkfs
команды не являются интерактивными.
fdisk
fdisk
ожидает устройство (такой как /dev/sda
) как аргумент. Это имеет следующие команды:
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the DOS compatibility flag
d delete a partition
l list known partition types
m print this menu
n add a new partition
o create a new empty DOS partition table
p print the partition table
q quit without saving changes
s create a new empty Sun disklabel
t change a partition's system id
u change display/entry units
v verify the partition table
w write table to disk and exit
x extra functionality (experts only)
Я не использую fdisk
то, что очень. Я просто сфокусируюсь на:
parted
parted
не нуждается в аргументе (он пытается "предположить"), но необходимо всегда указывать диск. Учитывая выбор, parted
программа, которую необходимо предпочесть. Это имеет следующие команды:
align-check TYPE N check partition N for TYPE(min|opt) alignment
check NUMBER do a simple check on the file system
cp [FROM-DEVICE] FROM-NUMBER TO-NUMBER copy file system to another partition
help [COMMAND] print general help, or help on COMMAND
mklabel,mktable LABEL-TYPE create a new disklabel (partition table)
mkfs NUMBER FS-TYPE make a FS-TYPE file system on partition NUMBER
mkpart PART-TYPE [FS-TYPE] START END make a partition
mkpartfs PART-TYPE FS-TYPE START END make a partition with a file system
resizepart NUMBER END resize partition NUMBER
move NUMBER START END move partition NUMBER
name NUMBER NAME name partition NUMBER as NAME
print [devices|free|list,all|NUMBER] display the partition table, available devices, free space, all found partitions, or a particular partition
quit exit program
rescue START END rescue a lost partition near START and END
resize NUMBER START END resize partition NUMBER and its file system
rm NUMBER delete partition NUMBER
select DEVICE choose the device to edit
set NUMBER FLAG STATE change the FLAG on partition NUMBER
toggle [NUMBER [FLAG]] toggle the state of FLAG on partition NUMBER
unit UNIT set the default unit to UNIT
version display the version number and copyright information of GNU Parted
Команды могут быть законтрактованы к уникальному префиксу (например, h
коротко для help
).
Я собираюсь использовать временный файл (/tmp/part
) Я создал, чтобы показать Вам команды, таким образом, размеры будут несколько небольшими. Необходимо заменить это устройством, в котором Вы нуждаетесь (/dev/sda
, например).
Во-первых, если Ваш диск не имеет таблицы разделов, мы должны создать тот:
parted /tmp/part mklabel gpt
или mklabel msdos
, если Вы хотите олдскульную вещь с 4 основными разделами (названный MBR или таблицей разделов MS-DOS). Затем мы делаем, скажем, ext4 запуск раздела, запускающийся на уровне 3 ГБ (т.е. оставляющий начальный 3G свободный) и размера 2 ГБ (т.е. заканчивающийся на уровне 5 ГБ). parted
ожидает местоположения в МБ для mkpartfs
, но мы можем указать суффикс:
parted /tmp/part mkpart primary ext4 3G 5G
И другой, теперь раздел NTFS 1 ГБ:
parted /tmp/part mkpart primary ntfs 5G 6G
Результат:
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB primary
2 5000MB 6000MB 1000MB primary msftdata
Отметьте, как это использует префиксы SI, тогда как GParted стойко использует двоичные префиксы (при отбрасывании глупого i
). Я маркирую разделы:
# parted /tmp/part name 1 hello
# parted /tmp/part name 2 world
# parted /tmp/part print
Model: (file)
Disk /tmp/blah: 10.4GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Number Start End Size File system Name Flags
1 3000MB 5000MB 2000MB hello
2 5000MB 6000MB 1000MB world msftdata
В то время как parted
может создать разделы файловой системы ntfs
очень хорошо это не может отформатировать существующий раздел (!) к NTFS:
mkfs partition fs-type
Make a filesystem fs-type on partition. fs-type can be one
of "fat16", "fat32", "ext2", "linux-swap", or "reiserfs".
Действительно, разделенный скажет Вам, что необходимо использовать его для управления разделами, не файловыми системами, который приносит мне к:
mkfs
mkfs
, как fsck
, по существу frontend к различным определенным для файловой системы командам. В моей системе, например, mkfs.bfs
, mkfs.cramfs
, mkfs.ext2
, mkfs.ext3
, mkfs.ext4
, mkfs.ext4dev
, mkfs.fat
, mkfs.minix
, mkfs.msdos
,mkfs.ntfs
, mkfs.vfat
доступны.
Теперь, к сожалению, в то время как parted
воздействует очень хорошо на файл, как тот, который я использовал выше, mkfs
не может отправиться на охоту для разделов в таких файлах. На самом деле это ожидает блочные устройства, поэтому если я соберусь использовать новый файл /tmp/file
для mkfs
, Я должен вызвать его, делают так. Вы будете использовать блочное устройство, соответствующее разделу, который Вы хотите отформатировать, такой как /dev/sda2
. Общий синтаксис для mkfs
:
# mkfs --help
Usage: mkfs [options] [-t type fs-options] device [size]
Options:
-t, --type=TYPE file system type, when undefined ext2 is used
fs-options parameters to real file system builder
device path to a device
size number of blocks on the device
-V, --verbose explain what is done
defining -V more than once will cause a dry-run
-V, --version output version information and exit
-V as version must be only option
-h, --help display this help and exit
For more information, see mkfs(8).
Как Вы видите, -t
флаг позволяет нам передать определенные для файловой системы флаги. Например, флаги NTFS:
# mkfs.ntfs --help
Usage: mkntfs [options] device [number-of-sectors]
Basic options:
-f, --fast Perform a quick format
-Q, --quick Perform a quick format
-L, --label STRING Set the volume label
-C, --enable-compression Enable compression on the volume
-I, --no-indexing Disable indexing on the volume
-n, --no-action Do not write to disk
Advanced options:
-c, --cluster-size BYTES Specify the cluster size for the volume
-s, --sector-size BYTES Specify the sector size for the device
-p, --partition-start SECTOR Specify the partition start sector
-H, --heads NUM Specify the number of heads
-S, --sectors-per-track NUM Specify the number of sectors per track
-z, --mft-zone-multiplier NUM Set the MFT zone multiplier
-T, --zero-time Fake the time to be 00:00 UTC, Jan 1, 1970
-F, --force Force execution despite errors
Output options:
-q, --quiet Quiet execution
-v, --verbose Verbose execution
--debug Very verbose execution
Help options:
-V, --version Display version
-l, --license Display licensing information
-h, --help Display this help
Developers' email address: ntfs-3g-devel@lists.sf.net
News, support and information: http://tuxera.com
Поэтому давайте сделаем раздел NTFS с быстрым форматированием (-Q
), вынуждая это воздействовать на файл неблочного устройства (-F
) и установка маркировки (-L "hello world"
).
# mkfs -t ntfs -F -Q -L "hello world" /tmp/file
/tmp/file is not a block device.
mkntfs forced anyway.
The sector size was not specified for /tmp/file and it could not be obtained automatically. It has been set to 512 bytes.
The partition start sector was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of sectors per track was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
The number of heads was not specified for /tmp/file and it could not be obtained automatically. It has been set to 0.
Cluster size has been automatically set to 4096 bytes.
To boot from a device, Windows needs the 'partition start sector', the 'sectors per track' and the 'number of heads' to be set.
Windows will not be able to boot from this device.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
Очевидно это не любило работать над файлом.:) Не волнуйтесь, это должно автоматически обнаружить большинство значений при работе над фактической дисковой емкостью. Даже этот "файл" хорошо работает как файловая система:
# mount -t ntfs-3g /tmp/file /mnt
# touch "/mnt/a file in mnt"
# ls -l /mnt
total 0
-rwxrwxrwx 1 root root 0 Aug 29 06:43 a file in mnt
# umount /mnt
# ls -l /mnt
total 0
(См. странные полномочия?)
sudo
где угодно в этом ответе все же. Так как я воздействовал на файлы и файлы, принадлежавшие мне, мне не было нужно sudo
. parted
предупредит Вас об этом. Для блочных устройств, которые обычно всегда принадлежат root
, Вам будет нужно sudo
(или необходимо будет использовать корневую оболочку через sudo -i
или sudo su -
).parted
программа GNU, и как много программ GNU, имеет обширную документацию в info
формат. Установка parted-doc
(sudo apt-get install parted-doc
) и затем выполненный info parted
. Вы можете также контроль руководство подключенного пользователя.mkfs
программируйте непосредственно (mkntfs
, в этом случае - mkfs.ntfs
просто ссылка на mkntfs
). Это также устанавливает много параметров. На самом деле, для большинства операций, можно исследовать детали сообщений GParted для наблюдения, какие команды были выполнены.parted
или fdisk
(кроме, возможно, для начального шага создания разделов для их использования).parted
использование:Синтаксис parted
программа:
parted [options] [device [command [options...]...]]
Когда Вы работаете parted
без команды, как:
parted /tmp/parted
Вы будете представлены простая оболочка, куда можно выполнить вышеупомянутые команды. Однако эти команды могут также быть выполнены непосредственно с помощью parted
программа. Таким образом, эти три эквивалентны:
# parted /tmp/parted
GNU Parted 2.3
Using /tmp/parted
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel gpt
И
# parted
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) select /tmp/parted
Using /tmp/parted
(parted) mklabel gpt
И
parted /tmp/parted mklabel gpt
Обратите внимание также что при создании разделов с parted
, полезный индикатор конца разделов -1s
(это "1" между дефисом и "s"). Это полезно, если Вы хотите, чтобы Ваш раздел охватил от указанного запуска до остальной части диска. Чтобы быть точнее, выполнение
parted /dev/sda -- mkpart primary ext4 3G -1s
создаст раздел /dev/sda
это запускается в 3G и заканчивается в последнем секторе /dev/sda
диск (т.е. это охватывает от 3G до целого остатка от диска). Обратите внимание что --
необходимо, для 1s
не интерпретироваться как недопустимая опция.
Сначала Вы, как к на самом деле делят Ваш жесткий диск с fdisk утилитой.
Linux позволяет только 4 основных раздела. У Вас может быть намного большее число логических разделов путем подразделения одного из основных разделов.
Только один из основных разделов может быть подразделен.
fdisk запускается путем ввода как корень fdisk устройство в командной строке.
Устройство могло бы быть чем-то как/dev/sda или/dev/sdb
, основной fdisk управляет, чтобы Вам было нужно:
p print the partition table
n create a new partition
d delete a partition
q quit without saving changes
w write the new partition table and exit
Изменения, которые Вы вносите в таблицу разделов, не вступают в силу, пока Вы не выпускаете запись (w) команда.
Вот демонстрационная таблица разделов:
Disk /dev/sdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 184 370912+ 83 Linux
/dev/sdb2 185 368 370944 83 Linux
/dev/sdb3 369 552 370944 83 Linux
/dev/sdb4 553 621 139104 82 Linux swap
Пример:
Запускают fdisk с приглашения оболочки:
sudo su
fdisk /dev/sdb
, Который указывает, что Вы используете второй диск на своем контроллере SATA.
Command (m for help): p
Disk /dev/hdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
That makes for 384Mb per partition.
Now You get to work.
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-621, default 1):<RETURN>
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-621, default 621): +384M
Next, You set up the partition You want to use for swap:
Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 2
First cylinder (197-621, default 197):<RETURN>
Using default value 197
Last cylinder or +size or +sizeM or +sizeK (197-621, default 621): +128M
Теперь таблица разделов похожа на это:
Device Boot Start End Blocks Id System
/dev/sdb1 1 196 395104 83 Linux
/dev/sdb2 197 262 133056 83 Linux
Наконец, Вы делаете первый раздел загрузочным:
Command (m for help): a
Partition number (1-4): 1
And You make the second partition of type swap:
Command (m for help): t
Partition number (1-4): 2
Hex code (type L to list codes): 82
Changed system type of partition 2 to 82 (Linux swap)
Command (m for help): p
конечный результат:
Disk /dev/sdb: 64 heads, 63 sectors, 621 cylinders
Units = cylinders of 4032 * 512 bytes
Device Boot Start End Blocks Id System
/dev/sdb1 * 1 196 395104+ 83 Linux
/dev/sdb2 197 262 133056 82 Linux swap
Наконец, Вы выпускаете команду (w) записи для записи таблицы на диске.
<час>mkfs утилита используется для создания файловой системы (ext2, ext3, ext4, и т.д.) в системе Linux.
необходимо определить имя устройства к mkfs на который файловая система быть созданными.
Представление Доступный разработчик Файловой системы Commands
разработчики файловой системы (mkfs* команды) обычно ищутся в каталогах как/sbin/,/sbin/fs,/sbin/fs.d,/etc/fs и / и т.д.
, Если не найденный, наконец это ищет каталоги, найденные в переменной ПУТИ.
следующий список показывает доступный mkfs* команды в системе.
sudo su
cd /sbin
ls mkfs*
mkfs mkfs.bfs mkfs.cramfs mkfs.ext2 mkfs.ext3 mkfs.ext4 mkfs.ext4dev
mkfs.minix mkfs.msdos mkfs.ntfs mkfs.vfat
Сборка Файловая система на Определенном Устройстве
для создания файловой системы с помощью mkfs команду, обязательные аргументы являются именем файла устройства и типом файловой системы как показано ниже.
следующий пример создает ext4 файловую систему на/dev/sdb1 разделе.
sudo su
mkfs -t ext4 /dev/sdb1
mke2fs 1.42 (29-Nov-2011)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1120112 inodes, 4476416 blocks
223820 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
137 block groups
32768 blocks per group, 32768 fragments per group
8176 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
Обратите внимание на то, что тип файловой системы по умолчанию для команды mkfs является ext2.
don’t при определении опции “-t” он создаст ext2 файловую систему.
кроме того, можно использовать метод, который мы обсудили ранее, чтобы определить, есть ли у Вас ext2 или ext3 или ext4 файловая система.
<час>Формат Диск NTFS
Первый, you’re собирающийся нуждаться в способности создать файловые системы NTFS, так ntfsprogs установки:
sudo su
apt-get install ntfs-3g
1142-секундный, Вы сдуваете раздел и воссоздаете его как NTFS.
sudo su
umount /dev/sdb1
fdisk /dev/sdb
Options to select:
‘d’ to delete the partition
‘n’ to create a new partition
‘p’ for primary
‘1’ for partition number
‘Enter’ for first cylinder (default 1)
‘Enter’ for last cylinder (default of max size)
‘t’ for type
‘L’ to list codes, and enter code for HPFS/NTFS. In my case, it’s ‘7’
‘w’ to write changes to disk, and exit
umount /dev/sdb1
На последнем шаге, Вы размонтировали раздел, потому что Ubuntu автосмонтировал его снова для Вас.
Теперь, необходимо создать файловую систему. Существует два способа пойти об этом: нетерпеливым путем (Быстрое форматирование), или лучше, но намного более длинный путь (Полный Формат).
Быстрое форматирование
Это просто выделяет дисковое пространство, но doesn’t обнуляют диск или проверку на поврежденные секторы. Это означает, что it’ll занимают несколько секунд.
sudo su
mkfs.ntfs -f /dev/sdb1
Полный Формат
, Если you’re, намного более соответствующие о целостности данных и don’t, возражают ожидать, делает полный формат.
Это может занять несколько часов для обнуления большого диска!
sudo su
mkfs.ntfs /dev/sdb1