USB 드라이브 파티션을 삭제할 수 없습니다 (블록 크기 오류)


123

Sandisk Cruzer Force 32GB USB 드라이브에서 파티션을 포맷 / 삭제할 수 없습니다. 파티션을 삭제할 때 다음 오류가 발생합니다.

`Error deleting partition /dev/sdd2: Command-line `parted --script "/dev/sdd" "rm 2"' exited with non-zero exit status 1: Warning: The driver descriptor says the physical block size is 2048 bytes, but Linux says it is 512 bytes.
(udisks-error-quark, 0)

모든 드라이브를 완전히 포맷하고 하나의 큰 파티션으로 바꿀 수있는 방법이 있습니까? 아직이 특정 오류에 대한 해결책을 찾지 못했습니다. 실제로 한 번 묻습니다.


디스크를 사용하고 있습니다. GParted가 USB 드라이브를 감지 / 표시하지 않는 것 같습니다.
넥타

4
먼저 깨끗하게 닦아 보셨습니까 dd if=/dev/zero of=/dev/sdd bs=2048? 그것이 무엇인지 / dev / sdd 만 사용해야합니다!
다니엘

훌륭합니다. 완벽하게 작동했습니다. 나는 그 명령들을 기억할 것이다 :)
Nectar

답변:


173

설명하는 문제는 dd와 같은 하위 수준의 장치 도구가 블록에 잘못된 크기의 블록을 장치에 직접 작성했기 때문에 발생했습니다.

이 문제를 해결하려면 장치 블록을 적절한 크기로 다시 작성해야합니다. 이것은 dd로 수행 할 수 있습니다. 명령을 실행하기 전에 출력 장치를 다시 확인하십시오.

sudo dd if=/dev/zero of=/dev/sdd bs=2048 count=32

dd 명령이 완료되면 gparted를 통해 장치에 액세스 할 수 있어야합니다.


그것은 잘 들리지만 여전히 나를 위해 작동하지 않았다 : (그냥 고칠 수있는 방법이 있습니까?
Eric Fossum

7
전체 장치를 다시 쓰지 않고이 오류를 해결할 수 있었고 count=32명령 끝에 추가 한 다음 실행했습니다 dd. 이 방법으로 훨씬 빠르게 ;-)
그 브라질 남자

5
@Lee 디바이스의 각 바이트를 쓰는 대신 32 개의 블록 (이 경우 2048 바이트 32 블록 또는 68KB) 만 씁니다. 파티션 테이블 또는 장치 시작 부분의 해당 영역을 덮어 쓰면 충분합니다. 확실하게 32 블록을 지정했습니다.
그 브라질 사람

1
작동했지만 명령 줄을 사용한 후에 작동하도록 컴퓨터를 재부팅해야했습니다.
Danyl Bekhoucha

2
@ gooseberry“잘못된 크기로 블록을 작성하는 것”이 가능하지 않다고 생각합니다. 유일한 차이점은 속도 (플래시 메모리의 경우 마모)입니다. 명령이 작동하지만 설명이 올바르지 않습니다.
Martin

26

당신은 항상 사용해 볼 수 있습니다 fdisk

터미널을 열고 ( Ctl+ ALt+ t)

sudo fdisk /dev/sdy

여기서 /dev/sdy= 플래시 드라이브의 장치 파일입니다. 일단 fdisk열면 p파티션 테이블을 입력 하여 파티션 테이블을 나열하십시오. 테이블이있는 위치를 알고 있으면이 d #를 삭제하는 데 사용할 수 있습니다 . (#= 파티션; ExAMPLE d 1, d 2) w는 파티션 테이블을 디스크에 다시 쓰고 도움말을 위해 q종료합니다 m)

경우 fdisk에 실패, 그럼 내가 사용하는 것이 dd (그것이 아무 이유없이 그 별명을하지 않았다있어이를 사용하여주의)

sudo dd if=/dev/zero of=/dev/sdy bs=512 count=1

물론 /dev/sdy플래시 드라이브의 실제 장치로 교체해야합니다. count = 수를 늘려 더 많은 디스크에 0을 쓰거나 전체 디스크를 덮어 쓰려면 완전히 생략 할 수 있습니다. 말할 필요도없이, 그렇게하면 디스크에 저장된 파일을 잃어 버릴 수 없게됩니다.


2
완벽하게 작동했습니다. 나요 sudo fdisk /dev/sda프롬프트 입력 한 다음에, d다음, 차례로 각각의 파티션을 삭제하기 위해 몇 번 w내 변화를 작성. 그런 다음 USB 드라이브를 꺼내서 다시 넣고 디스크 관리자를 사용하여 Fat32 파티션을 만드십시오.
로빈 윈 슬로

dd별명 은 무엇입니까 ?
Kolob Canyon

그것은 의미합니까 dick death악마의 살해자?
Kolob Canyon

좋은! 악마 슬레이어가 필요하지 않았습니다 : |
Kolob Canyon

분명히이 무작위로 혼돈의 모든 종류를 만드는 어떤 버튼을 밀어 덱스터의 실험실의 덱스터의 여동생 디 디, 후 별명
바우처

12
wipefs -a /dev/your-device

디스크의 모든 파티션을 지 웁니다.


2
이 명령은 USB 드라이브를 포맷 할 수없는 경우에 도움이되었습니다. 장치 경로를 선택할 때주의하십시오. 이중 점검!
Bakhtiyor

1
가장 간단한 답변으로 업데이트되었습니다.
knocte

4

dd는 강력하지만 위험합니다

dd매우 강력하지만 매우 위험한 도구입니다. 사용하려는 도구를 혼란스럽게 할 수있는 데이터를 제거하기 위해 USB 드라이브의 첫 번째 부분을 지우는 것이 좋습니다. 그러나 dd당신이 질문없이 말한 것을합니까? 따라서 가족 사진을 지우라고 말하면 ... 사소한 타이핑 오류로 USB 드라이브 대신 다른 드라이브를 덮어 쓰면 충분합니다.

예, dd수행중인 작업을 알고 있다면을 사용할 수 있지만 명령 줄 dd이 올바른지 확인하고 다시 확인 하십시오.

mkusb는 dd 주위에 안전 벨트를 감 쌉니다.

mkusb 는 체크 포인트가있는 그래픽 사용자 인터페이스를 제공하여 대상 드라이브를 식별하고 올바른 드라이브를 지우고 있는지 다시 확인하도록 도와줍니다.

일반적으로 충분한 첫 번째 메가 바이트 (실제로는 mibibyte) 또는 느린 프로세스 인 전체 드라이브를 지우는 메뉴 옵션이 있습니다. 예를 들어 pendrive가 느리게 진행되는 경우와 같이 특수한 경우에만 유용합니다 (예 : 원래 속도의 절반)

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

mkusb 버전 12 별명 mkusb-dus 설치 및 사용 방법에 대한 자세한 내용은이 링크를 참조하십시오.

help.ubuntu.com/community/mkusb

mkUSB-quick-start-manual.pdf


3

이 문제는 UEFI 기반 부팅 가능 디스크와 관련이 있습니다. 부팅 가능한 USB 디스크를 자주 만든 다음 저장을 위해 필요하지만 파티션을 삭제할 수 없습니다.

아래의 하나의 명령은 파티션 테이블을 압축하여 USB 디스크로 다음에 원하는 것을 할 수 있습니다.

sudo sgdisk --zap-all /dev/???

대체 ??? USB 디스크에 해당하는 적절한 식별자 (예 : sdc)를 지 웁니다. 그것을 통해 찾을 수 있습니다-

sudo parted -l

또는

sudo fdisk -l

또는

사용하여 디스크 유틸리티를.


이것이 가장 좋은 대답입니다. 1065719/256054 도 참조하십시오 .
Lonnie Best

2

fdisk파티션을 삭제하고 다시 작성 하려면 명령을 사용하십시오.

명령을 실행하십시오.

sudo fdisk /dev/sdxY  

(제 경우에는 파티션이 'sdb1'입니다. 올바른 이름으로 바꾸십시오)

명령 ( m도움말) : d파티션을 삭제하려면 1 또는 2를 선택하십시오.

w저장하고 종료하려면 입력하십시오 .

이제 USB를 꺼내고 다시 연결하여 변경 사항을 확인하십시오.

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