백업 Linux 파티션 복원

백업 Linux 파티션 복원

/dev/sda공간이 많은 빈 드라이브 가 있다고 가정해 보겠습니다 . 또한 이전 Linux 백업의 파티션도 있습니다 /dev/sdb1. 일반적으로 사용되는 Linux 파일 시스템 등이 포함되어 있습니다 /home. /usr주목할만한 점은 EFI 부팅 파티션이 없다는 것입니다.

이 설정에서 우리는 어떻게 할 것입니까?

  1. 파티션을 에 복사하고 /dev/sda부팅 파티션을 위한 공간을 남겨둡니다.
  2. 이 파일 시스템으로 부팅하는 부팅 파티션을 만듭니다.
  3. BIOS에서 여기에서 부팅하려면 grub을 설치하세요.

답변1

먼저 설치 /dev/sdb1하십시오 /src. 이미지에 /boot/efi가 없다는 것을 알고 있지만 /boot가 별도인지는 알 수 없습니다. /boot에 대한 항목이 있는지 확인하십시오 /src/etc/fstab. 만약 있다면, 우리도 그것을 다시 만들어야 합니다.

파티션을 /dev/sda에 복사하여 부팅 파티션을 위한 공간을 확보하세요.

대신 EFI 부팅 파티션을 먼저 생성하십시오(GPT 테이블, 첫 번째 파티션을 4GB FAT32 파티션으로 만들고 식별을 위해 "EFIboot"로 표시).

파티션을 포맷했는지 확인한 다음( sudo mkfs.vfat /dev/sda1sda1이 파티션 이름이라고 가정), 얻은 UUID를 기록해 둡니다 sudo lsblk -o UUID /dev/sda1(UUID라고 부르겠습니다 uuid_efi).

/boot에 항목이 있으면 /src/etc/fstab해당 항목에도 4GB 파티션을 만듭니다(ext4, 특별한 것은 없음). 또한 해당 UUID를 기록해 두십시오(라고 부르겠습니다 uuid_boot).

sda에 적절한 크기의 파티션을 추가하여 내용을 보관하고 /dev/sdb1포맷한 다음(팁: 원래 파일 시스템 유형과 동일한 파일 시스템 유형을 사용하면 시스템의 기본 구성에서 이를 계속 사용할 수 있음) 및 /dstSuperior 에 마운트합니다 cp --archive /src/* /dst/. 시간이 좀 걸릴 수 있습니다!

/dst/etc/fstab으로 조정할 /boot/efi금액입니다 UUID=${uuid_efi}. 항목 자체가 있는 경우 위와 같이 둘 다 /boot로 조정합니다 .UUID=${uuid_boot}

바인드 /proc, /sys/dev대상 :/run/dst

for mnt in {proc,sys,run}; do
  sudo mount -o bind "/${mnt}" "/dst/${mnt}"
done

마지막으로 쉘을 열고 /dst디렉토리를 다음과 같이 확인하십시오 /.

sudo chroot /dst /bin/bash

있는 경우 해당 쉘 내에서 설치하십시오 /boot./boot/efi

mount /boot
mount /boot/efi

짜잔. 이제 실행된 대상 시스템에서 실행 중인 것처럼 모든 것을 볼 수 있는 셸이 생겼습니다.

여기에는 부트로더를 다시 설치하는 일반적인 배포판별 방법이 적용됩니다. 데비안노이드의 경우이 방법, redhatoids의 경우 아마도 yum reinstall grub2-efi. 다른 배포판의 경우 직접 조사해야 합니다(검색 엔진이 distroname reinstall grub해당 작업을 수행해야 함). 그런 다음 배포별 수단을 사용하여 최신 커널 패키지를 다시 설치하고 /boot/를 올바르게 채우고 initrds를 재생성하십시오.

관련 정보