본문 바로가기

IT

[ubuntu] OS가 설치된 하드디스크 교체로 OS 파티션 이동시 처리 사항

반응형

 사용하고 있는 OS를 마이그레이션하기는 참 많은 정보가 필요합니다.


 리눅스 기반의 우분투 또한 그냥 파티션만 이동한다고 되는 것이 아니고 MBR에 설치되는 GRUB 도 신경써야하고 생각보다 할일이 많습니다. 인터넷에 떠도는 글들도 참.. 입맛에 딱 맞는 내용이 없더군요.. 그래서 나름? 최신 정보로 다시 하드디스크 교체에 대한 부분을 써보겠습니다.


 일단 간략하게 설명하고 순서에 맞춰 다시 작성하겠습니다.


 일단 준비물은 새 하드디스크, 자신의 OS에 맞는 LiveCD (우분투 기반은 설치시디에서 설치와 CD에서 OS를 바로 사용할 수 있는 기능을 제공하는 시디를 이야기 합니다. 배포판을 구한다고 생각하시면 되죠?)를  준비하면 일단 준비물은 끝.


 1. PC를 열어서 새로운 하드디스크를 연결합니다.


 2. 기존에 사용하던 OS로 부팅을 합니다.


 3. fdisk 또는 GParted 프로그램을 이용하여 새로운 하드디스크에 파티션을 생성합니다.

 - 저는 / 와 swap 파티션만 생성하였습니다. 용량은 알아서 잘 잡아주시기 바랍니다. 저는 extended partition 을 하나 생성하고 logical partition 2개를 각각 / 와 swap을 위한 파티션으로 잡았습니다. primary partition을 그전에도 사용하셨다면 그전과 같은 모양으로 잡아주십시오. (이부분은 사용자, 시스템에 따라 다를 수 있습니다.)

 제가 사용하는 시스템은 기존 500G 하드디스크에서 120G Intel SSD로 마이그레이션을 준비한 모양입니다. 마이그레이션이 끝난 상태라서 mount 되어있는 GParted 스크린샷을 보여드리겠습니다.


중요한 것은 부팅을 윈하는 파티션에 꼭 위 이미지에 보이는 Flags를 설정해 주어야 부팅이 가능합니다. 주의하시기 바랍니다. 방법은 해당 파티션에서 오른쪽 마우스버튼을 눌러서 Manage Flags 를 눌러서 boot 를 선택하시면 됩니다. (이번에는 fdisk를 사용하지 않아서 따로 설명하지 않습니다. fdisk 사용하실 것이라면 해당 프로그램의 메뉴얼 또는 다른 글을 참고하시기 바랍니다.)

 이렇게 새로운 하드디스크를 사용하기 위한 파티션 설정은 끝입니다.


 4. 부팅가능한 LiveCD를 넣고 부팅을 합니다. 저는 이 과정을 하기 전에 기존 사용하던 하드디스크는 sda 였고, 새로운 하드디스크는 sdb였는데요. 케이블을 바꿔 끼워서 새로운 SSD를 sda로 잡히도록 수정하였습니다.


 5. 부팅이 마무리 되면 '터미널'을 하나 띄워서 새로운 하드디스크의 UUID를 조회합니다. 명령어는 다음과 같습니다.

$ sudo blkid

 조회된 스크린 샷입니다.


저의 새로운 하드디스크는 맨 처음 보이는 2개네요. (위의 작업에 따라서 다르게 보일 수 있습니다. 물론 UUID는 당연히 저와 다르게 보일 거구요..)

 위 내용을 복사하여 mousepad 같은 프로그램을 이용하여 메모해 놓습니다. 추후에 /etc/fstab을 수정하는데 필요한 정보입니다.


 6. 이제 사용하던 하드디스크의 시스템파일이 존재하는 파티션을 마운트하고, 새로운 시스템파일을 저장할 파티션을 각각 마운트합니다. 저의 경우 기존에 사용하던 하드가 sdb 이고 파티션은 sdb5 이었고, 새로운 하드디스크는 sda 이고 파티션은 sda5 입니다. 다음 명령어를 이용하여 마운트 합니다.

$ sudo mkdir /mnt/source

$ sudo mkdir /mnt/target

$ sudo mount /dev/sdb5 /mnt/source

$ sudo mount /dev/sda5 /mnt/target

 기존의 파티션은 /mnt/source 에 마운트 되었고, 새로운 파티션은 /mnt/target 에 마운트 되었습니다.


 7. 기존 파티션의 데이터를 모두 새로 만든 파티션으로 복사합니다. 복사 명령어 입니다. 옵션은 man 등에서 확인하시기 바랍니다.

$ sudo cp -av /mnt/source/* /mnt/target


 8. 복사가 완료되면 /mnt/target/etc/fstab 의 정보를 5번항목에서 조회한 UUID정보로 수정합니다. 수정을 위한 에디터를 띄우는 명령어는 다음과 같습니다.

$ sudo gedit /mnt/target/etc/fstab

 

 저는 5번에서 조회된 UUID를 이용하여 다음과 같이 수정하였습니다.

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/sda5 during installation

# Intel SSD #1 Root Directory Partition. /dev/sda5
UUID=bc24dbde-6e3d-4f14-8f71-5637525335be /               ext4    errors=remount-ro,discard,noatime,nodiratime 0       1
# Intel SSD #2 Swap Partition. Swap was on /dev/sda6 during installation
UUID=51a43247-abe2-4bf5-a8e6-88647bbe291e none            swap    sw              0       0

# Hitachi HDD
# #1 partition for SystemTemp
UUID=2d4571e0-665a-4b01-9025-41334b00e7b7 /media/SystemTemp ext4 defaults 0 0

# #2 Partition for VirtualBoxVMs
UUID=29ba62cc-79b9-4744-8c9c-3b7c31198a88 /media/VirtualBoxVMs ext4 defaults 0 0

# #3 Partition for Data
UUID=10c9bc9d-f403-4002-99b2-9becd33f8287 /media/Data ext4 defaults 0 0

# KingMemory SSD 32G
# Partition For Backups
UUID=f2666108-adc4-42b6-9e3f-bd8bd605941a /media/Backups ext4 errors=remount-ro,noatime,discard 0 1


 저는 기존에 사용하던 하드디스크와 새로 구성한 하드디스크의 파티션을 용량만 제외하고는 똑같이 구성하였습니다. 만약 다른 형태로 구성하였다면 그에 맞게 자동 마운트되는 마운트 포인트에 맞게 새로운 하드디스크의 UUID로 변경해 주시면 됩니다. 저는 위처럼 2개만 변경되었으므로 2개만 수정하였습니다.

 알맞게 수정되었다면 저장하고 프로그램을 종료합니다.


 이제 거의 마무리 되어 갑니다.


 9. 마지막 단계만 남았습니다. 새로운 하드디스크에 grub 정보를 다시 심어주면 됩니다. 저는 구글링한 정보중에서 정상적으로 grub이 설치되는 글이 없었습니다. 그래서 간단히 boot-repair 프로그램을 사용하였는데 정상적으로 grub이 설치되어 그에 대한 정보만 써보겠습니다. (정말 간단히 알아서 다 해 줍니다.;;;)


 일단 작업을 시작하기전에 기존의 LiveCD로 부팅했던 OS를 종료하고 기존에 사용하던 하드디스크는 잠시 때어 놓습니다. 그리고 LiveCD를 사용하여 다시 부팅합니다.


 터미널을 하나 띄우고 다음 명령어를 이용하여 boot-repair 프로그램을 다운받아 설치합니다. (LiveCD 상태에서도 잘 설치됩니다.;;)

$ sudo add-apt-repository ppa:yannubuntu/boot-repair

$ sudo apt-get update

$ sudo apt-get install boot-repair

$ boot-repair


 이후 작업은 참 간단합니다. 아래와 같이 프로그램이 뜹니다.


 위의 'Recommanded repair' 를 클릭하여 진행합니다. 자동으로 알아서 부팅가능한 파티션을 검색하고 알아서(?) grub 재설치까지 한방에 정리됩니다. (그동안 grub 명령에 찾아다니고 logical partition에 있는 경우 방법등 별 짓을 다했는데.. 클릭 두방으로 끝났습니다.;;)


 이렇게 하드디스크 교체에 대한 OS 마이그레이션이 마무리 되었습니다. 이제 아까 떼어놓았던 하드디스크를 다시 연결하시고 그전에 사용하던 파티션을 정리하시고 계속 사용했던 대로 사용하시면 됩니다.


 이글은 이정도로 마무리하겠습니다. 끝.

반응형