한 매체에서 다른 매체로 운영 체제 전송

한 매체에서 다른 매체로 운영 체제 전송

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

  1. 파티션을 유지하면서 운영 체제를 USB 드라이브에서 SD 카드로 전송할 수 있습니까?

예, SD 카드가 최소한 USB 드라이브만큼 크다고 가정합니다. 실행하여 blockdev --getsize64 /dev/sdaUSB 드라이브의 크기를 바이트 단위로 얻을 수 있으며, SD 카드의 장치 경로를 변경하여 최소 바이트 수를 확인할 수 있습니다.

이러한 장치의 크기가 정확히 같을 가능성은 거의 없으므로 SD 카드에 동일한 파티션 테이블을 수동으로 생성하는 것이 좋습니다(번거로움을 줄이기 위해 동일한 파티션 번호를 사용). 이렇게 하면 나중에 SD 카드에서 사용할 수 있는 추가 디스크 공간을 사용하여 루트 파티션을 확장하거나 새 파티션을 생성할 수 있습니다. sfdisk -l /dev/sda/dev/sda에 있는 섹터의 파티션 목록을 가져온 다음 fdisk /dev/sdbsd 카드에 동일한 파티션을 만드는 데 사용됩니다 (sd 카드 장치가 /dev/sdb라고 가정하고 필요에 따라 업데이트하십시오).

파티션을 다시 생성한 후 각 파티션의 내용을 한 번에 하나씩 복사할 수 있습니다.

  1. 가능하다면 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

일부 소프트웨어에서는 일시적으로 읽기 전용으로 마운트되는 루트 파일 시스템을 좋아하지 않을 수도 있습니다. 재부팅하면 문제가 해결될 수도 있습니다.

관련 정보