dd를 망친 후 파티션 테이블을 지울 수 없습니다

dd를 망친 후 파티션 테이블을 지울 수 없습니다

배경:
오늘 저는 쓰기 가능한 파일 시스템을 갖춘 NixOS 라이브 USB를 설치하는 방법을 알아내려고 했습니다( dd-ing iso 결과는 읽기 전용 iso9660 fs임).

USB를 두 개의 파티션으로 나누었습니다. 하나는 비어 있고 다른 하나는 ext4로 포맷되었습니다. 나는 비슷한 것을 달렸다 dd if=(nixos image).iso of=/dev/sdb1. 그런 다음 작동하지 않을 수도 있다는 것을 깨달았으므로 gparted를 열어 모든 것을 삭제하고 다른 것을 시도했습니다.

여기서 뭔가 이상한 일이 일어나고 있음을 발견했습니다. gparted는 내 32GB 펜 드라이브가 약 1.4GB(첫 번째 파티션의 크기)에 불과하다고 말했습니다. /dev/sdb지금도 마찬가지인 것 같습니다 /dev/sdb1.여기에 이미지 설명을 입력하세요.

디스크 유틸리티는 두 번째 파티션을 확인하지만 이를 삭제하거나 전체 드라이브를 포맷할 수는 없습니다.여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

내 Windows 컴퓨터에 USB 드라이브가 전혀 표시되지 않습니다.

나도 시도했다wipefs /dev/sdb

USB 플래시 드라이브를 사용 가능한 상태로 복원하려면 어떻게 해야 합니까?

고쳐 쓰다:

재부팅 후 문제는 사라졌습니다. (이제 더 빨리 시도하지 못한 것이 부끄럽습니다.) 재현할 수 있는 방법을 찾을 수 없습니다. 제가 언급하지 않은 한 가지는 iso를 루프 장치로 마운트했지만 나중에 제거했다는 것입니다. 스크린샷에서 볼 수 있듯이 gnome-disks루프 장치는 여전히 존재하지만 그것이 iso를 가리키는지 아니면 펜드라이브의 첫 번째 파티션을 가리키는지는 확실하지 않습니다. 그렇다면 루핑 설치가 어떻게든 액세스를 방해할 수 있을까요 /dev/sdb?

명확히 하기 위해 전체 드라이브와 첫 번째 메가바이트를 0으로 설정해 보았습니다. 이것은 작동하지 않습니다 /dev/sdb. 왜냐하면아니요그것이 무엇을 해야 하는지 지적하십시오(적어도 그것은 나의 해석입니다).

답변1

설명하신 문제는 낮은 수준의 장치 도구(예: dd)가 잘못된 크기의 블록을 장치에 직접 쓰기 때문에 발생합니다.

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

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

dd 명령을 완료하면 gparted를 통해 장치에 액세스할 수 있습니다.

그렇지 않으면다음 명령을 시도해 보세요

wipefs -a /dev/your-device

디스크의 모든 파티션이 지워집니다.

관련 정보