Arch Linux ISO USB 드라이브를 만들어서 사용하려고 합니다.방향아치 리눅스 위키에서. 실행 후:
$ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sde && sync
parted
512바이트 섹터 하나만 인식됩니다.
$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model: (file)
Disk /dev/sde: 512B
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
새 파티션을 만들 수 없습니다.
$ sudo parted /dev/sde -s mklabel msdos
$ sudo parted /dev/sde -s mkpart primary fat32 0% 100%
Error: Can't have the end before the start! (start sector=1 length=0)
Error: Unable to satisfy all constraints on the partition.
count
및 bs
플래그를 생략하면 dd
전체 디스크가 아닌 10MB만 기록됩니다.
$ sudo dd if=/dev/zero of=/dev/sde && sync
dd: writing to ‘/dev/sde’: No space left on device
20481+0 records in
20480+0 records out
10485760 bytes (10 MB) copied, 0.0177212 s, 592 MB/s
$ sudo parted /dev/sde -s print
Error: /dev/sde: unrecognised disk label
Model: (file)
Disk /dev/sde: 10.5MB
Sector size (logical/physical): 512B/512B
Partition Table: unknown
Disk Flags:
답변1
(Gilles가 암시했듯이) USB 장치에서 작업하고 있지 않습니다.
첫 번째 단서는 Model
출력 입니다.
$ sudo parted /dev/sde -s print Error: /dev/sde: unrecognised disk label Model: (file) <= file! ...
당신의 명령:
sudo dd count=1 bs=512 if=/dev/zero of=/dev/sde && sync
/dev/sde
512바이트의 0으로 채워진 파일을 생성합니다.
다음을 통해 전체 디스크에 쓰려고 할 때:
sudo dd if=/dev/zero of=/dev/sde && sync
/dev/sde
파티션에 남은 공간이 없을 때까지 파일에 씁니다 /dev
.
dd: writing to ‘/dev/sde’: No space left on device
/dev
, (아마도) 실제로는 RAM 디스크이기 때문 입니다. (우데브), 해당 파티션에 설정된 한도를 모두 초과했습니다...
이렇게 하면 dd
올바른 디스크에서 작업하는 것이극도로중요한. 해당 이름의 다른 디스크가 있으면 /dev/sde
삭제됩니다. 완전히. 당신이 링크한 Arch Wiki에 명시된 바와 같이:
경고하다:이렇게 하면 /dev/sd의 모든 데이터가 복구 불가능하게 삭제됩니다.엑스.
USB 장치를 연결한 후 다음 예를 확인하세요.
lsblk
예를 들어, 더 자세히 알아보려면 다음을 참조하세요.남성또는 -h
:
lsblk -o NAME,STATE,RM,HOTPLUG,TYPE,TRAN,SIZE,PHY-SEC,LOG-SEC,FSTYPE,MODEL,VENDOR,LABEL,PARTLABEL
그리고:장치는 않습니다아니요같은 것을 얻다dev/xxx
들어갈 때마다. 무작위입니다.
기타 참고사항:
이 작업을 수행할 때:
sudo parted /dev/sde -s mklabel msdos
msdos
파티션을 나눈 테이블을 생성합니다 .문서 /dev/sde
. 이것은 훌륭하게 작동합니다. 그러나 다음 작업을 진행하면:
sudo parted /dev/sde -s mkpart primary fat32 0% 100%
파일에 기본 파티션을 생성하려고 하면 다음 오류가 발생합니다.
Error: Can't have the end before the start! (start sector=1 length=0)
파티션 테이블이 있는 섹터 0에서 파티션 부팅을 거부하기 때문입니다.MSDOS, 거주하다. 그래서 테스트한다시작섹터 1 또는 오프셋 512. 하지만 파일이 512바이트에 불과하기 때문에끝해당 섹터도 512에 있으며 다음과 같은 정보를 얻을 수 있습니다."시작하기 전에 끝나라".
그럼에도 불구하고 FAT32 파티션의 최소 크기는 65,527개 클러스터, 즉 약 32MB입니다.
답변2
나는 매우 비슷한 문제를 해결했습니다.
rm /dev/sdb
USB 드라이브(/dev/sdb에 연결됨)를 연결합니다.
그런 다음 전체 드라이브에 대한 새 파티션 테이블을 만들 수 있습니다.