Fdisk linux удалить все разделы

Deleting All Partitions From the Command Line

How do you delete all partitions on a device from the command line on Linux (specifically Ubuntu)? I tried looking at fdisk, but it presents an interactive prompt. I’m looking for a single command, which I can give a device path (e.g. /dev/sda) and it’ll delete the ext4, linux-swap, and whatever other partitions it finds. Essentially, this would be the same thing as if I were to open GParted, and manually select and delete all partitions. This seems fairly simple, but unfortunately, I haven’t been able to find anything through Google.

9 Answers 9

dd if=/dev/zero of=/dev/sda bs=512 count=1 conv=notrunc 

This will not delete the partitions. By deleting the partitions he meant to preserve the MBR and just empty the partition table.

No, this appears to do exactly what I need. I don’t really care if the data is still there. GParted shows that the partitions are gone after running this, and that’s what I wanted.

To be fair, he said delete the partitions, not the partition table or data, so it wasn’t really clear. But I think we knew he just wanted the parts not to register, which makes this the correct answer. To delete the data would be uneccesary. IF you want to zero it, thats a different story, that’s deleting the data too.

The wipefs program lets you easily delete the partition-table signature:

wipefs can erase filesystem, raid or partition-table signatures (magic strings) from the specified device to make the signatures invisible for libblkid.

wipefs does not erase the filesystem itself nor any other data from the device. When used without any options, wipefs lists all visible filesystems and the offsets of their basic signatures.

wipefs calls the BLKRRPART ioctl when it has erased a partition-table signature to inform the kernel about the change.

Quick and Dirty: use gparted to delete the partitions, or if you’re in a hurry:

dd if=/dev/zero of=/dev/[disk device] bs=512 count=1 

This will zap the MBR of the drive (Data is still intact).

dd if=/dev/zero of=/dev/[disk device] 

to wipe the whole drive (write a single pass of zeros over everything. Not «secure» but usually good enough), or use a «disk shredder» tool for a secure wipe.

Not secure because it’s possible that the disk’s contents could be partially recovered by someone with physical access to it. A secure wipe writes multiple passes of random data over the whole disk.

Use improved non-interactive version of fdisk, which is sfdisk

To erase partition table use this command:

Note: no confirmation will be thrown, the partitions will be deleted instantly and forever!

I think it’s worth making it clear that after running this command there won’t be any confirmation prompts whatsoever, the partition will be deleted instantly.

Читайте также:  Linux firefox about config

See man sfdisk , which is a non-interactive variant of fdisk. Other than that, you can delete the whole partition table with dd, as pk wrote.

You should be able to use parted for this aswell, although that may involve some scripting to loop through the partitions.

It may be worth to mention that e.g. parted /dev/mmcblk0 —script mklabel gpt deletes all existing partitions. For me it was parted /dev/mmcblk0 —script mklabel msdos

If we’re talking about MBR-style partitions.

dd if=/dev/zero of=/dev/[disk device] bs=1 count=64 seek=446 conv=notrunc 

This standard command copies bytes from a source and writes them to a destination. It’s the simplest flexible tool for this job.

Here, we specify that we’re reading from /dev/zero , which is a special device which emits NUL bytes—zeros.

Here, we specify which device we’re writing to.

dd thinks in terms of blocks. The default block size may be 512 bytes, 1024 bytes or 4096 bytes, depending on your system. However, we need to address things more precisely than that, so we tell dd to use a block size of 1 byte.

Here, we tell dd to write 64 blocks (or bytes, because of our bs=1 parameter), since the primary partition table consists of 4 16-byte partition entries, for a total of 64 bytes.

The primary partition table within the MBR (so, not talking about GPT here) is located 446 bytes in, so we instruct dd to seek 446 bytes in before writing.

Extended partitions are generally created by using a primary partition slot to point at the extended partition table, so if we erase the 4 primary partitions, we effectively wipe the extended partition table as well; the OS won’t be able to find it, so it won’t be able to read and interpret it. (If you want to wipe the extended partition table, you’ll need to know more about the operating system; different operating systems do extended partitions in different ways.)

I wanted to do the same thing (except in Slackware 14.2) but found I could not effect most of the solutions proposed here, with the most elaborate and well-documented solution creating new problems for making replacement partitions. That deleted the partition but some partitioning software apparently found the partition backups automatically.

I found f3probe (http://oss.digirati.com.br/f3) solved the problem of deleting all the partitions, quickly and easily, working with large capacity drives, and created exactly 1 partition spanning the whole drive, which was easy to delete.

It was also easy, from there to create new partitions, in a straight-forward way.

f3probe --destructive --time-ops /dev/sdb # Now we know only 1 partition exists on /dev/sdb # which is /dev/sdb1 # # Unmount that partition umount /dev/sdb1 # # Delete that single partition parted /dev/sdb rm 1 # # Now you can create new partitions # i.e. parted /dev/sdb mkpart primary fat32 1049K 15.8G # # Update /etc/fstab before rebooting. 

Источник

Читайте также:  Astra linux загрузка командной строки

Команда fdisk. Управление разделами жёсткого диска

fdisk (сокращение от “format disk“, форматировать диск) — это наиболее распространенная утилита командной строки для работы с дисками в Linux/Unix системах. При помощи этой команды можно просматривать, создавать, удалять, изменять, копировать и перемещать разделы на жёстком диске, используя простой интерфейс текстовых меню.

Это очень полезный инструмент для выделения пространства для новых разделов, организации пространства на новых дисках, реорганизации старых дисков, а также копирования или перемещения данных на новых дисков. Он позволяет создавать до четырех первичных разделов и некоторое количество логических (расширенных) разделов в зависимости от размера жесткого диска в вашей системе.

Мы рассмотрим ряд базовых команд fdisk для управления таблицей разделов в Linux. Для запуска команды fdisk нужно обладать root-привилегиями (или использовать sudo), иначе будет выведена ошибка “command not found”.

Просмотр всех разделов диска

Для просмотра всех доступных разделов используется опция -l (listing — перечисление). Разделы перечисляются по именам, например, /dev/sda , /dev/sdb или /dev/sdc .

Просмотр разделов заданного диска

Для просмотра всех разделов заданного жесткого диска укажите опцию -l с именем устройства. Например, следующая команда отобразит все разделы диска /dev/sda :

Командный режим

Чтобы войти в командный режим, просто введите fdisk с именем жёсткого диска, например, /dev/sda , как показано ниже:

Для получения списка команд, которые fdisk может выполнить на диске, введите “m”. Рассмотрим значение этих команд.

a toggle a bootable flag — сделать диск загрузочным
b edit bsd disklabel — редактировать bsd-метку диска
c toggle the dos compatibility flag — установить флаг совместимости с DOS
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 — создать новую пустую таблицу разделов DOS
p print the partition table — вывести таблицу разделов (аналогична fdisk -l)
q quit without saving changes — выйти без сохранения
s create a new empty Sun disklabel — создать новую метку диска Sun
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) — дополнительные функции (только для экспертов)

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

Допустим, нам нужно удалить определенный раздел, например, /dev/sda4, с определенного жёсткого диска, например, /dev/sda. Сначала нужно зайти в командный режим:

Затем введите d для удаления раздела. После этого у вас будет запрошен номер раздела для удаления с диска /dev/xvdb. Для удаления раздела номер 2 (то есть, /dev/xvdb2) нужно ввести соответствующую цифру, 2. Затем нужно ввести команду w, чтобы записать таблицу на диск и выйти.

Как мы видим раздел /dev/xvdb2 был удален.

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

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

Войдите в командный режим и введите “n”:

При создании нового раздела нужно выбрать одну из двух опций: extended для логического раздела или primary для первичного и нажать, соответственно, e или p . Затем потребуется ввести номера первого и последнего цилиндра раздела (либо смещение в цилиндрах или размер). Лучше всего оставить заданное по умолчанию значение первого цилиндра и ввести нужный размер раздела, например, “+5000M”, что означает размер 5000 мегабайт. После создания раздела нужно нажать w для сохранения изменений в таблице разделов.

Читайте также:  Linux вывести дерево процессов

Теперь мы видим на диске /dev/xvdb два раздела.

Также при создании раздела можно указать размер раздела с помощью опции +size. Т.е если нужно создать раздел размером 2 Гб, в качестве последнего сектора можно указать +2G

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

После создания нового раздела не забудьте отформатировать его командой mkfs. Для этого выполните следующую команду:

где в ключе -t указываем тип файловой системы в которую мы хотим отформатировать наш раздел.

Проверка размера раздела

Когда раздел отформатирован, проверьте его размер при помощи опции -s (размер отображается в блоках). Так можно узнать размер любого заданного устройства:

Исправление нумерации в таблице разделов

Если вы удалили логический раздел, возможны ошибки вида ‘partition out of order‘ (нарушение порядка разделов) или ‘Partition table entries are not in disk order‘ (записи таблицы разделов не соответствуют порядку дисков). Допустим у нас диск со следующими разделами

Например, при удалении трёх логических разделов xvdb2, xvdb3 и xvdb4 и создании нового раздела можно предположить, что его имя будет xvdb2. Однако, система создаст раздел xvdb3. Это происходит потому, что после удаления раздела xvdb5 будет перемещена на место xvdb2, а свободное пространство — перераспределено в конец.
Для исправления подобных проблем и назначения вновь созданному разделу имени xvdb2 нужно перейти в режим дополнительных функций ( x ) и выполнить экспертную команду ( f) :

fdisk /dev/xvdb WARNING: DOS-compatible mode is deprecated. It's strongly recommended to switch off the mode (command 'c') and change display units to sectors (command 'u'). Command (m for help): x Expert command (m for help): f Done. Expert command (m for help): w The partition table has been altered! 

Естественно, после выполнения команды ( f) нужно сохранить изменения командой ( w) . После исправления порядка разделов сообщения об ошибках должны прекратиться.

Флаг загрузочного раздела

Чтобы включить или отключить на заданном разделе флаг загрузочного раздела (отображается символом ‘*’ в таблице разделов), нужно выполнить следующие действия.

fdisk -l /dev/xvda

Вы увидите на диске /dev/sda1 флаг загрузочного раздела (звёздочка ‘*’)

Далее введите команду « a» для снятия флага загрузочного раздела, а затем введите номер раздела (в данном случае 1 для /dev/sda1). Флаг загрузочного раздела будет снят, символ звёздочки (*) пропадет.

Для назначения загрузочного диска нужно также использовать опцию «a». Например назначим загрузочным диск xvda2

Заключение

Мы рассмотрели базовые возможности команды fdisk, необходимые для работы с разделами. Более подробную информацию, в том числе об экспертных командах, доступ к которым осуществляется командой x , можно получить на соответствующей man-странице ( man fdisk ).

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие записи:

Источник

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