Создать файловую систему ext4 linux fdisk

Creating ext4 partition from console

I have a volume /dev/sda1 (1.2 TB) containing an NTFS partition using 0.6 TB space. I want to make an ext4 partition in the remaining 0.6 TB space. I have not tried anything yet because I don’t want to risk losing data if I hit a wrong command. (I cannot use gparted as I don’t have GUI.) Can you provide me with the correct command, or at least the right parameters for mkfs.ext4 . root@rasp:~# fdisk -l /dev/sda

Disk /dev/sda: 1500.3 GB, 1500299395072 bytes 255 heads, 63 sectors/track, 182401 cylinders, total 2930272256 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: 0x000303ee Device Boot Start End Blocks Id System /dev/sda1 2048 2930272255 1465135104 7 HPFS/NTFS/exFAT 

Thanks for the update, I am looking into the details but in the mean time, you do have a backup of your NTFS data right? If not MAKE ONE NOW! It should be possible to do this without data loss but you never know. Also, do you have full access to the machine? Can you reboot into a live session for example?

@terdon I have root access but not physical access. The /dev/sda is not the one I boot from. I cannot do backup or boot from anything else. From ubuntuforums.org/showthread.php?t=1244058 I read that I have to delete the partition from the table and set a new one in the range of the NTFS size, then add a new partition that I have to initialize with ext4.

Yes, exactly. Also have a look at this. Theoretically, once you have resized using ntfsresize you can delete the partition using fdisk and recreate it smaller as long as it starts on the same cylinder. So, basically, first delete the existing partition then follow the steps in my answer to create the new one. You do this at your own risk, I have never tried it personally but it should work. I would really recommend using clonezilla or a similar tool to make a backup first.

@terdon I noticed that ntfsresize ran properly with success but it must have deleted something because I get the error of integrity fail.. Failed to load $MFT: Input/output error .

2 Answers 2

First of all you need to create a partition, then you can make the filesystem.

This will bring up the fdisk menu. You should familiarize yourself with it, search for tutorials (here’s one). The basic options are:

 Command action a toggle a bootable flagL 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) 

If all goes well, by pressing n , you will be given the option of creating a new partition in the empty space. If the only unallocated space is the one you want to use, the default choices should be fine and you can just let fdisk choose.

  1. Since you want to create an ext partition, you don’t need to do anything. If you wanted to create a different type (swap or NTFS or whatever) you would need to use t to change the partition type. I am mentioning this just in case.
  2. Check that your changes are what you expected by hitting p to print the partition table.
  3. If everything is OK, write the new partition table to the disk ( w ) and exit ( q ).
Читайте также:  Get utc date linux

Now that you have your new, empty partition, you can create its filesystem. So, if you just created /dev/sdaX (where X is the number of the partition you created, for example /dev/sda2 ), run this:

Источник

fdisk (Русский)

Состояние перевода: На этой странице представлен перевод статьи fdisk. Дата последней синхронизации: 1 февраля 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

fdisk из пакета util-linux — интерактивная консольная утилита, которая может создать таблицу разделов и разделы на жестком диске и управлять ими. В таблице разделов описано разбиение жесткого диска на разделы.

Эта статья объясняет fdisk(8) и связанную с ней утилиту sfdisk(8) .

Совет: Для базовых функций разметки можно использовать cfdisk(8) с текстовым пользовательским интерфейсом.

Установка

fdisk и связанные с ним утилиты входят в состав пакета util-linux , который является частью мета-пакета base .

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

Чтобы просмотреть таблицы разделов и разделы на блочном устройстве, вы можете запустить fdisk, указав устройство (например: /dev/sda ), /dev/nvme0n1 , /dev/mmcblk0 , и т.д.):

Примечание: Если устройство не указано, fdisk покажет все разделы из /proc/partitions .

Резервное копирование и восстановление таблицы разделов

Вы можете захотеть сделать резервное копирование таблицы разделов и схемы разделов диска перед их изменениями. Вы также можете использовать резервное копирование для копирования одинаковых разметок разделов на другие диски.

Вы можете использовать sfdisk для таблиц разделов GPT и MBR, чтобы сохранить разметку разделов вашего устройства в файл с параметром -d / —dump . Выполните следующую команду для устройства /dev/sda :

Файл должен выглядеть примерно так для одного раздела ext4 размером 1 ГиБ:

label: gpt label-id: AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE device: /dev/sda unit: sectors first-lba: 34 last-lba: 1048576 /dev/sda1 : start=2048, size=1048576, type=0FC63DAF-8483-4772-8E79-3D69D8477DE4, uuid=BBF1CD36-9262-463E-A4FB-81E32C12BDE7

Чтобы позже восстановить эту разметку, вы можете выполнить:

Читайте также:  Linux kernel system time

Создание таблицы разделов и самих разделов

Первый шаг в разметке диска — создание таблицы разделов. После этого создаются собственно разделы в соответствии с желаемой схемой разметки. Смотрите статью Разметка диска, чтобы решить, что выбрать для использования: MBR или GPT.

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

В недавних версиях fdisk отказались от устаревшей системы использования цилиндров в качестве стандартной единицы измерения, как и от совместимости с MS-DOS по умолчанию. fdisk автоматически выполняет выравнивание по 2048 512-байтовым секторам (1 МиБ), что должно быть совместимо со всеми расширенными форматами HDD и подавляющим большинством SSD. Это означает, что с настройками по умолчанию вы получите правильное выравнивание.

Чтобы использовать fdisk, запустите программу с именем блочного устройства, которое вы хотите изменить. В этом примере используется /dev/sda :

Это откроет интерактивный режим fdisk, где вы можете вводить команды.

Создание новой таблицы

Важно: Если вы создадите новую таблицу разделов на диске с данными, то все данные на нём будут удалены. Убедитесь, что это действительно то, что вы хотите сделать.

Чтобы создать новую таблицу разделов и удалить всю текущую информацию о разделах, введите o для таблицы разделов MBR или g для таблицы разделов GUID (GPT). Пропустите эти шаги, если необходимая таблица уже была создана.

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

Создайте новый раздел с помощью команды n . Вам нужно будет ввести тип раздела, номер раздела, начальный сектор и конечный сектор.

Примечание: Рекомендации по размеру и расположению разделов можно почитать в статье Разметка дисков#Схема разметки.

Тип раздела

При исплоьзовании MBR fdisk спросит тип раздела. Введите p для создания первичного раздела или e для создания расширенного. Может быть до четырёх основных разделов.

fidsk не спрашивает ID типа раздела и по умолчанию использует ‘Linux filesystem’; вы сможете изменить его позже.

Номер раздела

Номер раздела — это номер, присвоенный разделу, например, раздел с номером 1 на диске /dev/sda будет /dev/sda1 . Номера разделов могут не совпадать с реальным порядком разделов на диске, в этом случае их можно отсортировать.

Рекомендуется использовать номер по умолчанию, который предложит fdisk.

Первый и последний сектор

Первый сектор должен быть указан в абсолютном выражении с использованием номеров секторов. Последний сектор может быть задан с использованием абсолютного положения в секторах или в виде позиций, измеряемых в кибибайтах ( K ), мебибайтах ( M ), гибибайтах ( G ), тебибайтах ( T ) или пебибайтах ( P ).

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

  • в абсолютном выражении от начала диска. Например, 40M в качестве первого сектора указывает позицию 40 МиБ от начала диска.
  • в относительном выражении, предваряя размер символами +размер или размер . Например, +2G указывает на позицию через 2 ГиБ после начального сектора, а -200M указывает на позицию 200 МиБ перед последним доступным сектором.
Читайте также:  Arch linux logo color

Нажатие Enter без ввода значения использует значение по умолчанию, которое является началом самого большого доступного блока для первого сектора и концом того же блока для последнего сектора.

  • При разметке всегда рекомендуется использовать значения по умолчанию для первого и последнего секторов раздела. Кроме того, стоит указывать относительные размеры разделов с помощью нотации +размер и не использовать разделы меньше 1 МиБ. Такие разделы всегда будут выровнены в соответствии со свойствами устройства.
  • На диске MBR оставьте неразмеченными как минимум 33 512-байтовых сектора (16,5 КиБ) в конце диска на случай, если вам понадобится преобразовать MBR в GPT.
  • Системный раздел EFI требует тип EFI System .
  • GRUB требует раздел загрузки BIOS с типом BIOS boot при установке GRUB на диск с разметкой GPT.
  • Рекомендуется использовать Linux swap для любого раздела подкачки, так как systemd будет автоматически монтировать его.

Повторяйте эту процедуру, пока не получите желаемые разделы.

Изменение типа раздела

У каждого раздела есть определённый тип. MBR использует partition ID; GPT использует GUID типов разделов.

Нажмите t , чтобы изменить идентификатор типа раздела. Используемое по умолчанию значение Linux filesystem должно быть подходящим для большинства случаев.

  • Введите L для просмотра списка внутренних кодов fdisk.
  • При использовании GPT рекомендуется следовать Discoverable Partitions Specification, поскольку systemd-gpt-auto-generator(8) будет монтировать их автоматически.

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

Вы можете отметить раздел как загрузочный, введя a .

Запись изменений на диск

Для записи новой таблицы на диск и выхода используйте команду w .

Перемещение разделов

Важно: Разделы нельзя использовать в процессе их перемещения. Поскольку перемещение требует перезаписи всего раздела на диске, это медленная и потенциально опасная операция. Настоятельно рекомендуется создавать резервные копии! Согласно man-странице sfdisk, «эта операция рискованна и не является атомарной».

Чтобы переместить раздел, необходимо иметь свободное пространство в том месте, куда будет перемещён раздел. При необходимости можно освободить место, уменьшив разделы и файловые системы на них. Смотрите Parted (Русский)#Сжатие разделов. Чтобы переместить раздел:

# echo '+секторы,' | sfdisk --move-data устройство -N номер 

Где секторы — количество секторов для перемещения раздела ( + означает перемещение вперёд), устройство — устройство, на котором находится раздел, а номер — номер раздела. Обратите внимание, что если вы добавляете новый раздел в середине или в начале диска, вам, скорее всего, потребуется изменить нумерацию разделов. Смотрите #Сортировка разделов или режим «extra functionality» в fdisk.

Советы и рекомендации

Сортировка разделов

В ситуации, когда, например, новый раздел создаётся между двумя существующими или раздел удаляется, нумерация разделов может перестать соответствовать их реальному расположению на диске, и для исправления можно выполнить сортировку. В этом примере используется /dev/sda .

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

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

Смотрите также

Источник

Оцените статью
Adblock
detector