문제 해결

문제 해결

기존 Ubuntu Trusty(14.04.1) 시스템(PPA에서 설치된 앱 포함)을 SSD로 전송하고 싶습니다. 하드 디스크의 기존 홈 디렉토리를 유지하고 싶습니다. Ubuntu를 다시 설치하지 않는 것이 가장 좋은 방법은 무엇입니까?

답변1

라이브 미디어에서 부팅하는 경우 이는 3단계로 나눌 수 있습니다.

  1. 운영 체제 데이터를 새 드라이브에 복사

    시작하기 전에 새 드라이브에 다음이 있는지 확인하십시오.올바른 파티션 테이블. GPT는 (주로) EFI용이며 부트로더용 특수 파티션이 필요합니다. MBR 설치 시 새 운영 체제 파티션을 부팅 가능으로 표시하는 것을 잊지 마십시오.

    라이브 미디어에서 rsync를 사용하는 것이 파일을 복사하는 가장 실용적인 솔루션입니다.

    sudo rsync -av --exclude=/home/* /media/$mountpoint_of_old_drive/ /media/$mountpoint_of_new_drive/
    
  2. 새 드라이브에 부트로더 설치

    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 설치 맨페이지).

  3. 구성 업데이트

    /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그러나 줄을 바꾸기 전에 + KCtrl+를 눌러 복사본을 만들고 싶을 수도 있습니다 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-amd64GRUB이 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즉 파티션 번호입니다.

관련 정보