최근 원래 컴퓨터를 도난당해서 중고 컴퓨터를 구입하고 원래 Windows OS의 Linux 가상 머신에서 dd를 사용하여 Bullseye용 부팅 디스크를 만들었습니다.
이것은 잘 작동하고 Bullseye도 잘 작동하고 있지만 부팅 디스크를 만든 외장 하드 드라이브의 내용을 지우고 싶습니다.
플러그를 꽂아도 평소처럼 바탕화면에 나오지 않아서 실행해봅니다
sudo fdisk -l
출력에는 내 시스템이 이를 인식하고 "sdb"로 나열하는 것으로 표시됩니다.
그래서 나는 노력했다
cd /./;cd dev;ls -a
출력에는 해당 폴더가 나열되지만 시도했을 때 명시한 폴더는 분명히 아닙니다.
cd sdb
제 질문은 rm
여기에서 dev 폴더에 나열된 sdb와 해당 파티션을 간단히 삭제할 수 있느냐는 것입니다.
이 문제는 제거하려고 했던 운영 체제를 설치하는 데 사용한 부팅 디스크인 드라이브의 내용과 관련이 있는 것 같습니다. 하지만 그게 내 최선의 추측이야.
또한 이 스레드에서 제시된 다른 제안도 모두 살펴보았습니다.데비안 포럼에서똑같은 문제에 대해. 결국 그들은 외장 하드 드라이브에 결함이 있다고 결론을 내리는 것 같았습니다.
하지만 내 컴퓨터에 결함이 없다는 것을 알고 있습니다. 다른 컴퓨터가 없는 동안 스마트 TV에 연결하여 문제 없이 폴더 내용을 볼 수 있었기 때문입니다.
답변1
장치 sdb
는 삭제할 폴더나 파일이 아니며 실제 디스크 장치를 나타냅니다. rm
이 장치의 파티션을 지우는 데는 사용할 수 없습니다 .
파티션을 삭제하려면 를 사용할 수 있습니다 fdisk
. 이렇게 하면 파티션의 데이터가 지워지지 않고 디스크의 파티션 테이블에서 파티션 정보만 제거됩니다.
파티션에서 파일을 삭제하려면 정리할 파티션을 마운트해야 합니다. 각 파티션에 대해 다음과 유사한 일련의 명령이 사용됩니다.
# mount /dev/sdb1 /mnt/scratch
# rm -rf /mnt/scratch/*
# umount /mnt/scratch
fdisk
그런 다음 를 사용하여 파티션 정의를 삭제할 수 있습니다 . 이 프로세스는 파괴적이며 복구할 수 없는 데이터 손실을 초래할 수 있습니다(매우 전문적인 복구 도구가 부족함). 또한 부팅 디스크의 내용을 지우면 디스크가 부팅할 수 없게 될 가능성이 높으므로 실제로 이 작업을 수행할지 확실하지 않습니다.
답변2
나의 충고:
alias lsblk2='lsblk -o type,name,label,partlabel,size,fstype,model,serial,wwn,uuid'
그런 다음 올바른 장치를 실행 lsblk2
하고 식별하십시오. 즉, /dev/sdb
귀하의 경우... 잘못된 디스크를 날려버리지 않도록 하십시오.
# this will blow away the existing partition table in one easy step
# change "sdb" to the correct device for you, as identified by my lsblk2 alias
parted /dev/sdb mklabel gpt
앞에서 언급한 것처럼 단순히 파티션 및/또는 테이블을 지우거나 다시 생성하는 것만으로는 디스크의 데이터가 지워지지 않으며 여전히 디스크에서 데이터를 복구할 위험이 있습니다. 이것이 필요하다고 생각되면 디스크를 누군가에게 주거나, 세금 정보와 개인 정보가 있지만 디스크를 던진 후 다른 사람이 가져가는 것을 원하지 않는 등 이를 처리하는 방법은 여러 가지가 있습니다. 멀리 쓰레기통으로.
위의 parted 명령을 실행하면 sdb
파티션 없이만 표시됩니다.
parted /dev/sdb mkpart primary 0 100
/dev/sdb1
이제 전체 디스크에 걸쳐 있는 것처럼 보이지만 파일 시스템은 없는 파티션이 생겼습니다 .
여기에서 할 수 있습니다
mkfs.xfs /dev/sdb1
Linux에서 마운트하고 읽고 쓸 수 있는 파일 시스템을 만듭니다. 완전히 비어 있지만 디스크 자체에는 기술적으로 이전 데이터가 여전히 디스크 0 수준에 존재합니다. 나중에 필요하시면닦음또는보안 삭제하드 드라이브(hdd)이든 솔리드 스테이트 디스크(ssd)이든 디스크는 다양한 방식으로 제공됩니다. SSD인 경우 SSD에 새로운 빈 파일 시스템이 있을 때 TRIM이 발생하면 SSD가 효과적으로 지워질 것이라고 생각하며 hdparm
이를 달성하는 한 가지 방법은 SSD를 사용하는 것입니다.
외장 하드 드라이브의 시동 디스크 지우기
이 구문은 약간 무의미하지만... 제거하려면부트 섹터디스크는 간단하다
dd if=/dev/zero of=/dev/sdb bs=512 count=1
전통적인 msdos 부트 섹터는 디스크의 처음 512바이트이기 때문에 이렇게 할 것입니다. bs=4096
물론입니다. 그러나 올바른 파티션 테이블을 다시 생성할 때까지는 디스크를 사용할 수 없습니다.parted /dev/sdb mklabel gpt