루트 파티션을 다른 디스크로 이동

루트 파티션을 다른 디스크로 이동

아래는 내 df -h결과입니다.

Filesystem      Size  Used Avail Use% Mounted on  
/dev/xvda1       20G   18G  1.2G  95% /  
tmpfs           2.0G     0  2.0G   0% /dev/shm  
/dev/xvda2      138G  4.4G  127G   4% /opt/xxxx

/dev/xvda2의 / 파티션을 이동하여 그 안의 여유 공간을 사용하려면 어떻게 해야 합니까?

이것이 가능하지 않은 경우 /opt/ 아래의 데이터를 잃지 않고 xvda2에 /opt/xxxx 대신 /opt만 설치할 수 있는 방법은 무엇입니까?

답변1

실제로 두 개의 파티션이 필요하지 않은 경우 가장 쉬운 방법은 다음과 같은 복구 CD를 부팅하는 것입니다.갈라진. 그런 다음 롤 쉘을 얻고 다음을 수행하십시오.

mkdir -p /mnt
mkdir -p /oldroot
mount /dev/xvda1 /oldroot
mount /dev/xvda2 /mnt/
mkdir /mnt/opt
mv /mnt/* /mnt/opt
rsync -avx /oldroot /mnt

# now edit /mnt/etc/fstab to comment out or delete the /opt line

umount /mnt /oldroot

/dev/xvda2에는 이제 이전 / 및 /opt 파일 시스템이 포함되어야 합니다. 이제 비결은 이전 /dev/xvda1 파티션을 삭제하고 /dev/xvda2를 디스크의 시작 부분으로 이동한 다음 전체 디스크를 채울 수 있도록 확장하는 것입니다.

다행히도 이는 GUI gparted 파티션 편집기에서 쉽게 수행할 수 있습니다. 명령줄을 통해 이 작업을 수행하는 것이 전적으로 가능 parted하지만 gparted.

이 모든 결과로 크기가 158GB인 /dev/xvda1 파티션이 생성됩니다.

파티션을 이동하고 크기를 조정한 후 grub-install을 다시 실행하여 부트 로더를 다시 설치해야 할 수도 있습니다. 파티션을 /mnt로 다시 마운트하고 다음을 수행합니다.

for i in proc dev sys ; do mount -o bind /$i /mnt/$i ; done
chroot /mnt
grub-install /dev/xvda
exit
for i in proc dev sys / ; do umount /mnt/$i ; done

관련 정보