더 적은 GiB 용량을 나타내는 USB 플래시 드라이브 (파티션 없음)


1

그래서 제 문제는 32,000,000,000 바이트를 사용했던 Jetflash 32GB USB 플래시 드라이브 또는 다른 말로 용량이 29.8 GiB라는 것입니다. 나는 창을 마우스 오른쪽 버튼으로 클릭 할 수 있었고 29.8을 숫자로 보았습니다.

이제 누군가의 컴퓨터에 Manjaro를 설치하기 위해 Linux를 통해 부팅 가능한 USB를 만들었습니다. 플래시 드라이브에서 정확히 내가 한 일을 기억할 수 없습니다. 간단히 말해서, 컴퓨터에서 USB를 포맷하면 (위에서 언급 한 사건 후 몇 주가 지난 후) 플래시 드라이브에 28GiB의 저장 공간이 생겼습니다.

그래서 나는 거의 2GiB를 잃었다! Windows 도구 또는 gpartedLinux를 사용하여 파티션이나 할당되지 않은 공간이 표시되지 않습니다 .

mbr / lba 또는 기타 플래그 데이터를 삭제하고 섹터를 하나씩 확인하여 원래 용량을 확인할 수 있는 하위 수준 도구가 있습니까?

인터넷에서 아무것도 찾지 못했습니다. 모든 "내 USB 펜은 GB를 적게 표시합니다"관련 항목은 작은 파티션이 표시되고 나머지 공간이 할당되지 않았지만 디스크 관리자 나 파티션 관리자에게 "표시"되는 문제를 해결하기위한 것 gparted입니다.


MKUSB> 표준 저장 장치로 복원 (Debian / Ubuntu 및 파생 제품 만 해당)을 사용할 수 있습니다. 여전히 동일하게 표시되면 일부 섹터가 불량으로 간주되어 형식 중 하나에서 "사용하지 않음"으로 표시되었을 수 있습니다.

gparted는 지금 무엇을 보여줍니까? 어쩌면 Windows는 여분의 파티션을 무시하고 있지만, 별다른 의미가 없습니다. 플래시 메모리 장치 (USB 드라이브, SD 카드 등)를 "재 플래시"하는 독점 프로그램이 있습니다. 모양과 모양이 작은 작은 (8-32GB) 카드는 훨씬 더 큰 카드 (128-256GB)처럼 작동하지만 전체 카드에 쓰려고하면 가짜가 나타납니다. 마지막으로 프로그램은 중국어로 읽었습니다 ...
Xen2050 September

@MichaelBay 나는 그 mk USB를 시도하고 당신에게 돌아올 것이지만 나는 그것이 Windows에서 rightclick> 형식과 다른 것을 할 것이라고 생각하지 않지만 그것을 묶는 것을 잃을 것도 없다.
papajo

답변:


1

mkusb Ubuntu 도움말 페이지dd 에서 다음과 같이 플래시 드라이브에서 mkusb와 같은 영감을 얻은 도구를 사용했습니다 .

'전체 장치 사용', 실제로 헤드 엔드 (iso 파일의 크기) 만 있지만 나머지 장치는 사용할 수 없습니다. mkusb는 단순히 ISO 9660 파일 시스템을 iso 파일의 내용으로 복제합니다. 이 ISO 9660 파일 시스템은 CD / DVD 디스크 및 USB 드라이브에서 작동합니다. 이와 같은 USB 펜 드라이브를 사용한 후에 다른 용도로 사용하려는 경우 새 파티션 테이블과 파일 시스템을 만듭니다.

링크 체인 아래 로 USB 펜 드라이브 포맷 도움말이 나타납니다 . 문제가있는 플래시 장치의 "특별한 경우"에 빠지지 않는 한, 새로운 파티션 테이블을 생성하면 파티션이 트릭을 수행해야합니다. 내가 방금 듣지 않았고 때로는 ISO 파일 시스템을 포맷하고 재사용 한 후 몇 개월 전에 오래된 ISO 파일 시스템의 잔존물을 선택했습니다.

첫 번째 기가 바이트 (ISO가 원래 있던 곳)를 덮어 쓰면 문제가 해결되었지만 수명이 짧아도 플래시 메모리에 쓰는 대신 전체 USB를 덮어 쓰려면 첫 번째 메가 바이트 만 가정합니다. 너무 작동하려면 ...

dd리눅스에서 계획 을 사용하면 해야합니다. 먼저 (같은 올바른 장치가 100 % 특정하게 /dev/sdx사용 lsblk하거나 gparted또는 gnome-disk-utility나보고 dmesg당신을 말해야 장치에 연결하면 / 시스템 로그를)

  • 첫 번째 메가 바이트 (1M, 여기서 M = 1024 * 1024) 만 덮어 쓰기

    dd if=/dev/zero of=/dev/sdx bs=1M count=1
    

    더 많은 M을 덮어 쓰려면 더 큰 수를 사용하십시오.

  • 첫 번째 기가 바이트 (1G, 여기서 G = 1024 * 1024 * 1024)를 덮어 쓰려면

    dd if=/dev/zero of=/dev/sdx bs=1G count=1
    
  • 전체 장치를 덮어 쓰려면 bs 또는 count를 사용하지 마십시오.

    dd if=/dev/zero of=/dev/sdx
    

    완료 dd되면 장치 끝에 도달하기 전에 얼마나 많이 쓸 수 있었는지 알 수 있으며 실제로 다음과 같이 실제로 쓸 수있는 양을 알 수 있습니다.

    1+0 records in
    1+0 records out
    1048576 bytes (1.0 MB) copied, 0.000838339 s, 1.3 GB/s
    

dd시간이 오래 걸리는 경우 "실행중인 'dd'프로세스에 USR1 신호를 보내면 I / O 통계를 표준 오류로 인쇄 한 다음 복사를 다시 시작할 수 있습니다." 신중한 경우 에도 killand pgrepps pkill/ htop또는 어쩌면 사용 하거나 다음 과 같은 예를 killall참조하십시오 man dd.

$ dd if=/dev/zero of=/dev/null& pid=$!
$ kill -USR1 $pid; sleep 1; kill $pid

18335302+0 records in 18335302+0 records out 9387674624 bytes  (9.4  GB)  copied,
34.6279 seconds, 271 MB/s

완료되면 dd새 파티션 테이블을 작성하고 새 파티션을 작성하여 포맷하십시오. 나는 gparted메뉴에 파티션 테이블 생성 옵션을 가지고 있으며 일반적으로 잘 작동합니다.


bs = 1M은 첫 번째 섹터에서 쓰지 않고 1MB 크기의 블록을 생성하고 bs = 1G를 사용하면 1GB의 블록을 작성하여 1GB 미만의 파일을 복사하는 경우 USB 드라이브를 매우 느리게 만듭니다 (일반적인 것) 확실합니까?
papajo

이 "블록"은 dd사용하는 것입니다. 장치를 변경하지 않고 그 크기의 덩어리로 장치에 씁니다. 당신이 같은 다른 플래그를 사용하지 않는 한 seek=또는 skip=다음 DD 읽기 및 각 장치의 "시작"에 쓰기 시작한다. 장치 / 드라이브의 섹터 크기를 생각할 수도 있습니다. 변경하지 못할 것입니다. – dd확실히 할 수 없습니다
Xen2050

완전히 제로 아웃을 wipefs결정하지 않는 한 사용하십시오 . 임의의 부분 0은 거의 의미가 없습니다. 또한 백업 GPT를 지우지 않습니다.
Tom Yan

@TomYan 링크 된 여러 도움말 페이지에서 알 수 있듯이 gparted만으로도 일반 드라이브에서는 문제가 없지만 이것은 특별한 경우 / 문제 드라이브입니다. 그리고 드라이브의 모든 섹터를 덮어 쓸 수없는 백업 GPT는 어디에 보관되어 있습니까? 드라이브에 있고 쓰기 가능하면 dd가 덮어 씁니다.
Xen2050
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.