Вопрос или проблема
Новый(иш) в Linux, не новый в аппаратном обеспечении.
Получил новый NAS, который будет работать на linux. Перед этим я занимаюсь аппаратным обеспечением и теми вещами, которые иначе никогда не смогу попробовать. Живые дистрибутивы просто замечательны. Я попробовал около 4 до сих пор.
В любом случае, я также играю с накопителями. Есть множество файловых систем и типов разделов для изучения – разделы подкачки представляют для меня загадочную идею, но неважно.
Я могу легко поэкспериментировать с ними. Однако я не смог найти способ фактически удалить таблицу разделов, только изменить её. Я пробовал и fdisk
, и gparted
.
Как удалить таблицу разделов?
Я не уверен, что понимаю, что вы хотите сделать, удаляя таблицу разделов.
Как вы сказали в своем вопросе, удаление таблицы разделов обычно нужно для использования другой вместо нее (менять, а не удалять).
Вы не можете удалить таблицу разделов: вы можете только изменить её или полностью очистить диск.
Вот пример с использованием parted
, если вам нужно:
$ parted /dev/sdx
(parted) mklabel gpt
Другой случай в основном касается удаления данных на диске. Для этой цели у вас есть много простых инструментов для безопасного выполнения этой операции.
Вот пример с использованием scrub
, утилиты Red Hat:
Если вам нужна дополнительная информация о безопасном удалении дисков, я бы рекомендовал взглянуть на Archlinux Wiki. Там есть полная документация на эту тему с сравнением производительности.
Просто, чтобы дать вам несколько инструментов, которые вы могли бы использовать (я уверен, что есть и многие другие):
dd
- GNU
shred
* scrub
*wipe
badblocks
cat
xz
* Сделаны специально для этого, с самым высоким уровнем безопасности (несколько проходов, случайные данные и т.д.)
Как удалить таблицу разделов?
если таблица разделов – это старый MBR (основная загрузочная запись), то это просто удаление первых 512 байтов диска, так как именно там находится эта таблица разделов, и она имела фиксированный размер. Вы можете легко найти все эти подробности в интернете о таблице разделов.
так что для удаления таблицы разделов MBR это делается довольно просто с помощью dd
# если диск, таблицу разделов которого вы хотите стереть, отображается как /dev/sdb, тогда...
dd if=/dev/zero of=/dev/sdb bs=512 count=1
Таблица GPT (GUID) с другой стороны значительно больше, и также в конце диска есть резервная таблица GPT разделов.
https://uefi.org/specs/UEFI/2.10/05_GUID_Partition_Table_Format.html
Я полагаю, что если диск использует сектора размером 512 байт, то он занимает 512 x 32 = 16,382 байта. Но сейчас диски обычно используют сектора размером 4096 байт, так что 4096 x 32 = 131,072 байта или 128кб. Поэтому измените bs=
соответственно, чтобы получить GPT в начале диска.
Если это не имеет значения, вы можете просто стереть первые 1 МБ диска, чтобы убедиться, что вы получаете всю таблицу.
А затем для резервной GPT в конце диска: Стереть последние 1 МБ жесткого диска
И это предполагает, что ваша таблица разделов одна из этих двух, которые являются наиболее распространенными. Но существуют и другие типы разделов, так что это будет зависеть от перезаписи диска в нужном месте и в необходимом объеме с помощью dd
как уже описано.
Ответ или решение
Как стереть таблицу разделов диска в Linux
Работа с таблицами разделов в Linux может показаться сложной задачей, особенно для тех, кто только начинает свой путь в этой операционной системе. В этом ответе мы подробно рассмотрим процесс стирания таблицы разделов, а также соответствующие команды и утилиты, которые могут вам помочь.
Понимание таблицы разделов
Таблица разделов — это структура данных, которая хранит информацию о том, как разделён диск на логические единицы. Наиболее распространённые типы таблиц разделов — это MBR (Master Boot Record) и GPT (GUID Partition Table).
- MBR (Master Boot Record): Ограничен 2 ТБ и поддерживает до четырех первичных разделов.
- GPT (GUID Partition Table): Поддерживает большие объёмы и обеспечивает улучшенное управление разделами, включая возможность иметь свыше четырёх разделов.
Стирание таблицы разделов
Перед тем как начать процесс стирания таблицы разделов, необходимо понимать, что это действие приведёт к потере всех данных на диске. Убедитесь, что вы создали резервные копии важной информации.
Удаление таблицы разделов MBR
Чтобы полностью стереть MBR, который занимает первые 512 байт диска, вы можете использовать команду dd
. Выполните следующие шаги в терминале:
-
Определите устройство: Убедитесь, что вы знаете, какое устройство хотите очистить. Для этого используйте команду:
lsblk
-
Стирание MBR: Выполните следующую команду (замените
/dev/sdX
на ваш реальный диск, например,/dev/sdb
):sudo dd if=/dev/zero of=/dev/sdX bs=512 count=1
Удаление таблицы разделов GPT
Для GPT процесс немного сложнее, так как необходимо стереть как основной, так и резервный разделы:
-
Стирание основной GPT: Используйте команду
dd
для удаления первых 1 МБ данных (это охватывает и основной GPT, и часть резервного):sudo dd if=/dev/zero of=/dev/sdX bs=1M count=1
-
Стирание резервного GPT: Найдите размер диска с помощью:
sudo fdisk -l /dev/sdX
Затем удалите последние 1 МБ:
sudo dd if=/dev/zero of=/dev/sdX bs=1M seek=$(($(sudo blockdev --getsz /dev/sdX)-1))
Рекомендации по очистке дисков
Если алгоритм, описанный выше, кажется слишком сложным или рискованным, вы также можете использовать инструменты, специально созданные для стирания дисков, такие как:
shred
: Для многократного перезаписи.scrub
: Утилита для безопасного удаления данных.wipe
: Инструмент, обеспечивающий защищённое удаление.
Пример использования shred
:
sudo shred -n 1 -v /dev/sdX
Заключение
Стирание таблицы разделов может быть полезным при необходимости переустановки ОС или при подготовке диска для нового использования. Перед выполнением вышеуказанных команд убедитесь, что вы точно выбираете правильное устройство и осознаёте, что все данные на диске будут безвозвратно удалены. Если у вас возникнут вопросы или потребуется помощь, не стесняйтесь обращаться к сообществу Linux.