USB 드라이브에 설치된 Linux를 동일한 브랜드/유형의 다른 USB로 복제

USB 드라이브에 설치된 Linux를 동일한 브랜드/유형의 다른 USB로 복제

16GB USB 드라이브에 완전히 구성된 Linux 시스템이 설치되어 있습니다. 저는 동일한 브랜드/유형의 USB 드라이브를 10번, 똑같은 메인보드를 10번 사용했습니다.

이제 10개의 시스템에서 동일한 이미지를 사용할 수 있도록 USB 드라이브를 다른 드라이브에 복사하고 싶습니다.

내가 한 일은 WinDiskImager32를 사용하여 USB 드라이브의 이미지를 만든 다음 이를 원래 USB 드라이브에 다시 쓰는 것이었습니다. 동일한 드라이브이기 때문에 효과가 있었지만 다른 USB 드라이브에 쓰려고 하자마자 해당 드라이브에 비해 이미지가 너무 커서 실패했습니다. 물론 모두 16GB이지만 실제로는 항상 사소한 차이가 있습니다.

분명히 이것은 이 작업을 수행하는 올바른 방법이 아니므로 원래 USB를 다른 USB에 배포할 수 있도록 어떻게 올바르게 "복제"하는지 궁금합니다.

(참고로 시스템은 새 컴퓨터에 설치된다는 사실을 처리하도록 구성되어 있으므로 여기서는 문제가 되지 않습니다. 단지 정확한 사본을 얻으면 됩니다.)

업데이트

WesleyDavid의 답변을 바탕으로 gparted로 드라이브를 확인하고 원래 WinDiskImager32를 사용하여 8GB 장치에서 이미지를 복사했기 때문에 파티션이 이미 충분히 작다는 것을 기억했습니다.

갈라진

문제는 WindDiskImager가 파티션뿐만 아니라 전체 드라이브를 복사한다는 것입니다.

이제 'dd' 솔루션은 파티션만 복사하여 문제를 해결합니다. 그런데 대상 USB에서 ext2와 스왑 파일 시스템을 모두 얻으려면 어떻게 해야 합니까?

dd를 사용하여 전체 장치를 복사하면 다시 전체 16GB가 생성되므로 다른 장치에는 항상 맞지 않습니다.

업데이트 2

WesleyDavid가 제안한 대로 dd를 사용하면
설명된 대로 dd의 count 매개변수를 사용해야 했습니다.여기

기본적으로 "fdisk -u -l /dev/sdb"(sdb를 장치로 교체)를 실행하는 것을 의미합니다.

> Disk /dev/sdb: 16.3 GB, 16257318912 bytes 64 heads, 32 sectors/track,
> 15504 cylinders, total 31752576 sectors Units = sectors of 1 * 512 =
> 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O
> size (minimum/optimal): 512 bytes / 512 bytes Disk identifier:
> 0x000392d4
> 
>    Device Boot      Start         End      Blocks   Id  System
> /dev/sdb1   *        2048    13672447     6835200   83  Linux
> /dev/sdb2        13674494    15818751     1072129    5  Extended
> /dev/sdb5        13674496    15818751     1072128   82  Linux swap

제 경우에는 마지막 파티션의 끝이 '15818751'에 있으므로 다음을 사용했습니다.

dd if=/dev/sdb of=/home/myusername/usbimage.img count=15818752

안전을 위해 하나 더 추가합니다. 이를 통해 설치할 수 있는 이미지가 제공되었습니다.

답변1

시도되고 사실인 가장 쉬운 옵션: 확실하게 하기 위해 gparted를 사용하여 소스 파티션을 15GB로 만드십시오. 그런 다음 다른 USB 드라이브에 복제합니다.

본질적으로 이는 복제 문제가 아니라 파티션 크기 문제입니다. 일단 파티션/디스크 크기가 편안하게 최대 크기보다 작아지면 dd if=source of=destination(Windows를 가정하여) 계속해서 나쁜 상태를 유지하십시오.

관련 정보