Manjaro ARM(Raspberry Pi 4 시스템용)이 있는 USB 드라이브와 빈 SD 카드가 있습니다. 파티션을 유지하면서 운영 체제를 USB 드라이브에서 SD 카드로 전송할 수 있습니까? 가능하다면 Manjaro가 실행되는 동안에도 할 수 있나요?
출력은 다음과 같습니다 lsblk
.
$ lsblk # partitions on USB Drive
sda 8:0 1 14.9G 0 disk
├─sda1 8:1 1 213.6M 0 part /boot
└─sda2 8:2 1 14.7G 0 part /
zram0 254:0 0 11.2G 0 disk [SWAP]
답변1
- 파티션을 유지하면서 운영 체제를 USB 드라이브에서 SD 카드로 전송할 수 있습니까?
예, SD 카드가 최소한 USB 드라이브만큼 크다고 가정합니다. 실행하여 blockdev --getsize64 /dev/sda
USB 드라이브의 크기를 바이트 단위로 얻을 수 있으며, SD 카드의 장치 경로를 변경하여 최소 바이트 수를 확인할 수 있습니다.
이러한 장치의 크기가 정확히 같을 가능성은 거의 없으므로 SD 카드에 동일한 파티션 테이블을 수동으로 생성하는 것이 좋습니다(번거로움을 줄이기 위해 동일한 파티션 번호를 사용). 이렇게 하면 나중에 SD 카드에서 사용할 수 있는 추가 디스크 공간을 사용하여 루트 파티션을 확장하거나 새 파티션을 생성할 수 있습니다. sfdisk -l /dev/sda
/dev/sda에 있는 섹터의 파티션 목록을 가져온 다음 fdisk /dev/sdb
sd 카드에 동일한 파티션을 만드는 데 사용됩니다 (sd 카드 장치가 /dev/sdb라고 가정하고 필요에 따라 업데이트하십시오).
파티션을 다시 생성한 후 각 파티션의 내용을 한 번에 하나씩 복사할 수 있습니다.
- 가능하다면 Manjaro가 실행되는 동안에도 할 수 있나요?
예, 하지만 이 경우 복사하는 동안 디스크에 무엇이든 써서 운영 체제가 복사본을 손상시키는 위험을 피하기 위해 파일 시스템을 읽기 전용으로 마운트해야 합니다.
위와 같이 파티션을 생성했다고 가정하고 다시 SD 카드가 /dev/sdb라고 가정하고 이 작업을 수행하고 질문에 나열한 두 개의 파티션을 복사하는 명령은 다음과 같습니다.
mount /dev/sda1 -oremount,ro
dd if=/dev/sda1 of=/dev/sdb1 bs=1048576
mount /dev/sda2 -oremount,rw
mount /dev/sda2 -oremount,ro
dd if=/dev/sda2 of=/dev/sdb2 bs=1048576
mount /dev/sda2 -oremount,rw
일부 소프트웨어에서는 일시적으로 읽기 전용으로 마운트되는 루트 파일 시스템을 좋아하지 않을 수도 있습니다. 재부팅하면 문제가 해결될 수도 있습니다.