시스템 파티션 복사

SD 카드에 ext4로 설치된 우분투가 grub 설치를 상실해서 illegal opcode 오류를 출력하고 부팅이 되지 않는 상태가 발생함.
그 전에 디스크 입출력이 심하게 발생하여 시스템 부하가 700에 이르는 상황이 있었기 때문에 SD 카드로는 용도에 맞지 않다고 판단하고 HDD로 옮기기 위해 다음과 같은 절차를 거침.

1. gparted

(gparted-live-0.18.0-1-amd64.iso)
HDD 전체를 차지하고 있던 파티션을 끝에서 줄여서 새 파티션을 만듦.

2. partimage

(systemrescuecd-x86-4.1.0.iso)
SD 카드의 우분투 파티션을 partimage를 통해 파일로 만들고, restore 동작을 통해 HDD에 새로 만든 파티션에 이동.

3. grub-install

(ubuntu-13.10-server-amd64.iso)
우분투 라이브 서버판의 시스템 복구 메뉴로 부팅.
HDD로 옮겨진 파티션을 루트로 잡고 grub 재설치를 진행.
(HDD로 부팅이 되는 것은 확인했으나, 이 과정 없이는 부팅이 되지 않는지는 확인하지 않음)

4. gparted

(systemrescuecd-x86-4.1.0.iso)
HDD의 파티션이 SD 카드와 동일한 크기로 작게 잡혀 있어서, gparted에서 파티션 체크 기능을 통해 파티션 전체 크기로 복원함.

5. tune2fs

/etc/fstab 파일에서 / 파티션을 UUID로 지정하고 있는데, HDD의 파티션도 같은 UUID를 갖고 있어서 /dev/disk/by-uuid에는 SD 카드가 나타나지 않고 /dev/disk/by-id 안에서만 SD 카드를 확인할 수 있는 상태.
tune2fs -U random 명령을 통해 SD 카드 쪽에 새로운 UUID를 부여함.

6. debsums

debsums 명령을 통해 패키지로 설치된 파일들에 이상이 있는지 검사.
Comments