답변:
이것으로 충분합니까?
dd if=/dev/zero of=/dev/sda bs=512 count=1 conv=notrunc
이 wipefs
프로그램을 사용하면 파티션 테이블 서명을 쉽게 삭제할 수 있습니다.
wipefs -a /dev/sda
에서 man wipefs
wipefs는 지정된 장치에서 파일 시스템, RAID 또는 파티션 테이블 서명 (매직 문자열)을 지워서 libblkid에 서명을 보이지 않게 할 수 있습니다.
wipefs는 파일 시스템 자체 나 장치의 다른 데이터를 지우지 않습니다. 옵션없이 사용하면 wipefs는 보이는 모든 파일 시스템과 기본 서명의 오프셋을 나열합니다.
wipefs는 파티션 테이블 서명을 지울 때 BLKRRPART ioctl을 호출하여 변경 사항을 커널에 알립니다.
MBR 스타일 파티션에 대해 이야기한다면 ...
dd if=/dev/zero of=/dev/[disk device] bs=1 count=64 seek=446 conv=notrunc
설명:
dd
이 표준 명령은 소스에서 바이트를 복사하여 대상에 씁니다. 이 작업을위한 가장 유연한 도구입니다.
if=/dev/zero
여기서 우리는 바이트를 0으로 /dev/zero
내보내는 특수한 장치 인를 읽고 있음을 지정합니다 NUL
.
of=/dev/[disk device]
여기에서는 우리가 쓰는 장치를 지정합니다.
bs=1
dd
블록의 관점에서 생각 합니다 . 기본 블록 크기는 시스템에 따라 512 바이트, 1024 바이트 또는 4096 바이트 일 수 있습니다. 그러나 우리는 그보다 더 정확하게 문제를 해결해야하므로 dd
1 바이트의 블록 크기를 사용하도록 지시합니다.
카운트 = 64
여기서, 1 차 파티션 테이블은 4 개의 16 바이트 파티션 항목으로 구성되어 총 64 바이트 dd
이므로 64 개의 블록 (또는 bs=1
매개 변수로 인해 바이트)을 작성하도록 지시 합니다.
찾기 = 446
MBR 내의 기본 파티션 테이블 (여기서는 GPT에 대해서는 언급하지 않음)은 446 바이트에 있으므로 dd
쓰기 전에 446 바이트를 검색 하도록 지시 합니다.
확장 파티션은 일반적으로 확장 파티션 테이블을 가리 키도록 기본 파티션 슬롯을 사용하여 생성되므로 4 개의 기본 파티션을 지우면 확장 파티션 테이블도 효과적으로 지울 수 있습니다. OS에서 찾을 수 없으므로 읽고 해석 할 수 없습니다. (확장 파티션 테이블을 지우려면 운영 체제에 대해 더 알아야합니다. 다른 운영 체제는 다른 방식으로 확장 파티션을 수행합니다.)
나는 똑같은 일을하고 싶었지만 (슬랙웨어 14.2는 제외) 여기에 제안 된 대부분의 솔루션에 영향을 줄 수 없다는 것을 알았습니다. 가장 정교하고 잘 문서화 된 솔루션은 교체 파티션을 만드는 새로운 문제를 만듭니다. 파티션을 삭제했지만 일부 파티션 소프트웨어가 파티션 백업을 자동으로 찾은 것 같습니다.
f3probe ( http://oss.digirati.com.br/f3 )는 모든 파티션을 빠르고 쉽게 삭제하고 대용량 드라이브로 작업하는 문제를 해결하고 전체 드라이브에 걸쳐 정확히 1 개의 파티션을 생성 한다는 것을 알았 습니다. 지우는 것.
거기에서 새 파티션을 간단하게 만들 수도 있습니다.
즉
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....