
기존 Ubuntu Trusty(14.04.1) 시스템(PPA에서 설치된 앱 포함)을 SSD로 전송하고 싶습니다. 하드 디스크의 기존 홈 디렉토리를 유지하고 싶습니다. Ubuntu를 다시 설치하지 않는 것이 가장 좋은 방법은 무엇입니까?
답변1
라이브 미디어에서 부팅하는 경우 이는 3단계로 나눌 수 있습니다.
운영 체제 데이터를 새 드라이브에 복사
시작하기 전에 새 드라이브에 다음이 있는지 확인하십시오.올바른 파티션 테이블. GPT는 (주로) EFI용이며 부트로더용 특수 파티션이 필요합니다. MBR 설치 시 새 운영 체제 파티션을 부팅 가능으로 표시하는 것을 잊지 마십시오.
라이브 미디어에서 rsync를 사용하는 것이 파일을 복사하는 가장 실용적인 솔루션입니다.
sudo rsync -av --exclude=/home/* /media/$mountpoint_of_old_drive/ /media/$mountpoint_of_new_drive/
새 드라이브에 부트로더 설치
sudo grub-install --boot-directory /media/$mountpoint_of_new_drive/boot /dev/sdX
/dev/sdX
새 드라이브의 실제 장치 이름으로 변경되어야 합니다.MBR 대신 EFI 설치가 있는 경우 EFI 모드에서 라이브 미디어를 부팅하고 실행했는지 확인하고
sudo apt-get install grub-efi-amd64
새 드라이브에 ESP(EFI 시스템 파티션)를 생성했는지, ESP가 마운트되었는지/media/$mountpoint_of_new_drive/boot/efi
(또는--efi-directory
옵션을 사용하는지) 확인해야 합니다. , 다음을 살펴보세요grub 설치 맨페이지).구성 업데이트
/etc/fstab
의 UUID를 업데이트해야 합니다/
. 를 실행하여 새 운영 체제 파티션의 UUID를 가져오고sudo blkid /dev/sdXY
, 따옴표 없이 UUID를 복사하고,sudo nano /media/$mountpoint_of_new_drive/etc/fstab
다음과 같은 줄에서 기존 UUID를 실행하고 바꿉니다.# / was on /dev/sda2 during installation UUID=a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc / ext4 errors=remount-ro 0 1
Ctrl그러나 줄을 바꾸기 전에 + K및 Ctrl+를 눌러 복사본을 만들고 싶을 수도 있습니다 U. 집이 여전히 이전 드라이브에 있으므로 이전 UUID가 정확해야 하며 마운트 지점을 다음으로 업데이트하면 됩니다
/home/$your_username
($your_username
사용자의 홈 디렉터리 이름으로 대체). 그리고 몇 가지 옵션(끝에 주의하세요relatime,acl
)2
:# Mountpoint for home or user partition UUID=063a996a-0303-42b2-b719-af920fd105fa /home/$your_username ext4 relatime,acl 0 2
Ctrl+ 로 저장 하고 + O로 종료합니다 .CtrlX
개별 홈 디렉토리를 별도의 홈 디렉토리로 이동하는 것을 고려해야 합니다.
home
-분할/home
(이는 에서 와 같이 마운트된 사용자의 홈 디렉토리가 있는 파티션일 뿐이므로 데이터를 복사하는 데 다시fstab
사용할 수 있습니다 .sudo rsync -av
내 /home 디렉토리가 이미 / 파티션의 일부인 경우 어떻게 다른 파티션으로 이동할 수 있습니까?), 이 방법으로 각 사용자에 대해 새 줄을 만들어야 하기 때문입니다.새로 생성한 경우스왑 파티션SSD에서는 이를 위해 UUID도 업데이트해야 합니다.
# SSD swap UUID=b7c315cb-cf89-463b-888a-185a1faa8250 none swap sw 0 0
또한 에서 스왑 파티션의 UUID를 업데이트하고 새 드라이브에서 처음 부팅한 후
/media/$mountpoint_of_new_drive/etc/initramfs-tools/conf.d/resume
실행 하고 재부팅해야 합니다.sudo update-initramfs -k all -u
동면다시 일해요.마운트 지점도 업데이트해야 합니다.ESPEFI 설치를 위해 fstab에도 있습니다.
복잡해보이지만, 해보면 간단하고, 자세히 설명하기가 어렵고 길어질 뿐입니다.
문제 해결
grub-install이 UEFI와 함께 설치되지 않습니다.
힌트: sudo apt-get install grub-efi-amd64
GRUB이 i386-pc
.
- 을 포함하여 루트(
/
) 파티션 의 내용을 복사했습니다/boot
. 그렇죠? ESP의 내용을 복사했나요? 아직 하지 않았다면 그렇게 하세요.
EFI/ubuntu/grub.cfg
새로운 ESP를 편집하세요 . UUID를 새 루트 파티션의 UUID로 바꾸는 것으로 충분합니다. 그렇지 않은 경우hd0,gpt2
이 예제의 부분도 그에 따라 변경해야 합니다. 일반적으로 파일 내용은 다음과 같습니다.search.fs_uuid a7aea81b-0e7f-4ec0-8be4-b0ec75c13fdc root hd0,gpt2 set prefix=($root)'/boot/grub' configfile $prefix/grub.cfg
당신의 부팅오래된설치, 실행
sudo update-grub
, os-prober는 다른 파티션에서 새 설치를 찾아 GRUB 항목을 추가해야 합니다.- 이 새 항목을 부팅하십시오.
- 이제 SSD에서 부팅해야 합니다.
sudo update-grub
여기에서 다시 실행하여 SSD의 GRUB 구성을 업데이트하고 수정하세요.
efibootmgr -c -d /dev/sdX -p Y -l \EFI\ubuntu\grubx64.efi -L "Ubuntu"
UEFI NVRAM에 새 부팅 옵션으로 신규/전송된 설치를 위한 부트 로더를 추가하려면 실행하세요 ./dev/sdX
새 하드 드라이브의 장치 이름,Y
즉 파티션 번호입니다.