
Manjaro ARM이 있는 USB 드라이브(Raspberry Pi 4 시스템에 사용됨)와 빈 SD 카드가 있습니다. 파티션을 유지하면서 USB 드라이브에서 SD 카드로 OS를 전송할 수 있는 방법이 있습니까? 가능하다면 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 카드로 OS를 전송할 수 있는 방법이 있습니까?
예, 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
아마도 일부 소프트웨어는 루트 파일 시스템이 일시적으로 읽기 전용으로 마운트되는 것을 좋아하지 않을 수 있습니다. 재부팅하면 문제가 해결됩니다.