썸 드라이브에서 모든 데이터 (데이터, 바이러스)를 지우려면 어떻게해야합니까?


50

공용 Windows 컴퓨터에서 thumbdrive를 사용하고 일부 데이터를 Ubuntu 컴퓨터에 복사한다고 가정 해보십시오. Windows 컴퓨터가 깨끗하다는 것을 완전히 확신 할 수 없으며 썸 드라이브에 무언가를 넣었을 수 있습니다. USB 스틱, 심지어 MBR 바이러스 및 그와 같은 종류의 오프 파일 시스템에있는 모든 것을 지우는 방법이 있습니까?

답변:


113

오래된 Linux 도구 dd 를 사용 하여이 작업을 수행 할 수 있습니다 .

그렇게하려면 :

  1. 먼저 Ctrl+ Alt+ 를 눌러 터미널을 엽니 다 T.
  2. 그런 다음 sudo blkid터미널을 입력 하십시오.
  3. 출력을 매우 신중하고 면밀히 검토하십시오.

    [sudo] password for anwar: 
    /dev/sda1: UUID="63c6fb01-aac4-4d38-b29e-5a5780a98d12" TYPE="ext4" 
    /dev/sda2: LABEL="Main" UUID="A80C1BD70C1B9F7E" TYPE="ntfs" 
    /dev/sda5: LABEL="Work" UUID="01CCB271A80A07E0" TYPE="ntfs" 
    /dev/sda6: LABEL="Edubuntu" UUID="364126ac-01c9-4dd2-ab19-eecc733a9640" TYPE="ext4" 
    /dev/sda7: LABEL="Windows" UUID="5A8C72C98C729EE7" TYPE="ntfs" 
    /dev/sda8: UUID="312d4cd9-21a9-4c0d-aa34-26230e70fa89" TYPE="swap"  
    /dev/sdb1: UUID="E87F-1D12" TYPE="vfat" 
    

    로 마지막 줄을보십시오 /dev/sdb1. 그것은 Fat (vfat) 파일 시스템으로 포맷 된 USB 드라이브입니다. USB 드라이브에는라는 이름의 파티션이 하나만 /dev/sdb1있습니다. 다른 파티션이 있으면 이름이 /dev/sdb2... 으로 지정되었을 것 입니다. USB 드라이브 자체의 이름/dev/sdb 은이며 1, 2뒤에는 , 또는 숫자 가 없습니다.sdb

  4. 그런 다음이 명령을 실행하여 USB 드라이브의 모든 데이터를 0으로 바꾸십시오.

    sudo dd if=/dev/zero of=/dev/sdX bs=1k count=2048 
    

    의도적으로 /dev/sdb명령에 원본 을 제공하지 않았으므로 새로운 사용자가 실수로 시스템을 망칠 수 없습니다. 위 명령의 4 단계에서 찾은 USB 드라이브 이름을 바꾸십시오.

이것은 당신에게 깨끗한 USB를 제공해야합니다. 이 작업 후에 USB를 사용하려면 하나 이상의 파티션을 만들어야합니다.

빈 디스크에 파티션 생성

그 위에 새 파티션을 만들려면 parted프로그램 을 사용할 수 있습니다 . 완전한 원시 디스크에서 파티션을 생성하는 예를 제공합니다. USB 디스크의 크기는 2GB (~ 2048)입니다. 장치 이름은 /dev/sdb입니다. 명령으로 장치 이름을 확인할 수 있습니다 sudo lsblk(크기 등을보고 올바른 장치를 추측해야 함).

  1. 먼저 마지막 명령 후에 USB를 꺼내고 다시 삽입해야합니다.
  2. 그런 다음 디스크에 파티션 테이블을 만들어야합니다. 마스터 부트 레코드라고도하는 msdos 유형의 파티션 테이블을 만들려고합니다.

    sudo parted /dev/sdb mklabel msdos
    
  3. 그런 다음 빈 "기본"파티션을 추가하면 나중에 Fat 파일 시스템이 저장됩니다.

    sudo parted -a none /dev/sdb mkpart  primary fat32 0 2048
    

    시작 디스크 (0MB)에서 끝 포인트 (2048MB)까지 지정했습니다. 실제로 디스크에는 전체 2048MB의 공간이 없을 수도 있지만 걱정하지 마십시오. parted는 자동으로 조정합니다. 우리는 전체 디스크에 하나기본 파티션을 생성하고 있습니다. 그러나 여러 파티션을 만들 수 있습니다. (권장하지는 않지만 Windows는 첫 번째 파티션 만 인식하므로) .

    이 새로 생성 된 파티션은 /dev/sdb1

  4. 그런 다음 포맷을 수행하여 / dev / sdb1 파티션에 Fat 파일 시스템을 만듭니다.

     mkfs.vfat -n "Disk" /dev/sdb1
    

    우리는 /dev/sdb1이름이 "Disk"인 파티션에 팻 파일 시스템을 생성하고 있습니다.

그게 다야. 이제 팻 파티션이있는 새로운 깨끗한 USB 디스크가 생겼습니다.

Disk-Utility 프로그램을 사용하여 파티션을 작성하고 Fat로 포맷 할 수도 있습니다.

디스크 유틸리티 사용

  1. Super키를 누르고 "디스크 유틸리티"를 입력하십시오.

    여기에 이미지 설명을 입력하십시오

  2. 디스크 유틸리티 창의 "주변 장치"섹션에서 USB 드라이브를 선택하십시오.

    여기에 이미지 설명을 입력하십시오

  3. 먼저 드라이브를 마운트 해제해야 할 수도 있습니다.

    여기에 이미지 설명을 입력하십시오

  4. 그런 다음 "포맷 드라이브"버튼을 클릭하십시오

    여기에 이미지 설명을 입력하십시오

  5. 새 창에서 파티션 테이블 유형을 선택하십시오. "마스터 부트 레코드"를 선택하십시오.

    여기에 이미지 설명을 입력하십시오

  6. 새 파티션 테이블을 생성 한 후 디스크 유틸리티 창은 다음과 같습니다

    여기에 이미지 설명을 입력하십시오

    "새 파티션 생성"버튼을 클릭하십시오.

  7. "파티션 유형"을 선택하고 선택적으로 파티션 이름을 입력하십시오.

    여기에 이미지 설명을 입력하십시오

  8. 파티션은 4-5 초 내에 생성되며 이후에 깨끗한 USB 디스크를 갖게됩니다.

    여기에 이미지 설명을 입력하십시오

Gparted 사용

  1. 아직 설치하지 않았다면 먼저 gparted를 설치해야합니다. 이 링크를 클릭하여 설치할 수 있습니다 : gparted gparted 설치 또는 터미널에서이 명령을 사용하여

    sudo apt-get install gparted
    
  2. 그런 다음 대시에 "gparted"를 입력하여 gparted를 엽니 다. 대시를 열려면 Super"Windows"키라고도하는 키를 누릅니다.

    대시에서 갈라짐

  3. 그런 다음 오른쪽 드롭 다운 메뉴에서 USB 장치를 선택하십시오. 것처럼해야한다 /dev/sdb, /dev/sdc등을 선택하는하지 않는 특별한주의를하시기 바랍니다 /dev/sda그것은 당신의 OS가 설치되어있는 장치이기 때문에 . 무엇을하고 있는지 아는 경우에만 선택해야합니다.

    올바른 장치 선택

  4. USB 장치 (시스템에있는 /dev/sdb)를 선택한 후 파티션이 마운트되어 있는지 확인하십시오. 마운트 된 파티션 항목과 해당 파티션의 마운트 지점에 키 아이콘이 표시됩니다.

    장착 된 파티원

    해당 장치에서 파티션 마운트 파티션을 마운트 해제하십시오. 마운트 해제하려면 파티션을 선택하고 → 마우스 오른쪽 버튼을 클릭하고 → 메뉴에서 마운트 해제 를 선택하십시오 .

    마운트 된 드라이브를 마운트 해제하십시오

  5. 그런 다음 gparted 메뉴 → DevicesCreate partition table 을 선택하여 선택한 장치에서 새 파티션 테이블을 덮어 쓰고 만듭니다.

    새로운 파티션 테이블 생성

  6. 수행 할 작업을 경고하는 새 창이 표시됩니다. 기본 파티션 유형은 "msdos"이며 모르는 경우 변경하지 않는 것이 좋습니다. 또한 다른 시간을 확인한 후 실제로 올바른 장치를 선택했습니다. 그런 다음 적용 버튼을 클릭 하십시오 .

    경고

    적용 버튼을 클릭하면 장치가 완전히 비워집니다. 파티션과 데이터가 없습니다.

    빈 장치

  7. 그런 다음 할당되지 않은 공간을 선택하고 → 마우스 오른쪽 버튼을 클릭하고 → 새 항목을 선택하여 새 파티션을 만듭니다.

    새로운 파티션

    새 파티션 생성 대화 상자에서 "기본" 으로 생성 , 파일 시스템을 "fat32"로 생성을 선택 하고 추가 버튼을 클릭하십시오 . 선택적으로이 파티션에 이름을 지정할 수도 있습니다.

    파일 시스템 생성

  8. 추가 버튼 을 클릭하면 gparted는 변경 사항을 적용하면 장치의 미리보기를 표시합니다. 툴바에 연한 녹색 체크 표시 아이콘이 나타납니다. 변경 사항을 적용하려면 해당 아이콘을 클릭해야합니다. 실행 취소 버튼 도 있습니다. 어떤 단계에서라도 문제가 발생하면 사용할 수 있습니다.

    변경 승인

    변경 사항을 적용한 후 gparted는 "모든 작업이 성공적으로 완료되었습니다"라는 메시지를 표시합니다.

    성공 메시지

이제 당신은 그것으로 끝났습니다.

새로운 디스크 유틸리티 사용 (12.10)

Ubuntu 12.10에는 이제 새로운 디스크 유틸리티가 장착되어 있습니다. 새로운 udisks2프로그램을 백엔드로 사용합니다 .

  1. 먼저 대시에 "디스크"를 입력하여 새 디스크 유틸리티를 엽니 다. Super키 를 눌러 대시를 가져와

    여기에 이미지 설명을 입력하십시오

  2. 디스크 (이전 디스크 유틸리티) 프로그램을 연 후 이것들을

    1. 외부 디스크를 선택하십시오

    2. 디스크가 이미 마운트되어 있으면 마운트를 해제하십시오.

    여기에 이미지 설명을 입력하십시오

  3. 그런 다음 파티션을 선택하고 "중지"재생 아이콘을 눌러 삭제하십시오.

    여기에 이미지 설명을 입력하십시오

    모든 파티션이 삭제 될 때까지 디스크에 둘 이상의 파티션이있는 경우이 단계를 반복하십시오.

  4. 모든 파티션이 삭제되면 디스크에 여유 공간 만 포함됩니다. 작은 +아이콘 을 클릭하여 파티션을 만들 수 있습니다 .

    여기에 이미지 설명을 입력하십시오

  5. 유형을 "FAT"로 선택하고 레이블을 지정한 다음 "만들기"버튼을 눌러 파티션을 만듭니다.

    여기에 이미지 설명을 입력하십시오

  6. 디스크에 파티션이 있습니다. "재생"아이콘을 눌러 파티션을 마운트 할 수 있습니다. "사용 중, 예"레이블이있는 링크를 클릭하여 마운트 된 드라이브의 위치를 ​​직접 찾아 볼 수 있습니다.

    여기에 이미지 설명을 입력하십시오

끝났습니다.


2
@Anwar : 12.10부터 "디스크 유틸리티"가 매우 단순화되어 모든 디스크 관리 기능이 손실되었습니다. 따라서 미래를 위해 gparted 옵션 을 추가하고 싶을 수도 있습니다 .
ish

19
와! 이 대답은 누군가가 나는 바퀴벌레를 죽일 어떻게 묻고 점점 같았다 "... 바주카 여기 이것을 가지고 10 미사일과"
루이스 알바

메모리 스틱 전환과 같은

명령 행 지시 사항의 4 단계를 명확히 할 수 있습니까? 하드 코딩 된 블록 크기와 개수를 제공하지만 예제에서는 전체 디스크 크기를 나타내지 않습니다. 분명히 사람들은 자신의 디스크에 대해 이러한 매개 변수를 변경해야합니다.
ScrollerBlaster

2
그 블록 크기는별로 중요하지 않습니다. 실제로 디스크에서 처음부터 파일 시스템 정보를 지우고 있습니다. 1k * 2048은 2MB입니다. 크기를 늘릴 수 있습니다. 파티션 단계는 실제로 새 파일 시스템을 만듭니다. 따라서 걱정할 그물이 없습니다. @matt
Anwar

12

완전히 회복 할 수없는 것을 원한다면 shred아주 좋은 선택입니다.

shred -f -n 5 /dev/sdX

sdxthumbdrive는 트릭을 수행해야 할 위치 입니다 n. 임의의 데이터로 전체 드라이브를 5 번 덮어 씁니다 ( 적절한 숫자로 변경 ).

를 사용하여 썸 드라이브의 경로를 찾을 수 있습니다 fdisk -l.


매우 도움이되었습니다! 나는 보통 shed -vzn 3 /dev/sdX: -vverbose, -n 33 번 덮어 -z쓰기, 마지막에 0을 써서 파쇄를 숨 깁니다.
Benedikt Köppel

4

터미널 열기

하다

lsblk

화면에 비슷한 것이 나타납니다.

여기에 이미지 설명을 입력하십시오

USB 드라이브가 4GB 메모리의 sdb라고 가정하십시오.

그런 다음

dd if=/dev/zero of=/dev/sdb bs=2M count=2048

이런 식으로 전체 pendrive를 0으로 덮어 씁니다. 가능한 바이러스 및 맬웨어를 포함한 모든 것이 삭제됩니다.

여기서 /dev/sdb부분은 매우 중요하며 추가로 조심해야합니다.
당신이 넣어 예를 들어, a대신 b/dev/sdb다음 전체 하드 디스크 대신 제로에 의해 작성 얻을 것이다.

여기에 내가 준 count=2048내 pendrive 크기가 같은 4기가바이트 여기에 생성 된 블록 크기이기 때문에 2메가바이트 , 그래서 2메가바이트 X = 4096 2천48메가바이트 = 4기가바이트 . 교체 2048 당신의 적절한 값으로.
또한 원하는 경우 원하는대로 블록 크기를 변경할 수 있습니다.

지금하세요

fdisk -l

출력은 다음과 같습니다

여기에 이미지 설명을 입력하십시오

여기에서 현재 pendrive 메모리 크기를 확인하십시오.

다음으로 파티션 테이블을 만들어야합니다. 우리는 분할 도구로 그렇게 할 것입니다 .

터미널에서 다음을 입력하십시오.

parted
select /dev/sdb

GPT 유형 분할 테이블로 레이블을 지정하십시오.

mklabel gpt

기본 단위 크기를 MB에서 GB로

unit gb

마지막으로 파티션 테이블을 생성하십시오 :

mkpart /dev/sdb 0GB 3.7GB

내 pendrive의 실제 여유 공간 이 3.7GB 이기 때문에 3.7GB를 사용했습니다. 자신의 가치로 바꾸십시오.

다음 최종 결과보기

print

모든 것은 다음과 비슷합니다.

여기에 이미지 설명을 입력하십시오

보도 q및 넣어 enter밖으로 와서 헤어 프롬프트.

이제 파일 시스템을 만들 차례입니다. 우리는 범용 파일 시스템 fat32를 만들 것 입니다.
Alo 우리는 mkfs 명령을 사용 합니다.

터미널에 다음을 입력하십시오

mkfs.vfat /dev/sdb1

이제 모든 바이러스 및 맬웨어가없는 새로운 pendrive가 있습니다.


1

드라이브의 모든 데이터가 nuk되도록 드라이브를 포맷 할 수 있습니다. USB 또는 외장 드라이브를 포맷하는 방법을 참조하십시오 . 이 작업을 수행하는 방법에 대한 자세한 내용.

경고 : 드라이브의 모든 데이터 지워집니다! 이 작업을 시도하기 전에 플래시 드라이브에서 중요한 것을 삭제하지 않도록하십시오.


이것은 질문과 완전히 일치하지 않습니다 (링크가 지시하는 한 파티션이 아니라 전체 장치를 지우도록 요청합니다). 그러나 일반적으로 충분하다고 생각합니다. 파일 할당 테이블을 실제로 압축하려면 dd를 사용하여 / dev / zero에서 또는 전체 장치 (/ dev / sdX1이 아닌 / dev / sdX)에서 복사 할 수 있습니다 첫 번째 (일반적으로 유일한) 파티션입니다. 위와 같이 조심하십시오.
chronitis

1
sudo dd if=/dev/zero of=/dev/sdX bs=1k count=2048 

위의 스크립트는 OP가 요청한 전체 디스크가 아니라 파티션 테이블 만 지 웁니다.

디스크에서 모든 것을 지우고 모든 비트를 0으로 설정하려면

sudo dd if=/dev/zero of=/dev/sdX bs=4M iflag=nocache oflag=direct

추가 옵션에 대한 설명 :

"count = 2048"을 제거하면 2048 바이트로 제한이 제거되므로 dd는 전체 디스크에서 수행 할 수 있습니다.

bs = 4Mb-bs는 블록 크기이므로 1M보다 빠른 4Mb 블록에서 지우기가 수행됩니다.

iflag와 oflag는 버퍼링을 비활성화하려고 시도하는데 이는 상수 스트림에는 필요하지 않습니다.

그런 다음 위에서 설명한 지침에 따라 디스크를 분할하고 포맷하십시오.

디스크 문자를 찾으려면 터미널을 열고 다음을 실행하십시오.

sudo tail -f /var/log/messages

그런 다음 플래시 드라이브를 연결하면 디스크 문자가 나타납니다!

/ dev / sdX에서 X의 디스크 문자를 대체하십시오.

디스크의 모든 데이터가 비워집니다!


0

펜 드라이브의 Windows 바이러스 파일은 Linux에서 볼 수 있습니다. 모르는 모든 파일을 삭제하십시오. 모든 폴더를 확인하십시오. 이 기술은 오랫동안 사용되어 왔습니다. 이렇게하면 데이터를 유지할 수도 있습니다.


1
"자동 실행"유형 파일의 경우 이는 사실이지만 일부 맬웨어는 파티션 외부의 일부 잘못된 코드로 USB를 부팅 가능하게 만들 수 있습니다. 또는 자체 명령으로 드라이브의 펌웨어를 다시 작성하면 전체 드라이브를 dding하지 않아도 지울 수 있습니다. 재미있는 사실-USB 플래시 드라이브, 심지어 microSD 카드에는 데이터를 읽고 쓰는 자체 펌웨어가있는 소형 임베디드 마이크로 프로세서 / 마이크로 컨트롤러 (약 20 센트)가 있으며 어떤 플래시 칩이 잘못되었는지 추적하고 좋은 플래시 칩을 교환합니다. 나쁜, 등
Xen2050

0

이 무차별 대입은 0으로 덮어 써서 파티션 테이블을 완전히 지우므로 선택한 도구로 자유롭게 다시 파티션 할 수 있습니다.

sudo dd if=/dev/zero of=/dev/sdb bs=1M count=1

내부 디스크 드라이브가 아닌 올바른 출력 장치를 확보하십시오! 오류 복구는 매우 어렵습니다. 필기 후 스틱을 제거했다가 다시 삽입합니다.

출처 : https://ubuntuforums.org/showthread.php?t=2319295

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.