모든 사용자 정의, 문서, 설치된 소프트웨어 등을 사용하여 Ubuntu 12.04의 전체 tar 백업을 다른 시스템으로 복원하고 싶습니다.
다음 명령으로 백업을 만들었습니다.
sudo su
cd /
tar cvpzf ububackup.tgz --exclude=/ububackup.tgz --exclude=/proc --exclude=/lost+found --exclude=/sys --exclude=/mnt --exclude=/tmp --exclude=/media /
새 컴퓨터에서 Ubuntu 12.04를 새로 설치하고 백업 파일을이 파일로 옮긴 다음 다음과 같이 백업 파일로 복원했습니다.
tar xvpfz backup.tgz -C /
예상대로 (이 질문에 대한 Mike Whatever의 답변 : 한 컴퓨터에서 다른 컴퓨터로 모든 설정으로 우분투 배포판을 복사하십시오) 이 문제를 일으켰습니다. 컴퓨터를 켤 때 오류가 발생합니다.
error: no such device: ...
press any key to continue ...
Grub이 손상된 이유는 UUID가 컴퓨터의 하드 드라이브가 아닌 이전 하드 드라이브에서 일치하는 UUID를 찾고 있기 때문입니다.
새 하드 드라이브를 인식하도록 grub을 수정하려면 어떻게해야합니까? 온라인 도움말 “Fix GRUB UUID”를 찾았지만 단계가 오래되었거나 복잡해 보였습니다. 위의 링크 된 Mike의 응답은이를 복구하는 상당히 간단한 방법이 있기를 바랍니다.
답변
현재 문제를 해결하려면 “/ etc / fstab”및 “/boot/grub/grub.cfg”에서 UUID를 변경해야합니다 (매우 까다 롭습니다).
Ubuntu 설치 CD를 사용하여 gparted와 함께 UUID를 가져올 수 있습니다 (UUID를 가져올 파티션을 마우스 오른쪽 버튼으로 클릭하고 “정보”를 클릭 한 다음 UUID를 선택하고 CTRL + C) 또는 명령 줄 (sudo blkid
).
그런 다음 gedit, nano 등으로 올바른 볼륨에서 “/ etc / fstab”을 편집해야합니다.
터미널에서 다음을 입력하십시오.
gksudo gedit /etc/fstab
이전 UUID를 새 UUID로 바꿉니다.
중요 : 물론 부트 CD를 사용하여 “/ etc / fstab”: “/ media / xxxxx / etc / fstab”앞에 “/ media / xxxxx”를 추가해야합니다. 당신은 또한 사용할 수 있습니다gksudo gedit
파일을 하고 열어서 편집 .
경고 : “/boot/grub/grub.cfg”수정은 매우 까다 롭습니다. 일반적으로 다음 명령으로 생성해야합니다sudo update-grub
.
터미널에 다음을 입력하여 이전 UUID를 “/boot/grub/grub.cfg”의 새 UUID로 바꾸십시오.
gksudo gedit /boot/grub/grub.cfg
중요 : 물론 부트 CD를 사용하여 “/boot/grub/grub.cfg”전에 “/ media / xxxxx”를 추가해야하는 경우 : “/ media / xxxxx / boot / grub / grub. cfg “. 당신은 또한 사용할 수 있습니다gksudo gedit
파일을 하고 열어서 편집 .
까다로운 솔루션을 사용하는 경우 시작하는 것이 좋습니다. sudo update-grub
시스템을 성공적으로 부팅 한 후에 .
깨끗하고 간단하게 그럽을 재구성하는 방법은 “Boot-Repair-Disk”와 같은 부팅 복구 디스크를 사용하는 것입니다 http://sourceforge.net/p/boot-repair-cd/home/Home/
이것이 문제 해결에 도움이되기를 바랍니다.
그러나 내 의견에 표시된 것처럼 Clonezilla를 사용하여 이전 컴퓨터를 새 컴퓨터에 복제하는 것을 고려할 수 있습니다.
답변
아마도 이것은 grub이 시작되어 Ubuntu로 부팅하는 옵션을 표시하지만 부팅을 선택하면 선택하지 않습니까?
두 가지 옵션이 있습니다.
- GRUB 라인 편집기를 사용하여 Linux 부팅 옵션을 수정하여 Linux를 올바르게로드 한 다음 grub-install을 루트로 실행하여 올바른 구성을 영구적으로 설정하십시오.
- Ubuntu USB 스틱에서 부팅하고, 우분투 디스크 파티션을 마운트 한 다음 chroot를 넣고 grub-install을 실행하십시오.
첫 번째 경우는 Ubuntu 만 있고 하드 디스크가 하나 뿐인 경우 더 쉽습니다.이 경우 “Ubuntu 복구”옵션을 선택하고 “e”를 눌러 편집하십시오.
항목은 다음과 같아야합니다.
insmod gzio
insmod part_msdos
insmod ext2
set root=('hd0,msdos0')
search --no-floppy --fs-uuid --set=root XXXXXX
linux /boot/vmlinuz-YYYYY root=UUID=XXXXXX ro recovery nomodeset
initrd /boot/initrd.img-YYYYY
“search”행을 제거하고 “linux”행의 “root = UUID = XXXXX”를 “root = / dev / sda1″로 바꾸십시오. 이것을 시도하고 부팅하면 짧은 시간이 지나면 grub 옵션이 있어야하는 gbuntu 복구 메뉴가 제공되므로 grub을 올바르게 다시 설치해야합니다.
그렇지 않으면 또는 grub을 직접 엉망으로 만들지 않으려면 (건강 경고가 표시되어야 함) https://help.ubuntu.com/community/Grub2/Installing#Reinstalling_GRUB_2에 설명 된대로 CD / USB 스틱을 사용 하십시오.
답변
제 경우에는 grub이 설치 한 UUID가 현재 UUID와 다릅니다 (sudo blkid
Windows 파티션에 대한 ) (grub.cfg에서 확인)와 다릅니다. 여러 가지 방법으로 실패했습니다. 마지막으로 파일 관리자로 Windows 파티션을 마운트하고 update-grub
다시 실행 했으며 UUID가 grub.cfg에서 성공적으로 업데이트되었습니다.
답변
fstab 및 grub을 편집하는 대신 내가 한 일 :
- 우분투를 새로 설치할 때 해당 파일을 백업했습니다.
tar -cvf /somedir/boot.tar /etc/fstab /boot/grub/grub.cfg
)를 - 백업에서 복원 (
tar -xvpf /mnt/remotebk/full.tar
) - 복원 된 fstab 파일 복사 (
cp /etc/fstab /somedir/fstab.restored
) - 새로 설치 한 부팅 파일을 복원합니다 (
tar -xvpf /somedir/boot.tar -C /
). - 재부팅하고 작동했습니다.
나는 vmware 가상 머신을 사용하고 있습니다.이 프로세스를 수행하여 하나의 Linux 서버를 한 호스트에서 다른 호스트로 옮겼습니다.