Вопрос или проблема
У меня есть задача: если я нашел свой раздел с помощью команды skids -p /dev/sdc, то мне нужно очистить содержимое этого раздела. Как я могу сделать это с помощью команды sgdisk?
Предположим, я нашел раздел Client_Image и нужно очистить его содержимое.
# sudo sgdisk -p /dev/sdc
Диск /dev/sdc: 15654912 секторов, 7.5 GiB
Размер логического сектора: 512 байт
Идентификатор диска (GUID): 8C5B1844-CEAE-2370-00BD-D0E47E3C9900
Таблица разделов вмещает до 128 записей
Первый используемый сектор: 34, последний используемый сектор: 15654878
Разделы будут выровнены на границах 2 секторов
Всего свободного места: 0 секторов (0 байт)
Номер Начало (сектор) Конец (сектор) Размер Код Название
1 34 2097151 1024.0 MiB 0700 Данные Linux
2 2097152 8388607 3.0 GiБ 0700 Общий FAT
3 8388608 15654878 3.5 GiБ A503 Client_Image
Из sgdisk
manpage:
-d, --delete=partnum Удалить раздел. Это действие удаляет запись из таблицы разделов, но не затрагивает данные в секторах, изначально выделенных для раздела на диске. Если существует соответствующий раздел гибридного MBR, gdisk также удаляет его и расширяет любой соседний 0xEE (EFI GPT) защищенный MBR-раздел, чтобы заполнить новое свободное место.
Таким образом, чтобы удалить раздел Client_Image (номер 3)
sudo sgdisk -d 3 -s /dev/sdc
Будет удален раздел 3, затем отсортируется измененная таблица разделов.
Ответ или решение
Как очистить содержимое найденного раздела с помощью sgdisk
Если вам необходимо очистить содержимое конкретного раздела на диске с использованием утилиты sgdisk
, важно понять, что данная утилита не предоставляет функции для непосредственного стирания данных с диска. Однако, вы можете удалить раздел, после чего на его месте можно создать новый, что фактически приведет к потере прежнего содержимого.
Шаги для удаления раздела Client_Image
Допустим, вы уже выполнили команду для отображения списка разделов на диске /dev/sdc
, и получили следующую таблицу, где необходимо удалить раздел Client_Image
, указанный как номер 3:
Disk /dev/sdc: 15654912 sectors, 7.5 GiB
Partitions will be aligned on 2-sector boundaries
Number Start (sector) End (sector) Size Code Name
1 34 2097151 1024.0 MiB 0700 Linux data
2 2097152 8388607 3.0 GiB 0700 Shared FAT
3 8388608 15654878 3.5 GiB A503 Client_Image
Чтобы удалить раздел Client_Image
, выполните следующие действия:
-
Убедитесь, что у вас есть резервная копия данных. Удаление раздела приведет к потере всех данных, которые в нем содержатся.
-
Запустите команду для удаления раздела:
Вам нужно выполнить следующую команду в терминале:
sudo sgdisk -d 3 /dev/sdc
Эта команда удалит третий раздел (номер
3
), который соответствуетClient_Image
. Важно помнить, что эта команда удалит только запись о разделе в таблице разделов, однако данные в секторах на диске останутся нетронутыми. -
Создание нового раздела (по желанию).
Если вы планируете использовать этот раздел в будущем, вы можете создать новый раздел, используя
sgdisk
. Например, чтобы создать новый 3.5 ГиБ раздел, выполните следующую команду:sudo sgdisk -n 3:8388608:15654878 -c 3:"Новый_раздел" /dev/sdc
В этой команде
-n
указывает на создание нового раздела, а параметры3:8388608:15654878
определяют номер и границы нового раздела. Опция-c
позволяет указать имя для нового раздела.
Заключение
Используя утилиту sgdisk
, вы можете эффективно управлять разделами на ваших дисках. Помните, что самой утилитой sgdisk
вы не стираете физическое содержимое раздела, а лишь удаляете запись о нем в таблице. Если необходимо очистить содержимое до нуля, после удаления раздела ви можете использовать такие утилиты как dd
, чтобы перезаписать данные на освобожденном пространстве. Например:
sudo dd if=/dev/zero of=/dev/sdc bs=1M count=3500
Эта команда перезапишет первый 3.5 ГиБ вашего диска нулями. Будьте осторожны при выполнении таких операций, чтобы не повредить данные не связанных разделов.
Следуя этим инструкциям, вы сможете успешно удалить и очистить содержимое раздела на вашем диске с минимальными рисками.