Создать разделы на флешке linux

Обновлено: 06.07.2024

Временами ко мне заходят люди с поисковиком с запросами по поводу fdisk . Где-то в статьях упоминается эта команда. Но толком ничего у меня про нее не было. А я помню, как в свое время мучался с ней. Поскольку писать свое собственное что-то мне очень часто посто лень, то я потихоньку перевожу интересные и полезные для меня статьи. Вот и сейчас сделал то же самое. Может, пригодится кому-то. Хотя, как всегда, статья далеко не целиком раскрывает тему, а потому чтение манов никто не отменяет.

Итак, очередной перевод. Оригинал, как всегда, на Novell Cool Solutions. Читайте.

Создать разделы через интерфейс командной строки - просто и быстро, также учитывая знание ядра о модифицированной таблице разделов и наличия схемы разделов, позволяет получить нужный эффект без необходимости перезагрузки рабочей станции/сервера и без необходимости использовать утилиты для разделения.

Первым делом необходимо посмотреть, какие жесткие диски доступны, и какой жесткий диск необходимо разделить. Если на вашей машине установлено несколько жестких дисков, fdisk сообщит вам об этом. Два жестких диска показано в следующем листинге как sda и sdb .

Команда fdisk с оператором -l ( fdisk -l ) покажет вам текущие таблицы разделов наряду с жесткими дисками, подключенными к вашей рабочей станции или серверу:

Как только вы определили, какой жесткий диск вы хотите разделить, вы можете запустить команду fdisk, завершив ее нужным жестким диском ( fdisk /dev/sda ). В этой статье мы будем использовать первый жесткий диск - sda .

Как только fdisk будет запущен, ваше приглашение командной строки изменится на Command (m for help): , и вы будете готовы к проверке и разметке жесткого диска. Команды, которые поддерживает fdisk , можно просмотреть нажав клавишу m , а затем Enter . Команды, которые мы будем использовать:

  • p - для печати таблицы раздела
  • n - для создания нового раздела
  • w - для сохранения изменений и выхода

Отображение текущей таблицы раздела

Перед тем, как мы начнем делить жесткий диск, необходимо узнать какой объем дискового пространства нам доступен и как вообще выгдялит текущая таблица раздела. p , команда, которую мы будем использовать, выведет текущую таблицу раздела:

Вывод, приведенный выше, показывает, что у нас доступно 1809 цилиндров (9729 - 7920 = 1809), и мы можем выполнить вычисление (1809 * 16065 * 512) = 14879531520байтов, что примерно равно 14 гигабайт.

Создание нового раздела

Следующий шаг - создание нашего нового раздела. Для примера, мы создадим раздел с типом Linux и размером 1 гигабайт. Мы используем команду n для создания нового раздела. Нас спросят, с какого цилиндра будет начинаться раздел (я советую оставить по умолчанию) и необходимый размер раздела:

После того, как раздел будет создан, мы, используя команду p , можем отобразить на экране нашу новую таблицу раздела:

Запись нового раздела на диск

Теперь, когда раздел был успешно создан, вы можете записать изменения на диск, нажав клавишу w , а затем Enter :

Активирование вновь созданного раздела

Как только новая таблица раздела записана на жесткий диск, ядро имеет возможность читать новую таблицу раздела без необходимости перезагрузки. Первый шаг - создание точки монтирования для нового раздела, в нашем примере мы будем использовать /newpart , а также использование команды partprobe для того, чтобы ядро имело возможность перечитать таблицу разделов:

Теперь, когда новая точка монтирования создана и ядро перечитало таблицу разделов, вы можете отформатировать раздел и разместить на нем файловую систему на ваш выбор (ext2, ext3, reiserfs и т.д.). В нашем примере, мы выбрали reiserfs:

Как только размер будет отформатирован, вы можете примонтировать и использовать ваш вновь созданный раздел:

Заключение

После монтирования созданного и отформатированного раздела вы можете хранить ваши файлы на этом разделе безо всяких пробле, вы можете также добавить ваш новый раздел в файл /etc/fstab для того, чтобы ваш раздел монтировался после каждой перезагрузки.

В Linux существует множество способов разметки диска, создания на нём разделов и просмотра уже существующих. Это утилиты parted и cfdisk в терминале и графическая утилита gparted. Однако сегодня мы поговорим про самую простую утилиту для разметки диска в терминале - fdisk.

Именно она используется чаще всего, если надо посмотреть как диски и разделы доступны на компьютере. Далее рассмотрим основные опции утилиты, её синтаксис, а также примеры использования.

Опции и синтаксис fdisk

Синтаксис утилиты ничем не отличается от других команд Linux:

$ fdisk опции устройство

Ей надо передать опции, согласно действия, которое вы хотите выполнить, а также раздел диска или устройство к которому эти действия надо применить. Давайте теперь рассмотрим опции fdisk:

  • -B, --protect-boot - не стирать первые 512 байт диска чтобы не повредить загрузочную запись;
  • -L, --color - настройка цветного вывода, возможные значения auto, never или always;
  • -l, --list - вывести все разделы на выбранных устройствах или если устройств не задано, то на всех устройствах;
  • -o, --output - указывает какие поля данных надо показывать в выводе программы, доступные поля рассмотрим ниже;
  • -u, --units - настраивает формат вывода размера разделов, доступные значения: cylinders, sectors, по умолчанию используется sectors;
  • -w, --wipe - режим стирания файловой системы или RAID с диска, возможные значения auto, never или always по умолчанию используется auto;
  • -W, --wipe-partition - режим стирания файловой системы или RAID из только что созданного раздела. Возможные значения аналогичны предыдущей опции;
  • -h, --help - показать справку по утилите;
  • -v, --version - опция выводит версию утилиты.

Опции используются для настройки работы утилиты, мы рассмотрели только самые главные, которые могут вам пригодится, теперь перейдём к командам:

  • a - включение или выключения флага boot для раздела;
  • d - удалить раздел;
  • F - показать свободное место;
  • l - вывести список известных типов разделов;
  • n - создать новый раздел;
  • p - вывести таблицу разделов;
  • t - изменение типа раздела;
  • i - вывести информацию о разделе;
  • I и O - записать или загрузить разметку в файл сценария sfdisk;
  • w - записать новую таблицу разделов на диск;
  • q - выйти без сохранения;
  • g - создать пустую таблицу разделов GPT;
  • o - создать пустую таблицу разделов MBR.

Теперь вы знаете основные опции и команды fdisk, давайте рассмотрим использование программы.

Примеры использования команды fdisk

1. Список дисков и разделов

Чтобы посмотреть список доступных вам дисков и разделов на них используйте опцию -l:

Утилита покажет все блочные устройства. На снимке есть /dev/sda, это обычный жесткий диск и /dev/nvme0n1 - это M.2 накопитель, а также там есть есть несколько /dev/loop* устройств, созданных ядром, которые лучше не трогать.

2. Интерактивный режим

Большинство операций fdisk по разметке дисков выполняются в интерактивном режиме. Чтобы запустить fdisk в интерактивном режиме передайте утилите блочное устройство которое надо разметить. В моём примере, это /dev/nvme0n1:

sudo fdisk /dev/nvme0n1

Вам не обязательно возвращаться к этой статье, когда вы захотите снова поработать с программой, посмотреть доступные команды можно выполнив команду m:

3. Просмотр таблицы разделов

Чтобы посмотреть текущий тип таблицы разделов, а также доступные разделы на диске используйте команду p:

В данном примере на диске уже есть несколько разделов, а таблица разделов используется MBR (dos).

4. Создание таблицы разделов

Давайте создадим новую таблицу разделов GPT. Для этого используйте команду g. Для таблицы разделов MBR нам бы понадобилась команда o.

5. Создание разделов

Чтобы создать раздел используйте команду n. Команда спросит какой номер раздела надо присвоить этому разделу, затем спросит сектор начала раздела, эти значения можно оставить по умолчанию, так как утилита предлагает минимальные доступные. Далее надо указать размер раздела. Это можно сделать тремя способами:

  • указать количество секторов раздела;
  • указать последний сектор раздела;
  • указать размер раздела в килобайтах, мегабайтах или гигабайтах, обозначения стандартные K,M,G.

Давайте создадим три раздела разными способами:

Первый раздел создадим с помощью обычных единиц измерения. Перед ними надо ставить плюс, так как это место, которое добавляется к первому сектору раздела.

Во втором способе укажем размер раздела в секторах. Для получения раздела размером 1 гигабайт нам понадобится примерно 2 000 000 секторов. По умолчанию размер сектора 512 байт, поэтому 2 000 000 * 512 получится примерно 1024 000 000 байт:

И в третьем способе с помощью калькулятора добавим к первому сектору раздела те же два миллиона:

На этом создание разделов fdisk завершено. А вот форматирование разделов в fdisk невозможно, для этого придется воспользоваться утилитой mkfs.

6. Тип раздела

Кроме обычных разделов для пользовательских файлов существуют и другие типы разделов, например раздел EFI, BIOS boot, Windows Recovery, Linux swap, этот тип влияет на назначение раздела, например, раздел EFI не будет использоваться пока для него не будет выбран правильный тип. Чтобы изменить тип раздела используйте команду t:

Для вывода всех доступных типов и их номеров используйте команду L:

Для выхода из списка разделов нажмите q, а затем просто наберите номер нужного типа:

7. Удаление раздела

Чтобы удалить раздел выполните команду d, а затем введите его номер:

Вот так просто выполняется удаление.

8. Загрузочный раздел

При загрузке компьютера с диска, на котором используется таблица разделов MBR, BIOS ищет раздел, отмеченный как загрузочный и начинает искать загрузчик именно на нём. Чтобы сделать раздел загрузочным если он ещё не загрузочный или наоборот сделать его не загрузочным используйте команду a:

Загрузочность отмечается звездочкой в выводе команды p. В таблице разделов GPT для записи загрузчика используется раздел с типом BIOS boot, а флага загрузочности здесь уже нет.

9. Применение изменений

Все изменения, которые вы сейчас вносили, ещё не записаны на диск. Для их записи надо выполнить команду w:

После записи изменений программа завершится.

Выводы

В этой статье мы рассмотрели как пользоваться fdisk в Linux, как создавать разделы с помощью этой утилиты, а также как выбрать тип диска. Несмотря на все возможности утилиты намного удобнее пользоваться gparted или же cfdisk если надо разметить диск в терминале. Последнюю мы разберем в одной из следующих статей.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

Мне довольно часто приходиться делать загрузочные флешки с разными Live дистрибутивами. Делаю я всё это дело в dd, после чего на флешках создаються нужные разделы и остается свободное пространство. И иногда мне это свободное пространство очень удобно было бы использовать для хранения файлов, но я не могу создать новый раздел из этого свободного пространства. Пробовал делать это пока только через гуй в программе gnome-disks но там выдавало ошибку мол невозможно создать раздел и что-то связанно с нулями (сейчас скопировать сюда ту ошибку не смогу так как всё это дело не под рукой). Но хотелось бы понять почему не получаеться создать раздел из свободного пространства на флешке где записан Live дистрибутив. И вытекающий отсюда вопрос: реально ли вообще создавать разделы для хранения своих файлов на флешках где записанны Live дистрибутивы так чтобы при этом эти же Live дистрибутивы продолжали нормально загружаться?


где /dev/sdX - устройство флешки. Не /dev/sdX1, а именно /dev/sdX.

Вывод помести в тег [code][/code].

Готовые live iso могут быть размечены каким-то интересным образом. Потому вместо dd сам размечай на флэхе фс, ставь туда загрузчик и копируй из исошника файлы в эту фс.

Так не всегда будет работать. Иногда live или сам установщик обращается по label раздела.

Проще установить на флешку grub. Скопировать ядро и инитрам от соответствующего дистра и его iso. Создать конфиг, обновить Grub.

Как это делать в инете информации полно.


Можете установить на флешку GRUB, glim или multibootusb, и грузить live-образ непосредственно из ISO-файла дистрибутива.


SergeySVold ★★★★ ( 06.10.19 18:28:01 )
Последнее исправление: SergeySVold 06.10.19 18:28:14 (всего исправлений: 1)

ч-з fdisk прекрасно создаются доп. разделы

Такой же вопрос интересует, нужно внятное описание, как разбить флешку, чтоб на ней был live дистрибутив, плюс два раздела, ext4 и vfat? Как потом обновить дистрибутив без форматирования всей флешки?

Как потом обновить дистрибутив без форматирования всей флешки?


где /dev/sdX - устройство флешки. Не /dev/sdX1, а именно /dev/sdX.

Вывод помести в тег [code][/code].

Насчет поместить это дело в тег [code][/code] не знаю как. А вывод вот: Disk /dev/sdb: 3,7 GiB, 3904897024 bytes, 7626752 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 Disklabel type: dos Disk identifier: 0xa869588a

Device Boot Start End Sectors Size Id Type /dev/sdb1 * 64 5516159 5516096 2,6G 17 Hidden HPFS/NTFS /dev/sdb2 5516160 5517567 1408 704K 1 FAT12


ч-з fdisk прекрасно создаются доп. разделы

Какую команду ввести чтобы превратить свободное пространство на флешке в раздел Ext4 или что еще лучше LUKS+Ext4 так чтобы при этом не испортить уже созданные разделы и их содержимое?

Короче, только что проделал эксперимент. Создал на флешке 3 раздела vfat /dev/sdc1, ext4 /dev/sdc2 (загрузочный), ext4 /dev/sdc3. Потом диск дупом закатал убунту на загрузочный раздел:

Флешка загружается, все разделы монтируются и при загрузке с флещки, и при загрузке с SSD. Vfat раздел виден на андроиде и на макинтоше. Теперь, если нас достал убунту, и мы хотим например кали линукс, просто делаем:

И всё опять работает. Т.е., как я понял, сначала нужно разделы создать, а потом на один из них live дистр забубенить.


Т.е., как я понял, сначала нужно разделы создать, а потом на один из них live дистр забубенить.

Спасибо за инфу, попробую как будут нужные флешки под рукой. А разделы создавал в fdisk?

В убунту disk utility. Да это пофиг как. Главное чтоб vfat раздел был /dev/sdc1, а то не под линуксом он не будет виден. Я поместил загрузочный /dev/sdc2 в начало диска, за ним /dev/sdc3, последним /dev/sdc1.

Что то сделал также и не грузится. Пробовал с linuxmint 19_32bit. Черный экран с надписью GRUB в левом верхнем углу монитора.

В биосе стоит загрузка вначале legacy потом efi.

Подскажите пожалуйста вывод lsblk -f и fdisk с опцией p.

[code] sdd iso9660 ARCH_201903 2019-03-07-10-06-27-00
├─sdd1 vfat USB1 0184-5B8D 5G 0% /run/media/dima/USB1 ├─sdd2 iso9660 Linux Mint 19.2 Xfce 32-bit 2019-07-29-15-41-47-00 0 100% /run/media/dima/Linux Mint 19.2 └─sdd3 ext4 USB3 8bde4d11-9fad-48f9-a5a2-6a6f284410bf 4,6G 0% /run/media/dima/USB3 [/code]

fdisk с опцией p

[code] Диск /dev/sdd: 15,2 GiB, 16122970112 байт, 31490176 секторов Disk model: Mass Storage
Единицы: секторов по 1 * 512 = 512 байт Размер сектора (логический/физический): 512 байт / 512 байт Размер I/O (минимальный/оптимальный): 512 байт / 512 байт Тип метки диска: dos Идентификатор диска: 0x8244b646

Устр-во Загрузочный начало Конец Секторы Размер Идентификатор Тип /dev/sdd1 2048 10487807 10485760 5G b W95 FAT32 /dev/sdd2 * 10487808 20973567 10485760 5G 83 Linux /dev/sdd3 20973568 31490175 10516608 5G 83 Linux [/code]

dima81 ★ ( 03.11.19 07:16:02 )
Последнее исправление: dima81 03.11.19 07:31:24 (всего исправлений: 2)

реально ли вообще создавать разделы

Реально, Но почти всегда надо самому: создавать разделы; форматировать; закидывать ядро, initrd, squashfs(или что там вместо корневой ФС); устанавливать загрузчик. У некоторых дистрибутивов, например дебиана, есть короткая инструкция для этого, но надо знать, как вообще это работает, а если знаешь, то и без инструкции все понятно. Так что эти инструкции только задают направление, к чему документацию читать.


После этого я получал новый не зашифрованный раздел на флешке который не монтировался, углублятся почему он не монтировался я не стал, так как мне нужен был шифрованный раздел. Далее шифровал этими командами:

После приобретения нового винчестера или флешки нужно разбить свежее пространство на разделы и отформатировать их под требуемую файловую систему Linux. Это очень просто только почему-то об этом не пишут.

Создание раздела на жёстком диске в Linux
Для этого используем cfdisk (кто не может пережить псевдографический интерфейс, качает gparted). Для создания разделов потребуются привилегии root, добываемые командной su.
После этого пишем:


Нажимаем на New, создать раздел. Выбираем Primary (основной)

Создастся, нажимаем Bootable (если нужно, чтобы он был загружаемый).



Как уже говорилось, создать раздел в Linux довольно просто, и это только что сделано. Всё, разделы созданы, выходим из программы, выбирая Quit.

aptitude install reiserfsprogs xfsprogs jfsutils

После этого пишем:

sudo mkfs -t типФС /файл/устройства

где вместо типФС подставляем выбранную файловую систему:

Вместо /файл/устройства пишем имя форматируемого раздела, например /dev/hdb1. В нашем примере это выглядит так:

На экране будет происходить что-то вроде:


После форматирования раздел сразу же можно смонтировать и использовать. Создаём точку монтирования:

и даём директории полные права:

sudo mount -t ext3 /dev/hdb1 /mnt/megadrive

Всё, разделы созданы и отформатированы.

Настройка файловой системы
ВНИМАНИЕ! Всё нижеописанное делается на ОТМОНТИРОВАННОЙ файловой системе!
Здесь нужно ещё отметить тот факт, что при форматировании в ext3, для пользователя root резервируется 5% места. Чтобы убрать 5 процентное резервирование места для root в ext3 нужно дать команду:

После этого простому пользователю будет доступно всё место.

Так же имеет место быть принудительная проверка диска после некоторого количества загрузок. Если вам это не нужно, процедуру можно отменить командой:

Либо сделать так, чтобы проверка происходила реже, например, 1 раз в 100 загрузок:

Просмотреть свойства файловой системы можно командой

и узнать о ней много интересного. Если нужно, конечно.

Информация о разделах винчестера
Иногда требуется узнать, какие разделы на винчестере есть и какая там файловая система. Для того, чтобы узнать информацию о разделах жесткого диска, набираем от root пользователя:

в ответ получаем:

Disk /dev/sda: 160.0 GB, 160041885696 bytes
255 heads, 63 sectors/track, 19457 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xd0f4738c

Device Boot Start End Blocks Id System
/dev/sda1 1 61 489951 82 Linux swap / Solaris
/dev/sda2 * 15567 19457 31254457+ 83 Linux
/dev/sda3 62 15566 124543912+ 83 Linux

Откуда видим: есть три раздела, первый из них (/dev/sda1) это раздел подкачки (500 мегабайт). Второй раздел (/dev/sda2) на 30Гб, трейтий (/dev/sda3) на 120Гб. Активный раздел (который сейчас используется операционной системой) помечен звёздочкой.

Узнать, на каком разделе вы сейчас работаете, можно с помощью команды:

точка на конце обязательна; получим:

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 85864764 2733992 83130772 4% /home

собственно то же, что и в случае с fdisk -l == именно информацию о разделе.


Источник

fdisk — общее название системных утилит для управления разделами жёсткого диска. Широко распространены и имеются практически в любой операционной системе, но работают по-разному. Используют текстовый интерфейс пользователя.

Предупреждение: Не создавайте, не удаляйте и не изменяйте разделы, если вы не знаете, что вы делаете!

Утилита FDISK в Unix/Linux

С FDISK утилитой можно просматривать, создавать, изменять размер, удалять, копировать и перемещать разделы на жестком диске. И я приведу наглядные примеры по использованию.

Просмотр разделов в Unix/Linux

И так, запустим команду:

Вывод получаем следующий:

fdisk -l

Можно узнать некоторую полезную информацию по конкретному блочному устройству. Например, следующая команда отобразит все разделы для /dev/sda:

fdisk -l /dev/sda

Если у Вас есть разные названия устройств, простое имя устройства записи как /dev/sdb или /dev/sdc и так далее.

Вывод доступных команд по FDISK

Если вы хотели бы просмотреть все команды, которые доступны для FDISK, то просто используйте следующую команду, упомянув название жесткого диска, например /dev/sda, как показано ниже:

вывод все доступных команд для FDISK

вывод все доступных команд для FDISK например для /dev/sda

список команд FDISK

Допустимые опции при работы с fdisk

Вывод всех партиций (разделов) в Unix/Linux

Чтобы вывести таблицу разделов вашего блочного устройства, используйте:

таблица разделов fdisk

Создать таблицу разделов ( disklabel) в Unix/Linux

Если имеется пустое блочное устройство и вы хотите на нем сделать разметку для установки будущей ОС, то для начала, стоит выбрать будущую разметку.

Приеду основные таблицы для разметки:

Чтобы создать таблицу разделов вашего блочного устройства, используйте:

Данным действием было выбрано блочное устройство /dev/sda и чтобы создать на нем новую таблицу разделов, используем одну из опций:

И переходим к созданию разделов.

Создать новый раздел в Unix/Linux

И так, допустим у вас есть свободное место на одном из устройств ( у меня это /dev/sda) и вам необходимо создать новый раздел (например для установки ОС). Тогда вы должны запустить утилиту следующим образом (Введите следующую команду, чтобы войти в режим управления конкретного блочного устройства):

Как создать новый раздел в Linux fdisk

Как создать новый раздел в Linux fdisk

Можно еще создать несколько разделов. Действия будут какие же.

Форматирование разделов в Unix/Linux

После того, как разделы создали, необходимо выполнить форматирование. Но прежде чем перейти к данному действию, нужно определится с файловой системой (ФС).

Выбираем тип ФС и переходим к фармотированию.

Проверить размер раздела в Unix/Linux

Размер отображается в блоках.

Для вывода в гигабайтах (Гб), используйте:

Включение/Выключение загрузки флага (*) из раздела в Unix/Linux

При разметке, я обычно выделяю 100мб для раздела, в котором будет хранится загрузчик. И для этой цели, необходимо указать что именно с него будет выполнятся загрузка. И по этому, нужно указать нужный из разделов. Начнем:

Как отключить загрузки флага из раздела fdisk

Как отключить загрузки флага из раздела fdisk

Удалить раздел в Unix/Linux

Как удалить раздел в Linux fdisk

Как удалить раздел в Linux fdisk

Использование fdisk в bash скриптах

Если хорошо знаешь команды, то можно написать небольшой баш-скрипт или просто использовать данную конструкцию в шеле оболочки, который эмулировал бы работу пользователя:

Я не буду объяснять что делает данные буквы, т.к я описывал все опции выше.

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Читайте также: